What are CORBA Services?

Bruce Martin

Another important part of the CORBA standard is the definition of a set of distributed services to support the integration and interoperation of distributed objects. As depicted in the graphic below, the services, known as CORBA Services or COS, are defined on top of the ORB. That is, they are defined as standard CORBA objects with IDL interfaces. As such, the services are sometimes referred to as "Object Services."

There are several CORBA services. Here is a one line description of most of the services:

Service Description
Object life cycle defines how CORBA objects are created, removed, moved, and copied
Naming defines how CORBA objects can have friendly symbolic names
Events decouples the communication between distributed objects
Relationships provides arbitrary typed n-ary relationships between CORBA objects
Externalization coordinates the transformation of CORBA objects to and from external media
Transactions coordinates atomic access to CORBA objects
Concurrency Control provides a locking service for CORBA objects in order to ensure serializable access
Property supports the association of name-value pairs with CORBA objects
Trader supports the finding of CORBA objects based on properties describing the service offered by the object
Query supports queries on objects