Download presentation
Presentation is loading. Please wait.
Published byIra Short Modified over 8 years ago
1
CORBA: Object Adapter, Services, Inter-ORB Protocols - Balaprasuna Chennupati
2
CORBA Static Stub Multiple OAsSame for all applications IDL Dependant Client ApplicationServer Application Client ORB Core Server ORB Core Sktn DII DSI ORB Interface ORB Interface OA n/w
3
Object Adapter Glue between CORBA object implementation and the ORB Adapts the interface of an object to the interface expected by the caller Caller can invoke requests on an object without knowing it’s true interface Delegation
4
Object Adapter Object Adapter Caller Object Object Adapter adapts interface X to interface A interface A interface X Caller expects interface A Object provides interface X
5
Object Adapter Responsibilities –Object registration –Object reference generation –Server process activation –Object activation –Request demultiplexiing –Object upcalls
6
Object Adapter Without OAs, –No diverse object implementation styles –Unnecessary size and complexity of ORB Need for Multiple OAs –A different OA for each programming language –Example: C object pointers, whereas, C++ object object adapter base class Basic Object Adapter (BOA) –Single OA… (hence, obsolete)
7
CORBA object vs. Servant Object Non-existent Object Deactivated Object Activated Servant Etherealized Servant Incarnated Object Created Object Destroyed
8
Portable Object Adapter (POA) Allows servants to be portable among ORBs by different vendors Allows multiple POA instances to support multiple servant implementation styles Activation styles: –Explicit activation (direct calls on the POA) –On-demand activation (servant manager) –Implicit activation (invoke _this method) –Default servant
9
Naming Service Provides a mapping from names to object references Access to the initial references in an application Clients can deal with meaningful names instead of object references By changing the value of a reference, clients can use a different implementation without changing the source code
10
Trading Service Dynamic object discovery facility Allows clients to locate objects with help of a trader Trader store object reference and the description of the service provided by the object Clients perform a dynamic lookup of services based on queries over the service descriptors
11
Event Service Asynchronous request invocations Decoupled communication between objects Push model vs. Pull model Event Consumers Event Suppliers Event Channel pull push
12
Transaction Service To create a transaction: transaction factory: create() “control” object “terminator” object “coordinator” object
13
Inter-ORB Protocols No interoperability before CORBA 2.0 –Lack of particular data formats or protocols Direct ORB-to-ORB interoperability –When two ORBs reside in the same domain (understand same object references, same IDL type system, …) Bridge based interoperability –When ORBs reside in different domains –Map ORB-specific info from one ORB domain to the other
14
Inter-ORB Protocols General Inter-ORB Protocol (GIOP) –Over any connection-oriented transport –Simple and easy to implement, Reasonable scalability and performance Transport assumptions –Assumptions about the underlying transport layer Common Data Representation (CDR) –Format for each IDL data type Message formats
15
Inter-ORB Protocols Internet Inter-ORB Protocol (IIOP) –Specifies how GIOP is implemented over TCP/IP Interoperable Object Reference (IOR) –Standard object reference format –Stores information needed to locate and communicate with an object over one or more protocols –Ex: IOR containing IIOP information stores the Hostname & TCP/IP Port number
16
References IEEE: Steve Vinoski; CORBA: Integrating diverse applications within distributed heterogeneous environments Michi Henning, Steve Vinoski; Advanced CORBA programming with C++ CORBA – An industrial approach to open distributed computing
17
Thank You
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.