1 / 17

CORBA: Object Adapter, Services, Inter-ORB Protocols

CORBA: Object Adapter, Services, Inter-ORB Protocols. - Balaprasuna Chennupati. CORBA. Client Application. Server Application. Static Stub. ORB Interface. ORB Interface. Sktn. DSI. OA. DII. n/w. Server ORB Core. Client ORB Core. IDL Dependant. Same for all applications.

Download Presentation

CORBA: Object Adapter, Services, Inter-ORB Protocols

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CORBA: Object Adapter, Services, Inter-ORB Protocols - Balaprasuna Chennupati

  2. CORBA Client Application Server Application Static Stub ORB Interface ORB Interface Sktn DSI OA DII n/w Server ORB Core Client ORB Core IDL Dependant Same for all applications Multiple OAs

  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 interface A interface X Object Adapter Caller Object Caller expects interface A Object Adapter adapts interface X to 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 Activated Servant Incarnated Object Created Object Destroyed Object Non-existent Object Non-existent Servant Etherealized Object Deactivated

  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 pull push Event Channel push pull Event Suppliers Event Consumers

  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

More Related