1 / 117

CORBA Overview and Advanced Programming Issues

CORBA Overview and Advanced Programming Issues. 1. Table Of Contents. Part 1. Part 2. Introduction OMG, OMA, CORBA Object Model CORBA Introspection ORB Interoperability Run-time features, Fault-tolerance and Component Model CORBA 3.0. Simple Application

reese
Download Presentation

CORBA Overview and Advanced Programming Issues

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. CORBAOverview and Advanced Programming Issues 1 Table Of Contents Part 1 Part 2 • Introduction • OMG, OMA, CORBA Object Model • CORBA • Introspection • ORB Interoperability • Run-time features, Fault-tolerance and Component Model • CORBA 3.0 • Simple Application • IDL to Programming Language mapping • Advanced Programming Issues Appendix • Look into the IDL 1998 CTIT, Nikolay Diakov

  2. CORBAOverview and Advanced Programming Issues 2 Part 1. Overview • Proprietary systems • Networks with proprietary protocols • Open systems and standardized communication protocols 1998 CTIT, Nikolay Diakov

  3. Introduction 3 • Object Management Group (OMG) • Common Object Request Broker Architecture (CORBA) • Object Management Architecture (OMA) 1998 CTIT, Nikolay Diakov

  4. OMG 4 • Founded April 1989. • Largest software consortium in the world • It has 800+ participants • Small staff (27 full time); no internal development. Offices in U.S.A., Germany, Japan, U.K, Australia, India. • Dedicated to creating and popularizing object-oriented standards for application integration based on existing technology. 1998 CTIT, Nikolay Diakov

  5. Common Object Request Broker Architecture 5 1998 CTIT, Nikolay Diakov

  6. CORBA 6 App1 AppX App2 App3 CORBA bus 1998 CTIT, Nikolay Diakov

  7. Object Management Architecture 7 1998 CTIT, Nikolay Diakov

  8. OMA 8 Application Objects Object Management Architecture Object Request Broker Object Services Common Facilities 1998 CTIT, Nikolay Diakov

  9. OMA 9 • System oriented components • Object Request Brokers • Object Services Application Objects Object Request Broker Object Services Common Facilities 1998 CTIT, Nikolay Diakov

  10. OMA 10 • System oriented components • Object Request Brokers • Object Services • Application oriented components • Application Objects • Common Facilities Application Objects Object Request Broker Object Services Common Facilities 1998 CTIT, Nikolay Diakov

  11. OMA 11 • System oriented components • Object Request Brokers • Object Services • Application oriented components • Application Objects • Common Facilities • Horizontal • Vertical Application Objects Object Request Broker Object Services Common Facilities 1998 CTIT, Nikolay Diakov

  12. OMG Object Model (OM) 12 1998 CTIT, Nikolay Diakov

  13. OMG Object Model (OM) 13 • Object • Combines Functionality and Data • Typically represents a real-world object • Has a well-defined interface (Through IDL) • and an “object reference” or address • Follows basic OO principles: • Encapsulation Inheritance • Polymorphism Instantiation 1998 CTIT, Nikolay Diakov

  14. OMG Object Model (OM) 14 Consists of • Core Object Model • Components • Profiles Goals Application portability Object level Design level Source code level Interoperability 1998 CTIT, Nikolay Diakov

  15. CORBA Object Model 15 • Based on OMG/OM • Goes concrete on the technology - interaction between clients and servers Concepts clients requests operations Interfaces and attributes 1998 CTIT, Nikolay Diakov

  16. CORBA Object Services 16 1998 CTIT, NikolayDiakov

  17. CORBA Object Services 17 • Access to object references • Naming Service • Object Trader Service • Notification of significant events of change of state • Event Service • Notification Service • Support of transactional semantics • Transaction Service • Support for secure interoperability • Object Security Service • Licensing Service • Other • Life Cycle Service • Persistence Service • Concurency Control Service • Time Service 1998 CTIT, Nikolay Diakov

  18. CORBA Interface Definition Language 18 1998 CTIT, Nikolay Diakov

  19. CORBA IDL 19 OMG/ISO IDL (Interface Definition Language) Separates the Interface from the Implementation • multiple-inheritance, strongly typed, public interface specification language; • independent of any particular language/compiler; • mappings will be provided for many languages/compilers; • not a programming language. Enables Interoperability 1998 CTIT, Nikolay Diakov

  20. C COBOL C++ C I D L I D L I D L I D L COBOL Ada I D L I D L I D L I D L Small talk Ada I D L I D L I D L I D L Small talk C++ More More CORBA IDL 20 Client Side Object Implementation Side ORB ORB 1998 CTIT, Nikolay Diakov

  21. CORBA - UML and MOF 21 • Unified Modeling Language - enables visual modeling and analysis • Metadata Object Facility - provides a standard repository for metadata within the CORBA architecture 1998 CTIT, Nikolay Diakov

  22. CORBA For Developers 22 Much more than Client-Server • CORBA provides a sophisticated base for software development • CORBA Services provide necessary OO foundation • CORBA Facilities standardize building blocks • Developers create or assemble Application Objects Develop Clients and Servers Independently using the Best Tools for Each Task CORBA Services and CORBA Facilities accessed via standard OMG IDL Interfaces 1998 CTIT, Nikolay Diakov

  23. CORBA For Users 23 • Purchase Server Objects from Multiple Vendors and Integrate Under One or More Client Applications • Seamlessly Integrate In-House and Purchased Objects • Acquire & Maintain a Single Set of Business Objects Accessed by the Entire Enterprise • Each Division Accesses These Common Objects Using a GUI Built for its Own Needs 1998 CTIT, Nikolay Diakov

  24. CORBA Essential 24 1998 CTIT, Nikolay Diakov

  25. CORBA 25 With IDL the interface definition is separated from the implementation Client Object Implementation ORB 1998 CTIT, Nikolay Diakov

  26. CORBA 26 Defining the Object’s interface in the OMG IDL creates a language independent API for the Object Client Object Implementation ORB 1998 CTIT, Nikolay Diakov

  27. CORBA 27 Objects may be written in programming languages -- C, C++, Java, Smalltalk, Ada, COBOL, Visual Basic, or might be Wrapped Legacy Applications, Tool-Generated Objects, or Objects purchased from Vendors. • C++ • Java • Pascal • Ada Client Object Implementation ORB 1998 CTIT, Nikolay Diakov

  28. CORBA 28 The same IDL defines the Client Side API. Client Object Implementation ORB 1998 CTIT, Nikolay Diakov

  29. CORBA Introspection 29 1998 CTIT, Nikolay Diakov

  30. CORBA Introspection 30 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  31. CORBA Introspection 31 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  32. CORBA Introspection 32 • The Client invokes operations • The invocation is transparent in terms of • runtime environment • location • implementation language Client 1998 CTIT, Nikolay Diakov

  33. CORBA Introspection 33 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  34. CORBA Introspection 34 • Implements the interface • Can be written in any programming language • Can be independent to the ORB implementation Object Implementation 1998 CTIT, Nikolay Diakov

  35. CORBA Introspection 35 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  36. CORBA Introspection 36 Both generated from the same IDL interface Both provide the mapping to the particular programming language The stub is the part to include into the client project. The skeleton is the part to include into the server project. IDL stubs IDL skeleton 1998 CTIT, Nikolay Diakov

  37. CORBA Introspection 37 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  38. CORBA Introspection 38 ORB is a logical entity that may be implemented in various ways. To hide implementation details from the applications, the CORBA specification defines an abstract interface for an ORB. This interface provides a variety of helper functions. ORB interface 1998 CTIT, Nikolay Diakov

  39. CORBA Introspection 39 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  40. CORBA Introspection 40 Allows request to go to implementations that does not have compile-time knowledge about the interface they implement Provides dynamic access to the request scheme of the ORB No stub specific bindings Allows deferred synchronous and oneway requests DII DSI 1998 CTIT, Nikolay Diakov

  41. CORBA Introspection 41 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  42. CORBA Introspection 42 Object Activation Delivering the requests to the particular implementation CORBA 3.0 standardizes Portable Object Adapters Object Adapter 1998 CTIT, Nikolay Diakov

  43. CORBA Introspection 43 Client Object Implementation ORB DII IDL stubs ORB interface IDL skeleton DSI Object Adapter GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  44. CORBA Introspection 44 Provides a mechanism for transparently communicating client requests to target object implementations. The ORB simplifies the distributed environments. GIOP/IIOP ORB CORE 1998 CTIT, Nikolay Diakov

  45. CORBA Interoperability 45 1998 CTIT, Nikolay Diakov

  46. There must be consensus on interoperability. CORBA Interoperability 46 • There are different hardware platforms; • There are different operating systems; • There are different network protocols; • There are different application formats/protocols. One possible answer to the question how to make these things work together is: 1998 CTIT, Nikolay Diakov

  47. CORBA Interoperability 47 • Boundaries which may not be obvious or logical to you • departmental (budget, task, group) boundaries • site boundaries (company, plant) • technological boundaries (HW, SW) 1998 CTIT, Nikolay Diakov

  48. CORBA Interoperability 48 Domain B Domain A ORB ORB TCP/IP (Internet) 1998 CTIT, Nikolay Diakov

  49. CORBA Interoperability 49 Key steps to Full Interoperability Standardize rich, extendible, and generic enough communication protocol Each vendor implements mapping to and from this protocol 1998 CTIT, Nikolay Diakov

  50. CORBA InteroperabilityBridging 50 Domain B Domain A Server Object Client ORB ORB Bridge TCP/IP (Internet) 1998 CTIT, Nikolay Diakov

More Related