nn 1 | Page 6

� � � � � � � � � � � � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � � � � � � � � � � � � �
SEC. 9.1 CORBA 499
transaction service allows a client to define a series of method invocations across multiple objects in a single transaction. The service supports flat and nested transactions.
������������������������������������������������������������������������������ ������������������������������������������������������������������������������
Service
Description
������������������������������������������������������������������������������
Collection Facilities for grouping objects into lists, queue, sets, etc.
������������������������������������������������������������������������������
Query
Facilities for querying collections of objects in a declarative manner
������������������������������������������������������������������������������
Concurrency Facilities to allow concurrent access to shared objects
������������������������������������������������������������������������������
Transaction Flat and nested transactions on method calls over multiple objects
������������������������������������������������������������������������������
Event
Facilities for asynchronous communication through events
������������������������������������������������������������������������������
Notification Advanced facilities for event-based asynchronous communication
������������������������������������������������������������������������������
Externalization Facilities for marshaling and unmarshaling of objects
������������������������������������������������������������������������������
Life cycle Facilities for creation, deletion, copying, and moving of objects
������������������������������������������������������������������������������
Licensing Facilities for attaching a license to an object
������������������������������������������������������������������������������
Naming Facilities for systemwide naming of objects
������������������������������������������������������������������������������
Property Facilities for associating( attribute, value) pairs with objects
������������������������������������������������������������������������������
Trading Facilities to publish and find the services an object has to offer
������������������������������������������������������������������������������
Persistence Facilities for persistently storing objects
������������������������������������������������������������������������������
Relationship Facilities for expressing relationships between objects
������������������������������������������������������������������������������
Security Mechanisms for secure channels, authorization, and auditing
�������������������������������������������������������������������������������
Time
Provides the current time within specified error margins
Figure 9-3. Overview of CORBA services.
Normally, clients invoke methods on objects and wait for the result of that invocation. To support asynchronous communication, CORBA supports an event service by which clients and objects can be interrupted upon the occurrence of a specified event. Advanced facilities for asynchronous communication are provided by a separate notification service. We describe these services in more detail below.
Externalization deals with marshaling objects in such a way that they can be stored on disk or sent across a network. It is comparable to the serialization facilities offered by Java, allowing objects to be written to a data stream as a series of bytes.
The life cycle service provides the means to create, destroy, copy, and move objects. A key concept is that of a factory object, which is a special object used to create other objects( Gamma et al., 1994). Practice indicates that only the creation of objects needs to be handled by a separate service. However, destroying, copying, and moving objects is often conveniently defined by objects themselves. The reason is that these operations often affect an object’ s state in an objectspecific way.