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 such as ODMG.

Persistence is managed at either the object level or at the data member level. The typical usage of the Persistent Object Service is to allow an object 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 the PO allow you to load and store its state to persistent storage. Internally, PO’s use the persistent object manager interface, POM. Interfaces to specific data storage services are provided by persistent data services, represented as PDS objects.

This service depends on both the Externalization Service (for converting objects into a format suitable for persistent storage media) and on the Life Cycle Service (for creating, moving, and deleting objects).

Get Java Enterprise in a Nutshell, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.