1 / 50

CORBA

CORBA. C ommon O bject R equest B roker A rchitecture. Basic Architecture. A distributed objects architecture. Logically, an object client makes method calls to a distributed object. Basic Architecture. An object client interfaces with a proxy-(a stub).

mayten
Télécharger la présentation

CORBA

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 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 Naming Lookup Object Implementation Object Client Stub Skeleton ORB ORB Network Network Operating System Operating System

  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 Object Implementation written in C++ Stub in java generated by compiling the CORBA object interface Skeleton in C++ generated by compiling the CORBA object interface ORB written in java 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 ORB 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:0000000000a3423dfg23423432678sdfsa345bgbfghtyutyu567564574hvbdrt6353456546rfnghk6i68768uhm78985675hjkj6l456u5o9ukln5ljkljkljklj4564457646jkljkhjkghjg5345353.

  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 context2 Naming context3 Naming Context 4 Naming Context 5 Object Name1 Object Name2

  32. CORBA Naming Service • The Syntax for Object Naming is: <naming context1>.<naming context2>.<naming context4>.<object name1>

  33. CORBA Naming Service STORE WOOD CLOTH WOMEN MEN CHAIR

  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/cloth/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. CORBA ARCHITECTURE • The advent of IIOP makes the entire INTERNET as transmission medium for transmitting objects.

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

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

More Related