CORBA Within the OS & Its Implementation Emily Stephanian
What is CORBA Common Object Request Broker Architecture Designed and created by the Object Management Group Not a working product, but rather a specification Purpose: to facilitate the communication between systems that are deployed on dissimilar platforms You can kind of think of it like a Software Bus Utilizes remote invocations
Remote Invocations How it works: Client obtains object reference Client uses same code used in the local invocation to make the remote invocation (substitutes object reference for remote instance) ORB examines object reference —> discovers target object is remote ORB routes invocation out over the network to remote object’s ORB
Main Components Object Request Broker (ORB) CORBA Interface Defining Language (IDL) Implementation of Common Object Services (COS) Common Frameworks Internet Inter ORB Protocol (IIOP)
Object Request Broker (ORB) Middleware between the client request for some sort of service from some element and the achievement of that request Middleware: software that acts as a link between an OS/database and an application (usually on a network)
Object Request Broker (ORB) Provides location transparency (use of names to identify network resources rather than their actual location) Uses remote procedure calls (when a program causes a procedure to execute in a different address space) Promotes interoperability of distributed object systems Other features: distributed transactions, real-time scheduling Enables systems to be built by piecing together fragments from different providers
CORBA Interface Defining Language (IDL) Special language that allows for the expression of the object interface (basically a transitional language between specification languages like UML and coding languages)
Implementation of Common Object Services Selection of services that are defined and accessible so as to aid the ORB Specify the rudimentary distributed computing services i.e. Naming Services, Security Services
Common Frameworks AKA Horizontal CORBA Facilities Deals with interface facilities and system management facilities “Horizontal” is in its name because it is proposing that the facilities within this component are versatile, and are frequented amongst numerous application domains
Internet Inter ORB Protocols (IIOP) TCP/IP implementation of the General Inter ORB Protocol (which provides a set of message structures for interaction between ORBs) Assumes the client/server model Passes requests and receives replies through the Transport layer using TCP Address is based on the target’s (server’s) port number and IP address
Components Working Together
CORBA-Based Applications Examples: IBM Integration Bus Java/C++ Application Also used in: Object-Oriented Interfaces Real-Time Operating systems Embedded Applications/Systems
IBM Integration Bus Components: Object Request Broker CORBA Server Naming Service CORBARequest Node
Implementation in Java Components: Object Request Broker CORBA Server Client/Server IDL
Problems with CORBA & its Decline Technology issues: Insufficient security features Complexity (implementation) Doesn’t provide a versioning mechanism Procedural issues: There are no entry qualifications to participate in the standardization process RFPs often call for a technology that is unproven Vendors respond to RFPs even when they have known technical flaws The OMG does not require a reference implementation for a specification to be adopted
Summary CORBA is a standard designed to facilitate the communication between systems that are deployed on dissimilar platforms Object-Oriented Interfaces Based off of the Object Management Architecture standard OS independent Programming language independent Decline in use for a multitude of reasons
References Land, Ulrich, and Rudolf Schreiner. Developing Secure Distributed Systems with CORBA, Artech House, 2002. ProQuest Ebook Central, https://ebookcentral-proquest com.proxy.libraries.smu.edu/lib/southernmethodist/detail.action?docID=227602 OMG. “Object Management Architecture.” Object Management Architecture, Object Management Group, 12 Jan. 2016, www.omg.org/oma/ Oracle. “Transactions Sample CORBA Java/C++ XA Application.” Transactions Sample CORBA Java/C++ XA Application, BEA Systems, 2000, docs.oracle.com/cd/E13211_01/wle/wle50/transact/trxsamxa.htm. Sommerville, Ian. “CORBA – Common Object Request Broker Architecture.” CORBA, Saint Andrews College, Jan. 2008, ifs.host.cs.st-andrews.ac.uk/Books/SE9/Web/DistribSys/Corba.html. Goddard, Steve. “CORBA.” Distributed Operating Systems. 20, Nov. 2017, Lincoln, University of Lincoln-Nebraska. Traoré, Issa. “CORBA-Based Architecture.” Electrical & Computer Engineering. Chapter 6, 20 Nov. 2017, Victoria, University of Victoria.