10-09-2013, 02:13 PM
Common Object Request Broker Architecture (CORBA)
Common Object Request .ppt (Size: 314.5 KB / Downloads: 16)
Object Management Group
OMG creates specifications, not implementations.
Some Key Specifications:
OMA: Object Management Architecture.
CORBA: Common Object Request Broker Architecture.
OMA Object Model
Objects provide services.
Clients makes a request to an object for a service.
Client doesn’t need to know where the object is, or anything about how the object is implemented!
Object interface must be known (public) - provides signature for each object method.
Accessing Remote Methods
Clients can call remote methods in 2 ways:
Static Invocation: using stubs built at compile time (just like with RPC).
Dynamic Invocation: actual method call is created on the fly. It is possible for a client to discover new objects at run time and access the object methods.
What is the purpose / goals of CORBA?
Enable the building of plug and play component software environment
Enable the development of portable, object oriented, interoperable code that is hardware, operating system, network, and programming language independent
What is the purpose / goals of CORBA?
Enable the building of plug and play component software environment
Enable the development of portable, object oriented, interoperable code that is hardware, operating system, network, and programming language independent
Interface Definition Language (IDL)
Language Independence
Defines Object Interfaces
Hides underlying object implementation
Language mappings exist for C, C++, Java, Cobol, Smalltalk, and Ada
Interface Definition Language
IDL is the language used to describe object interfaces, the same basic idea as a protocol definition file for RPC.
IDL is a declarative language, it only describes object interfaces.
IDL is language neutral - there are mappings for many object oriented languages (C++, Smalltalk, Java).
Object Request Broker
The ORB is an abstract entity that acts as the middleman in all remote method invocations.
The ORB finds a server that can handle a method invocation, passes the request to the server, receives the response and forwards it to the client.
The functions handled by an ORB are actually implemented in both client and server.
Interface Repository
An IR provides persistent storage of IDL interface declarations.
IR serves 2 purposes:
tool for programmers. Basically a database of object interfaces and inheritance hierarchy.
Support dynamic invocation interface (DII).
Object Adapters
Object Adapters provide a layer between object method requests and the servers that service the requests. Functions include:
generation of object references
starting up the actual server program(s)
handling security
CORBA Services
Provide basic infrastructure functionality
Currently there are 15 defined services
Naming - maps human names to object references (White Pages)
Event - provides both a push and pull event model
Object Trader - discover objects based on the services they provide (Yellow Pages)
Transactions – allows distributed objects to participate in atomic transactions