You are on page 1of 18

CORBA

MIDDLEWARE
SALEHA ZAHOOR
WHAT IS MIDDLEWARE?

• middleware infrastructure that provides software services for developing


and deploying high-performance parallel programming models and
distributed applications on clusters and networked heterogeneous systems. 
• Middleware in the context of distributed applications is software that
provides services beyond those provided by the operating system to enable
the various components of a distributed system to communicate and
manage data. Middleware supports and simplifies complex 
distributed applications.
• Provides high levl of abstraction.
• Hide some implementation details.
ORIGINS

• Middleware is a relatively new addition to the computing landscape. It


gained popularity in the 1980s as a solution to the problem of how to link
newer applications to older legacy systems, although the term had been in
use since 1968.[2] It also facilitated distributed processing, the connection of
multiple applications to create a larger application, usually over a network.
PROBLEM IN PDC

• PROBLEM:
• Different operating systems
• Different Programming languages
• Different hardware platforms
WHAT IS CORBA?

• Common Object Request Broker Architecture (CORBA)


• It is standard developed by the Object Management Group (OMG)
• Both International Organization for Standardization (ISO) and X/Open have sanctioned
CORBA as the standard architecture for distributed objects .
• It allows programs at different locations and developed by different vendors to communicate
in a network through an "interface broker." 
• CORBA provide interoperability among distributed objects for the purpose of communication.
• CORBA allows the separation of definition and implementation of interfaces.
• CORBA is the world's leading middleware solution enabling the exchange of information,
independent of hardware platforms, programming languages, and operating systems. 
CORBA

• CORBA is the world's leading middleware solution enabling the exchange of


information, independent of hardware platforms, programming languages,
and operating systems. CORBA is essentially a design specification for an
Object Request Broker (ORB), where an ORB provides the mechanism
required for distributed objects to communicate with one another, whether
locally or on remote devices, written in different languages, or at different
locations on a network.
CORBA INTERFACE DEFINITION
LANGUAGE
• The CORBA Interface Definition Language, or IDL, allows the development
of language and location-independent interfaces to distributed objects.
Using CORBA, application components can communicate with one another
no matter where they are located, or who has designed them. CORBA
provides the location transparency to be able to execute these applications.
SOFTWARE-BASED
COMMUNICATIONS
• CORBA is often described as a "software bus" because it is a software-based
communications interface through which objects are located and accessed.
 ESSENTIAL CONCEPT IN CORBA
ORB

• ORB provides the communication interface between client and


server(across the distributed platform).
• In CORBA, the Object Request Broker or ORB takes care of all of the details
involved in routing a request from client to object, and 
routing the response to its destination. 
•  Having ORB support in a network means that a client program can request
a service without having to understand where the server is in a distributed
network or exactly what the interface to the server program looks like.
PARTS OF AN ORB
PARTS OF AN ORB

• Object Implementation:
Some Objects require activation others don’t

• ORB INTERFACE:
Client and server can communicate through ORB INTERFACE provided by orb core.
• POA:
Portable object adapter.
Present on object implementation(server) side.
Helps the ORB to operate with different types of objects.
PARTS OF AN ORB

• Interface Repository:
Contain the information regarding the interface and manage them on client side.
how to locate and communicate with a requested component
• Implementation repository:
Present on server side.
Contain all information regarding object implementation.
Provide a persistent record of how to activate and invoke operations on object
implementation.
Provides help in the implementation of remote objects
PARTS OF AN ORB

• Dynamic invocation interface:


Present on client side.
Discover interfaces by using interface repository.
Use interface repository at run time , don’t need to be precompiled.
Uses to make remote invocations.
• Dynamic skeleton Interface:
Allows an ORB and object adaptor to deliver request to an object on server
side.
SERVICES OF ORB

• On the client side:


It provides interface definitions.
Naming service, which allows a component to find another component by name and also
supports existing naming systems or directories.

• On the server side:


in order to conserve server resources, the ORB de-activates inactive objects, and re-activates
them whenever a request comes in. CORBA supports a number of activation patterns, so that
different object or component types can activate and de-activate in the way that uses
resources best. 
OBJECTIVE OF CORBA

• Language Independency
• Platform Independent
we will achieve these objectives with the help of IDL and ORB architecture.
PROTOCOL USED IN ORB

• IIOP:
Internet Inter-ORB Protocol
makes it possible for distributed programs written in different programming
languages to communicate over the Internet.
passes requests or receives replies through the Internet's transport layer
using the Transmission Control Protocol (TCP).

You might also like