Previous section.
Systems Management: Reference Model
Systems Management: Reference Model
Copyright © 1997 The Open Group
OMG Mapping
OMG Object Model
The Object Management Group (OMG) is a non-profit international trade
association formed to promote new interoperable software solutions to
reduce the cost of software development. The OMG has defined an object
reference model and architectural framework with supporting detailed
interface specifications. The object model and architecture is defined
in the Object Management Architecture Guide (see reference OMAG)
and the OMG Object Model (see reference OMGOM) and the interface
specifications are defined in the Common Object Request Broker
Architecture1 (see reference CORBA).
The OMG object reference model identifies and characterises the
components, interfaces, and protocols that compose OMG's object
management architecture (OMA). The reference model addresses how
objects make and receive requests and responses, the basic operations
that must be provided for every object, and the interfaces that
provide common facilities useful in many applications. The OMA
supports the object architecture described in
OMG Object Model
,
defining an infrastructure with an object request broker (OMG's
implementation of the Communications Service) and object services.
Figure: OMG Object Model
The three categories of objects (Object Services, Common Facilities,
Application Objects) reflect a partitioning in terms of functions from
most basic and common to application specific. Note that objects can
issue as well as process requests (act as clients as well as servers).
Thus application objects can provide services for other application
objects, can access common facilities and object services objects;
common facilities can use object services as building blocks, and so
forth.
The OMG reference model and architecture defines the following major
components:
- Object Request Broker
-
The ORB provides the mechanisms by which
objects transparently make and receive requests and responses. It
is intended to provide interoperability between
applications on different machines
in heterogeneous distributed environments. An object request (and its
associated response) is the fundamental interaction mechanism. A
request names an object, an operation and includes zero or more
parameter values, any of which may be object handles identifying
specific objects. The ORB delivers the request to the appropriate
object implementation server and causes a method representing the
operation to be executed.
- Object Services
-
Object services provides basic operations for the
logical modeling and physical storage of objects. It defines a set of
intrinsic or root operations that all classes of objects should
implement or inherit. Object services operations are made available
through the ORB (that is, ORB compliant interfaces are defined for
each object service). The operations supplied by object services are
typically used as the building blocks for extended functionality
provided by Common Facilities. The operations that object services can
provide include life cycle, naming, persistence, event,
security, relationships, transactions, and concurrency control.
- Common Facilities
-
Common Facilities provide optional, extended
services that are useful for many applications. They are made
available through ORB compliant object interfaces. Their purpose is to
reduce the effort needed to build OMG compliant applications through
reusability. Examples of common facilities include cataloguing and
browsing objects, error reporting, help facilities, object querying
facilities, and user profiles.
- Application Objects
-
Application objects correspond to the
traditional notion of an application; that is, individual related sets
of functionality that are implemented using the OMG architecture. Such
an application consists of a set of interworking OMG compliant
objects. These objects communicate using the ORB and make use of the
objects comprising the Common Facilities and Object Services.
OMG Object Request Broker
The OMG Object Request Broker (ORB) is that component of the object
management architecture which is responsible for accepting a client
object request, finding the object implementation for the request,
preparing the object implementation to receive the request, and
communicating the data making up the request and response.
OMG Object Request Broker
shows the architecture and components of the ORB.
Figure: OMG Object Request Broker
The ORB is composed of the following components:
- ORB Core
- The ORB Core provides the basic representation of
objects and communications of requests. It provides transparent object
location for the client making the request given an object reference
consistent with the ORB implementation.
- Object References
- An Object Reference is the information needed
to specify an object within an ORB. Clients and object implementations
are insulated from object reference representation through the use of
an opaque object referent consistent with the client or implementation
language mapping. An object reference is an object handle in the OMG
model.
- IDL Interface Definition Language
- IDL defines the types of objects by specifying their
interfaces in terms of data types, operations, parameters, and
exceptions. It describes a conceptual framework for executing
operations on objects. Most ORB implementations supply IDL
compilers, which generate the stub routines, skeleton
routines, and argument encoding and decoding routines needed
to execute requests on the object interface. These routines
are expressed in a specific programming language, or language
binding.
- Programming Language Binding
- Different programming languages will access CORBA objects in
different ways. CORBA defines a language mapping for each
supported programming language, which includes
language-specific data types and procedural interfaces to
access objects through the ORB.
- Client Stubs
- Client stubs are programs usually generated by IDL
compilers with a specific language binding and are used by client
programs to make object requests to the ORB. Client stubs are private
to a particular ORB implementation and specific to a particular
interface definition.
- Dynamic Invocation Interface
- The dynamic invocation interface (DII) is an interface to the
ORB that allows the dynamic construction of object
invocations. The client builds up the object request by
specifying the object to be invoked, the operation to be
performed, and the set of parameters for the operation. The
DII serves as an alternative client interface to client stubs.
- Implementation Skeleton
- Skeletons are programs usually generated by IDL compilers with
a specific language binding and are used by object adaptors to
make up-calls to the object implementation in the object
server. That is, the object implementation writes routines to
conform to the skeleton interfaces and the ORB calls them
through the skeleton.
- Object Adaptors
- The object adaptor is the primary way object
implementations access services provided by the ORB. A few object
adaptors will be implemented that are appropriate for specific kinds
of objects. Services provided through an object adaptor includes
generation and interpretation of object references, object
invocations, object and implementation activation and deactivation,
mapping object references to implementations, and registration of
implementations.
- ORB Interface
- The ORB interface provides a few operations common for
all ORB implementations, and are thus implemented directly by the ORB
core.
- Interface Repository
- The Interface Repository is an ORB service
that provides IDL information about OMG compliant objects in a form
available at run time. The interface repository may be used by the ORB
to perform requests, or by a browser application to form object
requests dynamically.
- Implementation Repository
- The Implementation Repository contains information that allows
the ORB to locate and activate implementations of objects.
Installation of object implementations and control of policies
related to the activation and execution of object
implementations are typically done through operations on the
implementation repository.
OMG Interface and Implementation Repositories
shows the relationship between the ORB components used to
create client and object implementations.
Figure: OMG Interface and Implementation Repositories
Realisation of the Reference Model
The reference model supports
distribution of management functionality and
objects. The object request mechanism provided by the ORB's
communications service invokes operations on objects independently of
their location on the systems within the network. Information
associated with an object reference is used by the ORB to determine
the system upon which the object implementation is to be executed. ORB
process management mechanisms can automatically instantiate an
appropriate server process on that system and call the activation
functions needed to make the object state available. Object
implementation code is then called within the server process to
respond to the object request (the exact mechanism for calling a
method depends upon the IDL language binding used to implement the
object implementation code).
Because a single object request mechanism is used by the ORB for both
"local" and "remote" request invocations for all ORB compliant
objects, the management application can be distributed at many levels.
For example, the application client code and task-oriented management
functions could be located on the client's system, while the Managed
Objects are located on a remote system. Implementations of the
Management Services and object services could be executed on yet other
systems. It is possible that the task-oriented management function
objects can be executed on systems remote from the management
application's client code, thus supporting high level management
functionality "closer to" the managed Resources.
OMG Mapping to the Reference Model
shows the
distributed management architecture using the OMG based system
management reference model.
Figure: OMG Mapping to the Reference Model
Footnotes
- 1.
- The description in this Appendix is based on the stated direction
of CORBA 2.0 and OMG Object Services which are still in the
process of definition.
Why not acquire a nicely bound hard copy?
Click here to return to the publication details or order a copy
of this publication.