CORBA (Common Object Request Broker Architechture)

CORBA (Common Object Request Broker Architechture)

CORBA (Common Object Request Broker Architechture) Aniket Prabhune Varun Saini Balaprasuna Chennupati Lally Singh CORBA Day1: Aniket : Introduction, OMA, ORB Core, OMG IDL, IDL Stubs and Skeletons Varun : Interface Repository, Dynamic Invocation and Dispatch (DII, DSI) Day2: Prasuna : Object Adapters, Inter-ORB

protocols (IIOP/GIOP), Services (Event, Naming, Trading, Transaction) Lally: COM vs CORBA, QoS, Examples and Applications CORBA Heterogeneous and Open Systems Engineering tradeoffs Cost Effectiveness Legacy Systems Need for integrating diverse applications within Distributed heterogeneous environments [SV97]

OMG (Object Management Group) Formed in 1989 to develop, adopt and promote standards for the development and deployment of applications in distributed heterogeneous environments. Largest software consortium in world with 800 + developers, vendors and end users on member list CORBA Industry Standard for open distributed processing [SV97] OMA (Object Management Architecture)

Object Model and Reference Model Object Model Defines how objects distributed across a heterogeneous environment can be described Object is an encapsulated entity with a distinct immutable identity whose services can be accessed only through well defined interfaces Object References [SV97] OMA Reference Model Characterizes the interactions between the objects Interface Categories in Domain OMA Reference Model Applicati on

Interface s Interface s Object Request Broker Object Services [ACP99] OMA Object Frameworks AI OS DI DI AI ORB AI

DI OS OS AI = Application Interface OS = Object Service DI = Domain Interface ORB = Object Request Broker [ACP99] Features of CORBA:

ORB Core OMG Interface Definition Language Language Mappings Stubs and Skeletons Interface Repository Dynamic Invocation and Dispatch Object Adapters Inter-ORB protocols Services [SV97] Relation between features: Client Application Static Stub DII ORB

Interface Client ORB Core IDL Dependant Server Application n/w ORB Interfac e Sktn DS I O A Server ORB Core Same for all applications Multiple OAs

[ACP99] ORB Core Deliver request to target object Return response to the clients Transparent Client/Object Communication Object Location Object implementation Object Execution State Object communication mechanism [SV97] IDL (Interface Definition Language)

Interfaces are defined in the OMG IDL Language-Independent declarative language eg: // OMG IDL interface Factory { Object create(); }; [SV97] IDL Includes

Built-in Types: long, short, float, double, char, boolean, octet, enum, etc Constructed Types: struct, union Template Types: string, sequence, fixed point decimal Interface Inheritance: Open-Closed Principle Object Interface [SV97] Language Mappings Determines how the OMG IDL features are mapped to the facilities of a given programming language OMG IDL Type C++ Mapping e.g.: long, short long, short float,double

float,double boolean bool char char struct struct union class sequence class ....

.... [SV97] Stubs and Skeletons IDL interface Stub Compiler Stubs (Client Side) Side) Skeletons (Server Fixed for a given language and interface Hide the ORB from application programmer [NE95] Marshalling & Unmarshalling eg: Acct -> List();

client program language request buffer stub client ORB marshalling n/w target object skeleton operation invocation

buffer unmarshallin g server ORB [SV97] Design Patterns (Stubs and Skeletons) Connect programming Language world to the underlying ORB transparently Stub adapts function call style of its language

mapping to the request invocation mechanism of the ORB Skeleton adapts request dispatching mechanism of the ORB to the upcall method form expected by the object implementation Form of Adapter and Proxy patterns Proxy: Provide a surrogate or placeholder for another object to control access to it Adapter: Convert the interface of class to another interface clients expect [SV97] [DP95] References: [SV97] Vinoski, S., CORBA: Integrating Diverse

Applications Within Distributed Heterogeneous Environments IEEE Communications Magazine, Vol. 35, No. 2, February 1997 [NE95] Edwards, N., CORBA: An Industrial Approach to Open Distributed Computing [ACP99] Henning, M., Vinoski, S., Advanced CORBA Programming with C++, Addison Wesley, 1999. [DP95] Gamma Erich., Helm Richard, Johnson Ralph, Vlissides, John, Design Patterns: Elements of Reusable Object-Oriented Software,Addison Wesley, 1995.

Recently Viewed Presentations

  • Feature Driven Development Jon Grommes Overview  What is

    Feature Driven Development Jon Grommes Overview What is

    Feature Driven Development is a iterative and incremental software development process. FDD is a software process that was created to deliver frequent, working deployable code repeatedly to the customer. FDD is considered a straight forward approach to developing software systems...
  • Role of the Teacher - University of Dallas

    Role of the Teacher - University of Dallas

    1850s to 1880s: Women's Experience in the Classroom 60 children in the one-room schoolhouse. Curriculum was not very demanding. Women welcomed the independence teaching gave them. Went from being outsiders to having a sense of purpose and wanting to pursue...
  • Point of View - The Bennett Site - Home

    Point of View - The Bennett Site - Home

    First Person Central POV. The 1stPerson Central narrator— uses first person pronouns ("I") is the main (central) character in the story—the protagonist. relates the events in which he or she is involved. is close to the action. gives a limited...
  • World History I Unit 5: Ancient Greece

    World History I Unit 5: Ancient Greece

    Spartan Government. Sparta's structure = diverse! Had two hereditary kings. Titular roles; they were viewed as leaders in battle and religion. Two groups essentially governed Sparta. Assembly: all free adult males. They elected officials and voted on major items
  • SOL VS.3a, 3b, 3c, 3d, 3e, 3f, 3g

    SOL VS.3a, 3b, 3c, 3d, 3e, 3f, 3g

    What does "economic venture" mean? Economic means money or profit. Venture is a business that may be risky. ... are and from time to time shalbe joined unto them which doe desire to begin theireplantacions and habitacions in some fitt...


    - Rimljani (a i Rimljanke) slave i vozače zaprega, i konje, i gladijatore (uspješne) - Zainteresirani jer se često klade na velike iznose - Vozači utrka mogu završiti karijeru kao milijunaši
  • Life Sciences Integrated Demo - Oracle

    Life Sciences Integrated Demo - Oracle

    Which is 11 times faster. Oracle extensibility framework enables you to build your domain index for any speciality to dramaticaly increase the query performance. Later on you will learn from our partners. Many of them build domain indexes or we...
  • Network Access for Remote Users - Internet2

    Network Access for Remote Users - Internet2

    Network Access for Remote Users: Practical IPSec Dr John S. Graham ULCC [email protected] Review of Technologies Remote Site Private Leased Lines Kilostream or Megastream Circuits LES ISDN EPS8/9 ISP Remote User Private Dialup Service ISP Summary of Installations Remote Site...