Presentation is loading. Please wait.

Presentation is loading. Please wait.

Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.

Similar presentations

Presentation on theme: "Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins."— Presentation transcript:

1 Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins

2 Introduction What is the purpose / goals of CORBA? How to meet goals? Example Conclusion

3 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

4 How to meet goals? Interface Definition Language (IDL) Object Request Broker (ORB)

5 Interface Definition Language (IDL) Language Independence Defines Object Interfaces Hides underlying object implementation Language mappings exist for C, C++, Java, Cobol, Smalltalk, and Ada

6 Interface Definition Language (IDL) module { interface [:inheritance] { ; [ ] ( ) [raises exception][context]; } Defines a CORBA object Defines a method Defines a container (namespace)

7 IDL Compiler IDL Definitions IDL Compiler StubsSkeletons 1.Define objects using IDL 2.Run IDL file through IDL compiler 3.Compiler uses language mappings to generate programming language specific stubs and skeletons

8 Object Request Broker (ORB) What is it? Architecture Request Handling Scenario CORBA Services CORBA Facilities

9 Application What is it? Implementation of CORBA specification Middleware product Conceptual Software Bus Hides location and implementation details about objects Hardware OS Drivers Middleware

10 Client / Object Interaction ClientObj Impl IDL ORB ClientObj Impl IDL ORB Network TCP/IPOSIATMIPXTCP/IPOSIATMIPX

11 ORB Architecture Interface Repository IDL Compiler Implementation Repository Client Object (servant) ORB Core IDL Skeleton DSI ORB Interface IDL Stub DII OBJ Ref GIOP/IOOP Object Adapter

12 Interface Repository Object Adapter Database of object definitions Contains metadata about each object Allows for introspection Allows clients to discover interfaces at run-time Used in support of dynamic invocations

13 IDL Compiler Object Adapter Compiles IDL definition into stubs and skeletons Uses OMG specified language mappings to translate IDL into a language specific implementation

14 Implementation Repository Object Adapter Contains information that allows the ORB to locate and activate object implementations Provides information about the classes a server supports, the objects that are instantiated, and their IDs

15 ORB Core GIOP/IOOP Object Adapter Provides mechanism for transparently communicating client requests to target object implementations Makes client requests appear to be local procedure calls GIOP – General Inter-ORB Protocol IIOP – Internet Inter-ORB Protocol

16 ORB Interface Client Object (servant) ORB Interface Object Adapter Provides helper functions Converting object references to strings Creating argument lists for requests made through DII

17 IDL Stub Static invocation interface (SII) Marshals application data into a common packet-level representation –Network byte order (little-endian or big- endian) –Size of data types Client IDL Stub

18 IDL Skeleton Object (servant) IDL Skeleton Demarshals the packet-level representation back into typed data that is meaningful to an application –Network byte order (little-endian or big- endian) –Size of data types

19 Dynamic Invocation Interface Client DII Object Adapter Dynamically issue requests to objects without requiring IDL stubs to be linked in Clients discover interfaces at run- time and learn how to call them Steps: 1.Obtain interface name 2.Obtain method description (from interface repository) 3.Create argument list 4.Create request 5.Invoke request

20 Dynamic Skeleton Interface Object (servant) DSI Object Adapter Server side analogue to DII Allows an ORB to deliver requests to an object implementation that does not have compile-time knowledge of the type of object it is implementing

21 Object Adapter Object (servant) IDL Skeleton DSI Object Adapter Accept requests for service on behalf of the server’s objects Demultiplexes requests to the correct servant Dispatches the appropriate operation upcall on the servant Registers classes it supports and their run-time instances with the implementation repository Portable Object Adapter (POA) policies control object behavior (ie. LifespanPolicy) Instance of the adapter design pattern

22 Object Reference Client Object (servant) OBJ Ref Object Adapter Interoperable Object Reference (IOR) Uniquely identifies each object Contents Type Name (repository ID) Protocol and Address Details Object Key (object adaptor name, object name)

23 Request Handling ORB POA Server Application Servants POA Incoming Request

24 Scenario Interface Repository IDL Compiler Implementation Repository Client Object (servant) OBJ Ref ORB Core GIOP/IOOP IDL Stub DII Object Adapter ORB Interface IDL Skeleton DSI

25 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

26 CORBA Facilities Provide higher-level functionality at the application level Provide standard components that can be used “off-the-shelf” Two Categories –Horizontal – user interface, information management, systems management, and task management –Vertical – domain based, telecommunications, financial services

27 Example

28 Conclusion Distributed object, component architecture Real world examples of design patterns –TAO – freeware ORB Adapter, Factory, Reactor, Strategy Plugable Transports CORBA Beans

29 References OMG/arch2.htm Communications of the ACM, October 1998 Jeri Edwards, Dan Harkey, and Robert Orfali. Instant CORBA. New York: Wiley Computer Publishing, 1997.

Download ppt "Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins."

Similar presentations

Ads by Google