1 / 25

CORBA: An Overview

CORBA: An Overview. Mojtaba Hosseini. Outline. Motivation Introduction to CORBA Evolution of CORBA CORBA Core Interoperability and internetworking Conclusion. Motivation. Applications working under different environments Operating System Programming Language

Download Presentation

CORBA: An Overview

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: An Overview Mojtaba Hosseini

  2. Outline • Motivation • Introduction to CORBA • Evolution of CORBA • CORBA Core • Interoperability and internetworking • Conclusion

  3. Motivation • Applications working under different environments • Operating System • Programming Language • Distributed applications such as IP telephony must communicate • Over different network protocols • How can these applications work together?

  4. Interoperability Problem Mac OS Windows OS Smalltalk IP Telephony Application Java IP Telephony Application ? ? Network architectures and standards (SIP, ISDN, IP, ATM, etc) Linux OS C++ IP Telephony Application

  5. Introduction to CORBA • Common Object Request Broker Architecture • Interface Definition Language (IDL), Object model and Object Request Broker (ORB) as key elements • Main idea: provide standardized interfaces for transparent requesting/providing of services

  6. Object: entity providing service Client: entity requesting service Interface compiled into skeleton for object Interface compiled into stub for client ORB informs object of service ORB takes request from client Main Idea Behind CORBA • Client requests service without knowing where provider is and in what environment (programming language, operating system) • Object provides service without knowing about the client’s environment or location

  7. 1999 CORBA 3.0 1998 Facilities 1996 1991 Interoperability CORBA Core Evolution of CORBA Real-time Fault Tolerance Horizontal, Vertical Facilities Interoperability Networking IDL, Object Model, ORB

  8. CORBA Object Model

  9. Schedule • CORBA IDL • Dynamic Invocation • ORB Interface • Object Adaptor • Interoperability • New features

  10. IDL • IDL used to define service interface • IDL is defined just like any programming language: • defines keywords (e.g. “void”) • literals (e.g. character literal ‘x’) • Identifiers (e.g. int numb) • restrictions on these (e.g. identifier can’t start with a number)

  11. IDL Grammar • IDL also defines a grammar • IDL can then be mapped into executable programming languages such as Java/C++

  12. Schedule • CORBA IDL • Dynamic Invocation • ORB Interface • Object Adaptor • Interoperability • New features

  13. Dynamic Invocation and Skeleton • IDL stub/skeleton not the only way to request/provide services • What if we don’t know about the interface at compile time? But we know what service we want to request? • Need Dynamic Invocation

  14. Dynamic Invocation • Client defines “signature” of service: name, parameters, return value, context • ORB gives this to the object and object determines which method to invoke • Useful for providing different interfaces for the same service

  15. Client charge(x,y) charge(x,y) Dynamic Invocation Interface Dynamic Skeleton Interface Charge(y) Client Charge() charge(y) Dynamic Invocation Example • Three telephone call charging policies: • Depending on originating/terminating location • Depending on terminating location only • Constant billing

  16. Schedule • CORBA IDL • Dynamic Invocation • ORB Interface • Object Adaptor • Interoperability • New features

  17. ORB Interface • Provides common interfaces such as: • ORB operations: shutdown, initialize • Object operation: are two objects equivalent? • Policy operation: deny/allow services • Policy Management: overriding policies • ORB exceptions: no implementation available

  18. Schedule • CORBA IDL • Dynamic Invocation • ORB Interface • Object Adaptor • Interoperability • New features

  19. Portable Object Adaptor • Allow for multiple object implementations to exist on server side (e.g. multiple billing services for several companies) VendorA Billing Service VendorB Billing Service Choose billing Service based on policy

  20. Schedule • CORBA IDL • Dynamic Invocation • ORB Interface • Object Adaptor • Interoperability • New features

  21. GIOP/IIOP • Multiple vendors implementing ORBs • A need for ORBs to interface with one another in a standard way: General Inter-ORB Protocol • GIOP: generic protocol, no implementation • IIOP (Internet Inter-ORB Protocol) is the TCP/IP implementation of GIOP

  22. CORBA and Interoperability Mac OS Windows OS Smalltalk IP Telephony Application Java IP Telephony Application ORB ORB GIOP GIOP Network architectures and standards (SIP, ISDN, IP, ATM, etc) Linux OS ORB C++ IP Telephony Application

  23. Schedule • CORBA IDL • Dynamic Invocation • ORB Interface • Object Adaptor • Interoperability • New features

  24. More Recent CORBA features • Domains such as Transportation, Health Care, Finance, etc. developed IDL interface common in their domain • CORBA standardized these for the domains • More recent CORBA versions include • Real-time capabilities • Fault-tolerance

  25. Conclusion • There exist different environments in which telephony applications operate • There is a need for these applications to be interoperable • CORBA provides the standard way of doing so

More Related