CORBA 2.3.3 Programmer's Guide for Java
The role of each object interfacefor example, whether each object represents an entity in a
databaseand the relationships among objects.
●
Local/remote transparency. The implications of having users, information, and therefore objects
distributed across a network.
●
Reuse. How to reuse existing software whenever possible by deriving new object interfaces or
classes from existing ones.
●
Granularity. How to design operations and data to limit the number of interactions among
distributed components.
●
Parallelism. Whether to take advantage of server pools, and whether requests to the same object
could be handled by multiple processes in parallel.
●
Service packaging. Whether to provide a new service as a library or a framework.●
Concurrency. Whether multiple instances of an object can exist concurrently in the same process,
and whether multiple clients can use the same instance concurrently.
●
Persistence. Whether an object or its state must be accessible after the process that hosted it has
stopped, and how to provide a reusable reference to a persistent object.
●
Database mapping. How to map between instance data and persistent storage (such as a relational
database).
●
Transaction management. How to manage concurrent transactions, especially if an object uses
external frameworks or services to perform transactions. (An object that has this responsibility is a
client of the Transaction Service, or NSJTS.)
●
Factory objects and control objects. Whether to define objects to control the activities of other
objectsfor example, factory objects to create other objects, or control objects to manage
concurrent access to data or maintain class data across a server pool.
●
Exception and error reporting. How to provide uniform exception and error reporting, including
response to unsupported requests, and how to provide instrumentation for troubleshooting.
●
The design of an object interface includes the creation of the object references that clients use to refer to
objects in the interface. These object references are created by an object interface associated with the
server.
The resolution of issues for object interface design depends on the object references that are created and
returned, the strategy for finding and creating object instances, and other aspects of interface design and
use.
Object Roles and Relationships
The following three-tier classification of object roles is not specific to NonStop CORBA but is used
throughout this section: