Session 9 - Middleware Corba
Session 9 - Middleware Corba
Session 9 - Middleware Corba
Middleware
OS/hardware
Middleware
Part-1 Part-2
•Middleware •CORBA
Agenda
2
Distributed
Systems
3
4
• A system whose components are located on different
networked computers
• communicate and coordinate their actions by passing
messages to one another.
• Components interact with one another to achieve a common
goal
• E.g. purchasing some item from Amazon.com
• login component
• Search component
• Recommendations
Distributed •
•
Past searches history
Wishlist
Systems •
•
Databases
Content Delivery Networks (CDNs)
• Key Characteristics:
• Scalability (growing without performance loss)
• Software runs in concurrent processes on different
processors
• Availability (relating to lesser downtime)
• Reliability (Multiple points of failure)
5
6
Middleware - Definition
7
8
Middleware
Middleware Middleware
Network
10
What & Where is Middleware ?
Programming
Databases
Languages
Middleware Distributed
Operating Systems Systems
Systems
Networking
15
16
Motivation for Middleware
• New components keep on joining the existing systems and others may be outdated
• organizations still rely on some of their legacy systems
• middleware plays a critical role in integrating these old legacy systems and newly adopted
applications.
• to re-design or re-configure the whole system is not feasible
• Example: Reusing legacy software. Solution is to adopt a common, language-independent,
standard for interconnecting different applications. This standard specifies interfaces and
exchange protocols for communication between applications. These protocols are implemented
by a software layer called a broker, between the applications. The method for integrating a legacy
application is to develop a wrapper, i.e., a piece of software that serves as a bridge between the
application's primitive interface and a new interface that conforms to the selected standard
• Another challenge is heterogeneous nature of applications. Every organization wants to get rid of
this heterogeneity problem and here Middleware comes into the picture.
17
18
19
Distributed Systems lead CORBA
21
22
23
CORBA is language and platform independent
24
CORBA Architecture
(Interface
Definition
Language)
25
Broker
Broker is responsible for coordinating
communication, such as forwarding and
dispatching the results and exceptions
Stub Components
Stubs are generated at the static compilation
time and then deployed to the client side
of Broker
which is used as a proxy for the client Architectural
Skeleton
Skeleton is generated by the service interface
Style
compilation and then deployed to the server
side, which is used as a proxy for the server.
26
Data marshaling and unmarshalling
27
Transporting data over the
network and converting it to its
proper representation on the
Continue target system is called data
marshaling. In many non-CORBA
client/server models, applications
must perform all data marshaling.
28
Client and the server do not interact with
each other directly. Client and server have a
direct connection to its proxy which
communicates with the mediator-broker.
29
The CORBA model allows client applications to
make requests to server applications, and to
receive responses from them without direct
knowledge of the information source or its
location. In a CORBA environment, applications
do not need to include network and operating
system information to communicate; instead,
client and server applications communicate with
ORB the Object Request Broker (ORB).
For example, a banking application could have
objects for customer accounts, and operations for
depositing, withdrawing, and viewing the balance
in the accounts.
30
31
32
Several definitions
♦ Middleware is software glue.
♦ Middleware is the slash in Client/Server
♦ Software that mediates between an application program and a network.
♦ Middleware is computer software that connects software components or applications. It is
used most often to support complex, distributed applications. It includes web servers,
application servers, content management systems, and similar tools that support
application development and delivery. Middleware is especially integral to modern
information technology based on XML, SOAP, Web services, and service-oriented
architecture. It goes on to say that it describes a piece of software that connects two or more
software applications so that they can exchange data.
♦ Middleware is any software that allows other software to interact.
♦ Middleware is sometimes called plumbing because it connects application and passes data
between them.
♦ Middleware is software used for coupling high level system components (application)
with basic system components (data and network)
33