Explore the basics of how the ORB handles communications.
As the animation above illustrates, the ORB is the communications backbone of CORBA.
One of the significant advantages of the ORB is that clients and servers may concentrate on making CORBA requests and issuing CORBA replies, while the ORB worries about the communications details, such as finding the server and moving data across the network.
An (ORB) object request broker is a piece of middleware software that allows programmers to make program calls from one computer to another via a network. ORBs promote interoperability of distributed object systems because they enable programmers to build systems by piecing together objects from different ORB vendors so that communication via the ORB can occur. ORBs handle the transformation of in-process data structures to and from the byte sequence, which is transmitted over the network.This is called marshalling or serialization. Certain ORBs, such as CORBA-compliant systems, use an Interface Description Language (IDL) to describe the data that is to be transmitted on remote calls. In addition to marshalling data ORBs expose other features, such as distributed transactions, directory services or real-time scheduling.
In OO languages, the ORB takes the form of an object with methods enabling connection to the objects being served. After an object has connected to the ORB, the methods of that object become accessible for remote invocations.
The ORB requires definitive means of obtaining the network address of the object that has now become remote.
(OMA) Object Management Architecture
The OMA uses two related models to describe how distributed objects and the interactions between them can be specified in platform-independent ways.
The Object Model defines how the interfaces of objects distributed across a heterogeneous environment are described, and
the Reference Model characterizes interactions between such objects.
The Object Model defines an object as an encapsulated entity with an immutable distinct identity whose services are accessed only through well-defined interfaces. Clients use an object's services by issuing requests to the object. The implementation details of the object and its location are kept hidden from clients.
The Reference Model provides interface categories that are general groupings for object interfaces.
All interface categories are conceptually linked by an Object Request Broker (ORB). Generally, an ORB enables communication between clients and objects, transparently activating those objects that are not running when requests are delivered to them. The ORB also provides an interface that can be used directly by clients as well as objects. Object Services are domain-independent, or horizontally oriented, interfaces used by many distributed object applications. For example, all applications must obtain references to the objects they intend to use.
Both the OMG Naming Service and the OMG Trading Service are object services that allow applications to look up and discover object computing infrastructure. Domain Interfaces play roles similar to those in the Object Services category except that domain interfaces are domain-specific, or vertically oriented. For example, there are domain interfaces used in health care applications that are unique to that industry, such as a Person Identification Service. Other interfaces are specific to finance, manufacturing, telecommunications, and other domains.