310 likes | 322 Views
This introduction provides an overview of CORBA, exploring its definition, components, and the challenges of distributed systems. It also covers important concepts like Object Request Broker (ORB), Interface Definition Language (IDL), and Object Adapters.
E N D
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour S.khanlarpour@ustmb.ac.ir January 07 2010
Introduction To CORBA Outline : • Introduction • definition • Distributed System • Problem • What is the corba? 2 / 30
Introduction To CORBA Outline (contd.) : • the component of corba • Object Request Broker (ORB) • Interface Definition Language (IDL) • Stubs and Skeletons • Language Mappings 3 / 30
Introduction To CORBA Outline (contd.) : • Object Adapters • Inter-ORB Protocols • Conclusion 4 / 30
Introduction To CORBA Distributed Systems : • Definition : • 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.): • 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 . 6/ 30
Introduction To CORBA Distributed Systems (contd.): • Heterogeneity of the components . • Components can be of different make or following different protocols and standards. 7 / 30
Introduction To CORBA What is theCORBA : • 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 . • Is abbreviation for Common Object Request Broker Architecture. 8/ 30
Introduction To CORBA What is theCORBA (contd.): • Definition : • George Coulouris & Jean Dollimore & Tim Kindberg : CORBA ISa 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 theCORBA (contd.): • Developed the CORBA specification By OMG Group. • the OMG Group isIndustry Consortium with over 800 member companies formed to develop a distributed object standard. • Objects in CORBA are 2 type : • Client • Server 10 / 30
Introduction To CORBA The CORBA Objects: • Client Object: • Requesting an service from Server Object. • Server Object: • Receive Request from Client Then Make a Response for it . 11 / 30
Introduction To CORBA The CORBA Objects (contd.): Client Object Server Object Request Response Service Service 12/ 30
Introduction To CORBA Object Request Broker (ORB): • The object request broker (ORB) component is the backbone of communication between the clients and the objects . • The application utilizes the components of ORB that include : • Object Interface : are the Domain Independent Interface used by many Distributed Object Programs. 13 / 30
Introduction To CORBA Object Request Broker (contd): • 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. 14 / 30
Introduction To CORBA Client Object Object Stub Client Stub ORB Object Request Broker (contd): Figure 2 : ORB mediates transfer between client program and server object 15 / 30
Introduction To CORBA Interface Definition Language (IDL) : • An object’s interfacespecifies the operations and types that the object supports and thus defines the requests that can be made on the object. • 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. 16 / 30
Introduction To CORBA • Interfaces are similar to classes in C++ and interfaces in Java Interface Definition Language (contd.) : • IDL is just a declarative language, not a full-fledged programming language • An example OMG IDL interface definition is: // OMG IDL interface Factory { Object create(); }; 17 / 30
Introduction To CORBA Stubs and Skeleton : • A stub is a mechanism that effectively creates and issues requests on behalf of a client • 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 . 18 / 30
Introduction To CORBA Object Adapters (OA): • The Object Adapter serves as the glue between CORBA object implementations . • Object adapters represent another aspect of the effort to keep the ORB as simple as possible . • the ORB itself an object adapter is an object that adapts the interface of another object to the interface expected by a caller . 19 / 30
Introduction To CORBA objectimplementation client program call method language mapping operation signatures language mapping entry points Stub Skeleton Basic Object Adapter ORB Operations Location Service ORB Transport Layer Multithreading Object Adapters (contd.): Figure 3 : Basic Object Adepter 20 / 30
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 . • Bridge-based interoperability is necessary when ORBs from separate domains must communicate . 21 / 30
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 . • IIOP(Internet Inter- ORB) request and replies to the internet’s Transmission Control Protocol (TCP) layer each computer. 22/ 30
Introduction To CORBA Inter- ORB Protocol (contd.): Client object Client object stub Skel Stub Skel IIOP ORB 1 ORB 2 Protocol Figure 4: Interoperability Uses ORB-ORB Communication 23 / 30
Introduction To CORBA Language Mapping : • language mappings determine how OMG IDL features are mapped to the facilities of a given programming language. • OMG has standardized language mappings for various languages like C/C++, SmallTalk, ADA, UNIX, COBOL, Java, etc... 24 / 30
Introduction To CORBA Advantages of CORBA : • CORBAsupports many existing languages. • CORBAsupports both distribution and Object Orientation. • CORBAprovides a high degree of interoperability. • CORBAis 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 : [1] www.omg.org ,last accessed an 2009/30/20 [2] Alex Chaffee , Bruce Martin.”introduction to corba”,jGuru Training By Magelang Institue.http://jGuru.com [3] Belinda Fairthorne,Bob Blakley.”Introduction to corba” . 29 / 30
Introduction To CORBA Reference : [4] advantages of CORBA .http://www.iona.com/support/docs/e2a/asp/5.0.1/mainframe/ConceptsGuide/cgCORBAConcepts7.html#309117,last accessed an 2010/01/02 [5] WHY USE CORBA.http://www.packetstormsecurity.org/programmingtutorials/CORBA,last accessed an 2009/12/15 30 / 30
Introduction To CORBA Questions