In the previous sections, the SOMDObjectMgr and SOMDServer classes were introduced. These are classes defined by DSOM to provide basic support in managing objects in a distributed application. These classes are built upon Object Request Broker interfaces defined by CORBA for building and dispatching requests on objects. The ORB interfaces, SOMDObjectMgr and SOMDServer, together provide the support for implementing distributed applications in DSOM.
CORBA 1.1 defines the interfaces to the ORB components in IDL. In DSOM, the ORB components are implemented as SOM classes whose interfaces are expressed using the same CORBA 1.1 IDL. Thus, an application can make calls to the DSOM run time using the SOM language bindings of its choice.
Interfaces for the following ORB run-time components are defined in CORBA 1.1, and are implemented in DSOM. They are introduced briefly here, and discussed in more detail throughout this chapter. (See the SOMobjects Developer Toolkit: Programmers Reference Manual for the complete interface definitions.)
Object
In DSOM, the class SOMDObject implements the CORBA 1.1 Object interface. (The"SOMD" prefix was added to distinguish this class from SOMObject.) The subclass SOMDClientProxy extends SOMDObject with support for proxy objects.
(CORBA 1.1 introduces ImplementationDef as the name of the interface, but leaves the remainder of the IDL specification to the particular ORB. DSOM defines an interface for ImplementationDef.)
ImplementationDef objects are stored in the Implementation Repository (defined in DSOM by the ImplRepository class).
InterfaceDef objects are stored in the Interface Repository (described fully in Chapter 7, "The Interface Repository Framework").
(CORBA 1.1 introduces the name of the interface, Principal, but leaves the remainder of the IDL specification to the particular ORB. DSOM defines an interface for Principal.)
The Basic Object Adapter is intended to be a general-purpose Object Adapter available on all CORBA-compliant Object Request Brokers. The BOA interface provides support for generation of object references, identification of the principal making a call, activation and deactivation of objects and implementations, and method invocation on objects.
In DSOM, BOA is defined as an abstract class. The SOMOA (SOM Object Adapter) class, derived from BOA, is DSOM's primary Object Adapter implementation. The SOMOA interface extends the BOA interface with several of its own methods that are not defined by CORBA 1.1.