Title: CORBA (Common Object Request Broker Architecture)
1CORBA(Common Object Request Broker Architecture)
2Current problems in computing
- customers do not want to create one monolithic
application - e.g., one large C program
- want to break up the job into several
sub-problems and create (or implement) solutions
for each sub-problem separately - easier to concentrate on while developing the
solutions and also easier to modify a solution - these solutions will work correctly only if they
are built on standard interfaces - failure to create such a standard interface is
known as interoperability problem
3Three levels of interoperability
- lowest level
- through emails and file transfers
- each site has its own platform, method and file
structure but the communication is through simple
stream of text - middle level
- web browsing
- scan through documents in other sites but agreed
upon a common language such as HTML - upper level
- programs in different sites interacting with each
other - may be written in different languages and run on
different platforms - how is this possible? through CORBA
4CORBA solution
- provides a common infrastructure through which
objects at different sites communicate with each
other - classes that create objects are not part of the
infrastructure and they reside in the same site
where the objects reside - both classes and objects need to be in the same
site because - objects do not carry method definitions with
them these are available in the classes - classes do not communicate with each other only
objects communicate with each other
5Network protocol between Object A and CORBA
Interface of A
Object A
CORBA
Interface of B
Network protocol between Object B and CORBA
Object B
6CORBA solution to Interoperability
- each object declares its interface in a format
known to the CORBA infrastructure - every message sent from a sender to a receiver is
converted into a standard format at the junction
between the objects interface and CORBA
infrastructure - The CORBA infrastructure maintains the format,
the list of clients (senders and receivers), and
any information that needs to be transparent to
clients such as - clients identifications
- clients interfaces
7Object handles
- each client object has a unique identifier known
as a handle - this is not (necessarily) an address such as URL
- it can be in any format as designated by the
CORBA infrastructure - advantage when the object moves from one
location to another (happens often), the handle
also moves with it and so the other objects do
not need to worry about the physical location of
the object - CORBA infrastructure is the only one who need to
be informed about the physical location of an
object
8What is required on part of CORBA?
- a standard environment that provides the basic
services - transactions between objects including formats
for message communication - security
- event-handling
- persistence
- objects must stay forever cant disappear as
soon as a transaction is performed - a software distribution technology to enable a
multi-platform software marketplace - the CORBA Component Model (CCM) provides these
two facilities
9OMA The application integrator of CORBA
- basic CORBA infrastructure only connects objects
together, and not the applications - CORBA infrastructure does not know anything about
the applications for which the objects are
created, and does not know anything about the
applications in which these objects can be used - solution There is an architecture called OMA
(Object Management Architecture) that takes care
of mapping between objects and applications
10Application Objects
CORBA facilities
Vertical CORBA facilities
Manufacturing
Telecom
E-Commerce
Transportation
Business Objects
HealthCare
Finance/Insurance
Life Science
More
Horizontal CORBA facilities
Internationalization
Time
Agent facility
More
Object Request Brokers
Naming, Trader
Events, Notification
Transactions
Security
Persistent State
Property
More
CORBA services
11CORBA services
- provide the services that any object needs to
communicate through the CORBA infrastructure - unique naming for objects and methods
- event handling
- for the basic execution paradigm
- persistent state
- To store the objects forever
- transaction manager
- To handle transaction issues such as implementing
protocols - security handler
- more
12CORBA services (continued)
- lowest level communication primitives
- includes
- OLTP (OnLine Transaction Processing) for business
applications - an object trader service (a kind of yellow pages)
13CORBA facilities
- provide services that are common for several
applications - example PIDS (patient identifier services) is an
application package that provides services to
health care services all health care
applications will use the common format to
identify patients - each kind of applications has its own CORBA
facilities package - see the diagram for the OMA
14Horizontal and Vertical facilities
- vertical CORBA facilities are packages that are
common to a small subset of applications - Health care, E-Commerce, Insurance
- horizontal CORBA facilities are packages that are
common to several (a fairly large set of)
applications - print facilities, timing, international
standards, - together, these two facilities provide packages
that are common for almost every application - application objects simply write the client code
to use these facilities
15Benefits of CORBA
- developers can make use of all platforms and
languages that they bought/use - because CORBA virtually provides an interface for
every platform and language, including
traditional languages such as COBOL and Ada
although these languages seem to disappear - no need to change a platform or a language for a
different application - tools and software that were developed and are
running on these platforms will continue to use
CORBA facilities and services
16Benefits of CORBA (continued)
- maximizes programmers productivity
- programmers need to write only the application
code that makes use of CORBA objects - they simply use the standard interface to
communicate with CORBA infrastructure - learning requirement CORBA interface format
- IDL (Interface Definition Language)
- code reuse is achieved to the maximum extent
- both the application code as well as tools can be
declared as CORBA objects
17A brief note about OMG
- OMG stands for Object Management Group
- a consortium of companies involved in common
computing - over 1000 companies around the world at present
in the consortium - software vendors, consulting companies, product
and tool developers, interface developers, - OMG does not develop software it only generates
interface specifications - OMG meets 5 times a year to administer the
interfaces and CORBA products
18Reference
- Jon Siegel, CORBA 3 Fundamentals and
Programming (Second Edition), John Wiley Sons,
2000, ISBN 0-471-29518-3 - Reaz Hoque, CORBA for Real Programmers, Morgan
Kaufmann, 1999, ISBN 0-12-355590-6
19Glossary
- CORBA
- Common Object Request Broker Architecture
- ORB
- Object Request Broker
- OMG
- Object Management Group
- A technical consortium responsible for
registering and maintaining CORBA objects and
services - OMA
- Object Management Architecture
- IDL
- Interface Definition Language
20Glossary (continued)
- CCM
- The CORBA Component Model