Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
Outline : definition Introduction To CORBA Problem Distributed System What is the corba? Introduction 2 / 30
Outline (contd.) : Interface Definition Language (IDL) Language Mappings 3 / 30 Stubs and Skeletons Object Request Broker (ORB) the component of corba Introduction To CORBA
Object Adapters Outline (contd.) : 4 / 30 Inter-ORB Protocols Conclusion Introduction To CORBA
Definition : Distributed Systems : Andrew S. Tanenbaum & Maartin Van Steen : A distributed system is a collection of independent computers that appears to its user as a single coherent system. George Coulouris & Jean Dollimore & Tim Kindberg : A Distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. 5 / 30 Introduction To CORBA
Distributed Systems (contd.): 6 / 30 Some of Problems : Absence of global shared memory Data Can’t Stored & All the information has to pass through messages. Absence of Global Clock it becomes difficult to synchronize between components that are remotely located. Introduction To CORBA
Heterogeneity of the components. Distributed Systems (contd.): Components can be of different make or following different protocols and standards. 7 / 30 Introduction To CORBA
What is the CORBA : Is abbreviation for Common Object Request Broker Architecture. 8 / 30 we need some architecture that can provide a backbone structure for a distributed system. CORBA is One of the most common Architecture for this purpose. Introduction To CORBA
Definition : What is the CORBA (contd.): George Coulouris & Jean Dollimore & Tim Kindberg : CORBA IS a middleware design that allows application programs to communicate with one another irrespective of their programming language, their hardware their software platforms, the network they communicate over and their implementation. Thus, CORBA is an architecture for heterogenic system which allows application programs (running on same processor or on different processor) to communicate with each other. 9 / 30 Introduction To CORBA
What is the CORBA (contd.): Developed the CORBA specification By OMG Group. Objects in CORBA are 2 type : 10 / 30 the OMG Group is Industry Consortium with over 800 member companies formed to develop a distributed object standard. Client Server Introduction To CORBA
The CORBA Objects: Client Object: 11 / 30 Requesting an service from Server Object. Server Object: Receive Request from Client Then Make a Response for it. Introduction To CORBA
The CORBA Objects (contd.): 12 / 30 Server ObjectClient Object Request Service Response Introduction To CORBA
Object Request Broker (ORB): The object request broker (ORB) component is the backbone of communication between the clients and the objects. 13 / 30 The application utilizes the components of ORB that include : Object Interface : are the Domain Independent Interface used by many Distributed Object Programs. Introduction To CORBA
Object Request Broker (contd): 14 / 30 Common Facilities : They serve end user applications. Domain Interface : Is oriented towards specific application. Application Interface : These are interfaces developed specifically for a given application. Introduction To CORBA
Object Request Broker (contd): 15 / 30 Client ORB Object Stub Client Stub Figure 2 : ORB mediates transfer between client program and server object Introduction To CORBA
Interface Definition Language (IDL) : To call a member function on a CORBA object the client needs only the object’s IDL. Client need not know the object’s implementation, location or operating system on which the object runs. An object’s interface specifies the operations and types that the object supports and thus defines the requests that can be made on the object. 16 / 30 Introduction To CORBA
Interface Definition Language (contd.) : Interfaces are similar to classes in C++ and interfaces in Java An example OMG IDL interface definition is: // OMG IDL interface Factory { Object create(); }; 17 / 30 IDL is just a declarative language, not a full-fledged programming language Introduction To CORBA
Stubs and Skeleton : A stub is a mechanism that effectively creates and issues requests on behalf of a client 18 / 30 a skeleton is a mechanism that delivers requests to the CORBA object implementation. Since they are translated directly from OMG IDL specifications, stubs and skeletons are normally interface-specific. Introduction To CORBA
Object Adapters (OA) : Object adapters represent another aspect of the effort to keep the ORB as simple as possible. The Object Adapter serves as the glue between CORBA object implementations. 19 / 30 the ORB itself an object adapter is an object that adapts the interface of another object to the interface expected by a caller. Introduction To CORBA
Object Adapters (contd.): 20 / 30 Figure 3 : Basic Object Adepter client program call language mapping operation signatures Location Service ORB ORB Operations Basic Object Adapter Multithreading StubSkeleton language mapping entry points method object implementation Transport Layer Introduction To CORBA
Inter- ORB Protocol : CORBA 2.0 introduced a general ORB interoperability architecture that provides for direct ORB-to-ORB interoperability & bridge-based interoperability. Direct interoperability is possible when two ORBs reside in the same domain i.e. they understand the same object references and IDL type system, and perhaps share the same security information. 21 / 30 Bridge-based interoperability is necessary when ORBs from separate domains must communicate. Introduction To CORBA
Inter- ORB Protocol (contd.): The general ORB interoperability architecture is based on the General Inter-ORB Protocol (GIOP). GIOP is designed to be simple and easy to implement while still allowing for reasonable scalability and performance. 22 / 30 IIOP(Internet Inter- ORB) request and replies to the internet’s Transmission Control Protocol (TCP) layer each computer. Introduction To CORBA
Inter- ORB Protocol (contd.): 23 / 30 Clientobject Clientobject stubSkel StubSkel ORB 1 ORB 2 IIOP Protocol Figure 4: Interoperability Uses ORB-ORB Communication Introduction To CORBA
Language Mapping : language mappings determine how OMG IDL features are mapped to the facilities of a given programming language. 24 / 30 OMG has standardized language mappings for various languages like C/C++, SmallTalk, ADA, UNIX, COBOL, Java, etc... Introduction To CORBA
Advantages of CORBA : CORBA supports many existing languages. CORBA supports both distribution and Object Orientation. CORBA provides a high degree of interoperability. CORBA is an industry standard. 25 / 30 Introduction To CORBA
Conclusion : an problem in Distributed System is Heterogeneity of the components OMG Group Defined a standard that called CORBA (Common Object Request Broker) CORBA solved Heterogeneity problem in Distributed System 26 / 30 Introduction To CORBA
Conclusion (contd.) : The Components of CORBA that where detailed : ORB (Object Request Broker) IDL (Interface Definition Language ) Stubs and Skeleton Object Adepters 27 / 30 Introduction To CORBA
Conclusion (contd.) : Inter- ORB Protocol Language Mapping 28 / 30 Introduction To CORBA
Reference : [2] Alex Chaffee, Bruce Martin.”introduction to corba”,jGuru Training By Magelang Institue. [3] Belinda Fairthorne,Bob Blakley.”Introduction to corba”. [1] accessed an 2009/30/20 29 / 30 Introduction To CORBA
Reference : [4] advantages of CORBA. ide/cgCORBAConcepts7.html#309117,last accessed an 2010/01/02 [5] WHY USE CORBA. accessed an 2009/12/15 30 / 30 Introduction To CORBA
Questions Introduction To CORBA