Presentation is loading. Please wait.

Presentation is loading. Please wait.

CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.

Similar presentations


Presentation on theme: "CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls."— Presentation transcript:

1 CORBA Common Object Request Broker Architecture

2 Basic Architecture A distributed objects architecture. Logically, an object client makes method calls to a distributed object.

3 Basic Architecture An object client interfaces with a proxy-(a stub). The object implementation interfaces with the server side proxy-(a skeleton).

4 Basic Architecture Unlike the java RMI an additional layer of software known as Object Request Broker(ORB) is required.

5 Basic Architecture NAMING SERVICE Object Client Object Implementation StubSkeleton ORB Network Operating System Operating System Naming Lookup

6 Basic Architecture On the client side, the ORB layer software serves as intermediary between the stub and the client system’s network and operating system software

7 Basic Architecture On the server side, the ORB layer software serves as an intermediary between the skeleton and the server system’s network and operating system software.

8 Basic Architecture Using a common protocol, the ORB layers on the two sides are able to resolve the differences in the programming languages of the objects the differences in the platforms

9 Basic Architecture A Naming service is used by the client to locate an object.

10 The CORBA Object Interface A distributed object is defined just as interface defined in java RMI. CORBA is language independent, the interface is also defined using the IDL syntax. IDL is the language of CORBA.

11 The CORBA Object Interface The syntax of corba IDL is similar to that of C++ and JAVA. OMG has standard language mappings from IDL to specific language.  Ex: IDL-to-JAVA

12 The CORBA Object Interface Example: An object client is a program written in java while the object implementation is written in c++.

13 The CORBA Object Interface Object Client written in JAVA Stub in java generated by compiling the CORBA object interface ORB written in java Object Implementation written in C++ Skeleton in C++ generated by compiling the CORBA object interface ORB written in C++

14 Inter-ORB Protocols To allow ORB’s to be interoperable, the OMG specified a protocol known as the General Inter-ORB Protocol(GIOP). IIOP=GIOP+TCP/IP Internet Inter ORB Protocol.

15 Inter-ORB Protocols IIOP Specification includes:  Transport Management Requirements  Definition of Common data representation  Message formats

16 Transport Management req….. These requirements specify  what is needed for connection and disconnection  The roles that the object client and object servers play in making and unmaking connections

17 Common Data representation A coding scheme needs to be defined for marshalling and unmarshalling data of each IDL data type.

18 Message Formats Messages allow clients to send requests to object servers and receive replies. A Client uses a request message to invoke a method declared in a CORBA interface for an object and receives a reply message from the server.

19 Inter-ORB Protocols CORBA OBJECT CORBA OBJECT CORBA OBJECT ORB internet

20 Object Servers & Object Clients Object server, exports a distributed object to the registry Object client, retrieves a reference to a distributed object from naming or directory service and invokes the methods.

21 CORBA Object References It is an abstract entity mapped to a language-specific object reference by an ORB, in a representation chosen by the developer of the ORB.

22 CORBA Object References OMG specifies a protocol for the abstract CORBA object reference object, known as the Interoperable Object Reference(IOR) protocol.

23 CORBA Object References An ORB that is compatible with the IOR protocol will allow an object reference to be registered with and retrieved from any IOR-complaint directory service.

24 CORBA Object References The object references represented in this protocol are called Interoperable Object References(IORs).

25 CORBA Object References IOR String contains encoding information such as:  The type of object  The host where the object can be found  The port no of the server for that object  An object key, a string of bytes identifying the object.

26 CORBA Object References The Object key is used by an object server to locate the object. IOR String looks like this  IOR:0000000000a3423dfg23423432678s dfsa345bgbfghtyutyu567564574hvbdrt63 53456546rfnghk6i68768uhm78985675hjk j6l456u5o9ukln5ljkljkljklj4564457646jkljkh jkghjg5345353.

27 CORBA Object References The representation consists of the character prefix “IOR”: followed by a series of hexadecimal numeric characters, each character representing 4 bits of binary data in the IOR.

28 CORBA Naming Service The Naming Service Permits ORB- based clients to obtain references to objects they wish to use. It allows names to be associated with object references.

29 CORBA Naming Service Clients may query a naming service using a predetermined name to obtain the associated object reference. To Export a distributed object, a CORBA object server contacts a Naming Service to bind a symbolic name to the object

30 CORBA Naming Service The Naming Service maintains a database of names and the objects associated with the names. To obtain a reference to the object, an object client requests that the Naming Service look up the object associated with the name.

31 CORBA Naming Service Naming context1 Naming context3Naming context2 Naming Context 4Naming Context 5 Object Name1Object Name2

32 CORBA Naming Service The Syntax for Object Naming is:...

33 CORBA Naming Service STORE CLOTH WOOD WOMENMENCHAIR

34 Interoperable Naming Service It allows applications to share a common initial naming context and provide a URL to access a CORBA object.

35 Interoperable Naming Service Example: Cornaname::acme.com:2050#store/clo th/women can be used to access the object named store/clothing/women from the naming service running at port 2050 of the host with the domain name acme.com

36 CORBA Object Services Concurrency Service (concurrency control) Event Service(Event Synchronization) Logging Service(Event Logging) Naming Service(an object directory) Scheduling Service(event scheduling)

37 CORBA Object Services Security Service(security management) Trading Service(Locating service by type instead of name) Notification Service(for event notification)

38 Object Adapters A software component in addition to the skeleton was added to the server side: an object adapter An object adapter simplifies the responsibilities of an ORB by assisting an ORB in delivering a client request to object implementation

39 Object Adapters When a ORB receives client’s request, it locates the object adapter associated with the object and forwards the request to the adapter. The adapter interacts with the object implementation’s skeleton, which performs data marshalling and invokes the appropriate method in the object.

40 Object Adapters Types of Adapters  BOA(Basic Object Adapter)  POA(Portable Object Adapter)

41 POA The POA is a particular type of object adapter that is defined by the CORBA specification. An object adapter that is a POA enables an object implementation to function with different ORBs.

42 POA Distributed Object Implementation Object Adapter Server-side ORB

43 Java IDL Provides a number of packages containing interfaces and classes for CORBA support.  Package.org.omg.CORBA Contains interfaces and classes that provide the mapping of the OMG CORBA APIs to the java programming language.

44 Java IDL Package.org.omg.cosnaming contains interfaces and classes that provide the Naming Service for java IDL.

45 Java IDL Org.omg.CORBA.ORB contains interfaces and classes that provide APIs for the Object Request Broker.

46 CORBA APPLICATION CORBA interface A Server A Client

47

48 CORBA ARCHITECTURE The advent of IIOP makes the entire INTERNET as transmission medium for transmitting objects.

49 CORBA ARCHITECTURE One Naming Service Server Application for the entire INTERNET enables to write applications without any conflict

50 CORBA ARCHITECTURE A Technology for creating a distributed applications independent of platforms and operating systems and environments.


Download ppt "CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls."

Similar presentations


Ads by Google