org.objectweb.jonathan.model
Interface domain

All Superinterfaces:
naming_context

public interface domain
extends naming_context

A domain is a distributed naming context. When identifiers are transmitted from one address space to another, they are marshalled on one side (usually in a stub) and unmarshalled on the other side (usually in a skeleton). However, the encoding of an identifier is not sufficient to decode it: the knowledge of the naming context that created (and provided its encoding) is also necessary.

The simplest way to achieve this is to associate a binding with one specific naming context, that will encode and decode the identifiers. However, if multiple protocols need to be supported and cohabit, that naming context must not be related to one specific protocol, but instead be able to accomodate several.

A domain is used for that purpose: it is able to identify other naming contexts (e.g., specific ORBs), and to wrap their identifiers into its own identifiers. Even if it is not expressed in the same terms, it is the solution adopted by the CORBA specification: when IIOP is used, the object references passed as arguments are marshalled as IORs that contain several protocol profiles distinguished by an integer id. In the case of CORBA, the association between an integer and a protocol, e.g., 0 and IIOP, is static.


Methods inherited from interface org.objectweb.jonathan.model.naming_context
export, resolve