170 likes | 316 Vues
This resource explores the Common Object Request Broker Architecture (CORBA), highlighting its role in enabling communication between distributed applications in heterogeneous environments. Featuring insights from experts Aniket Prabhune, Varun Saini, Balaprasuna Chennupati, and Lally Singh, the content covers essential topics such as the Object Management Architecture (OMA), Interface Definition Language (IDL), services, and design patterns. It emphasizes CORBA's significance in integrating diverse applications while addressing engineering trade-offs, cost effectiveness, and legacy systems.
E N D
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 OMA Reference Model Application Interfaces Domain Interfaces Object Request Broker Object Services [ACP99]
OMA Object Frameworks AI OS DI DI AI ORB DI AI 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 Server Application Static Stub ORB Interface ORB Interface Sktn DSI OA DII n/w Server ORB Core Client ORB Core IDL Dependant 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 • e.g.: [SV97]
Stubs and Skeletons IDL interface Stub Compiler Stubs (Client Side) Skeletons (Server Side) • Fixed for a given language and interface • Hide the ORB from application programmer [NE95]
Marshalling & Unmarshalling • eg: Acct -> List(); program language request buffer client stub client ORB marshalling n/w buffer target object skeleton server ORB operation invocation unmarshalling [SV97] [NE95]
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.