CORBA services

Just like the API libraries in Java that provide some specialized function, CORBA provides services. These services are a set of distributed class libraries known as Common Object Services. They provide specific types of objects that are useful to programmers in a distributed environment during a transaction, event service, relationship definition, and even life cycle. Complex distributed applications require additional functionality than just the ability to invoke remote objects. OMG has recognized this requirement and provided a specification for this additional functionality with the basic services; it is called CORBA services. Some of the important CORBA services are as follows:

  • Naming service: This is helpful in the network system to let the objects in one system point and identify a different set of objects. Its naming context is similar to that of packages in Java. In a given context, names should be unique. Contexts can be nested and can have one context inside other. CORBA naming resembles a lot with the RMI registry's java.rmi.Naming interface. The only difference is that RMI does not support the hierarchical naming context and compound object names. It is the most popular service in a CORBA implementation.
  • Trading service: Trading service helps find a group of objects by referring to a distributed system network. Yellow Pages is the best example of this service. Objects from one system are able to search for another set of objects if they have an entry in the trader service along with the specs for such objects.
  • Notification service: Notification service is an asynchronous, subscription-based event notification service. If any event occurs on a specific object, then that event information along with the reference are notified to the listening object. If any object wishes to receive such notifications for an event occurring on any other object, they have to register to get automatic event notifications. The best example of this notification service is the coordination between a system and printer. When we give a number of print requests for different documents, they get queued on the spool to get printed. If document printing is complete for one, the printer automatically gets notified about that event to let it start with the next printing task waiting in the print queue.
  • Transaction service: Transaction service refers to transaction processing for distributed objects. Each object gets the instructions to add or update its state from any other objects. Say, you want to consider a group of operations together to update an object's state that would affect its behavior. During this state-changing operation, if any problem occurs in a part of the transaction of one of the operations, then the object's previous state will be rolled back along with the recovery from the error. This is taken care of by the transaction service.
  • Persistent object state service: Persistent state service refers to persistent storage of an object state. It acts as an interface between the CORBA application and the object databases or object persistent frameworks.
  • Event service: Event service enables asynchronous communications between cooperating remote objects. It's similar in nature to message-passing and event-based messaging.
  • Security service: Security service is a service that provides authentication, authorization, encryption, and other security features. This is a complex service to implement. It consists of security models and interfaces for the implementation of security services, application development, and security administration. The interfaces it provides are as follows:
    • Authentication and credentials generation for principals and exchange of credentials between principals
    • Performing secured transactions
    • Generating secure transactions and performing audit log for tracking and evidence generation
  • Query service: Query service can be used to query and modify an object collection. An example of this is an interface between CORBA and the databases (relational, hierarchical, object-based, and so on).

Other important services include life cycle, relationships, externalization, concurrency control, licensing, properties, time, and collections.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset