11.4. Persistent Object Service
This service provides a common framework for CORBA objects to interact with various underlying persistence engines (relational databases, object databases, etc.) for the purpose of either accessing the persistent state of other objects or storing their own state persistently. In a sense, the Persistent Object Service can be thought of as middleware between CORBA objects and database protocols being defined by the Object Data Management Group (ODMG).
Persistence can be managed at either the object level or the data-member level. Typically, an object is allowed to control its own persistent state, but, if necessary, a client of an object can control particular elements of the object's persistent state.
The definers of the Persistent Object Service seemed to have a penchant for acronyms. A persistent object is represented by the PO interface. Each PO has a PID, which is a unique identifier for its persistent data. Methods on a PO allow you to load and store its state to persistent storage. Internally, a PO uses the persistent object manager interface, POM. Interfaces to specific data storage services are provided by persistent data services, represented as PDS objects.
The Persistent Object Service service depends on both the Externalization Service, for converting objects into a format suitable for persistent storage media, and the Life Cycle Service, for creating, moving, and deleting objects.
Copyright © 2001 O'Reilly & Associates. All rights reserved.