Session 9 - Middleware Corba

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

App App App

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

Middleware systems are comprised of abstractions


and services to facilitate the design, development,
integration and deployment of distributed
applications in heterogeneous networking
environments.

7
8
Middleware

Middleware is a type of computer


Middleware is connectivity software that provides services to
software applications beyond those
software that provides a available from the operating system.
mechanism for processes to It can be described as "software
interact with other processes glue“.
running on multiple networked Middleware is software that lies
machines. between an operating system and the
applications running on it.
9
Middleware Metaphorically
Host 1 Host 2

Distributed application Distributed application

Middleware Middleware

Operating system Operating system

Network
10
What & Where is Middleware ?

Programming
Databases
Languages
Middleware Distributed
Operating Systems Systems
Systems
Networking

• middleware is dispersed among many disciplines


11
14
• There are four basic types of middleware
• Transaction Processing Monitor (TP)
Types of • Remote Procedure Call (RPC)
• Message-Oriented Middleware (MOM)
Middleware • Object Request Broker (ORB)

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

• The Common Object Request Broker Architecture (CORBA) is a standard


architecture for a distributed objects system.

• CORBA is designed to allow distributed objects to interoperate in a heterogenous


environment, where objects can be implemented in different programming
language and/or deployed on different platforms

• CORBA was developed by the Object Management Group (OMG), an industrial


consortium.
20
Remote Procedure Call (RPC)

21
22
23
CORBA is language and platform independent

24
CORBA Architecture

(Interface
Definition
Language)

(Internet Inter ORB Protocol)

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

• Provides data marshaling and un-marshalling to send and receive data


with remote or local machine applications
For example, the CORBA model automatically formats the message as
needed.

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.

A server provides services by registering and


publishing their interfaces with the broker
CORBA and clients can request the services from the
broker statically or dynamically by look-up.

CORBA (Common Object Request Broker


Architecture) is a good implementation
example of the broker architecture.

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

You might also like