This subsection shows how services are provided in an object-oriented manner. 'Object
Services' does not appear as a category in the Technical Reference Model since all the
individual object services are incorporated as appropriate in the given service
categories.
An object is an identifiable, encapsulated entity that provides one or more services
that can be requested by a client. Clients request a service by invoking the appropriate
method associated with the object, and the object carries out the service on the client's
behalf. Objects provide a programming paradigm that can lead to important benefits,
including:
- increased modularity
- a reduction in errors, and
- ease of debugging
Object management services provide ways of creating, locating and naming objects, and
allowing them to communicate in a distributed environment. The complete set of object
services identified so far is listed below for the sake of completeness. Where a
particular object service is part of a more generally applicable service category, a
pointer to the other service category is given. Object services include:
- Object request broker (ORB) services, which enable objects to transparently make
and receive requests and responses in a distributed environment. ORB services include:
- Implementation repository services support the location and management of object
implementations. The services resemble those provided by the data dictionary/repository
services in the Data Management service category.
- Installation and activation services provide ways to distribute, install,
activate and relocate objects. This corresponds to the software installation services in
the System and Network Management service.
- Interface repository services support the storage and management of information
about interfaces to objects. The services resemble those provided by the data
dictionary/repository services in the Data Management service
category.
- Replication services support replication of objects in distributed systems,
including management of consistency between the copies.
- Common object services, which provide basic functions for using and
implementing objects. These are the services necessary to construct any distributed
application. Common object services include:
- Change management services provide for version identification and configuration
management of object interfaces, implementations and instances. This corresponds to the
configuration management services described in the System and
Network Management service category.
- Collections services provide operations on collections of objects, such as lists,
trees, stacks or queues. Services include establishing, adding objects to or removing them
from collections, testing set membership, forming unions and intersections of sets and so
on.
- Concurrency control services enable multiple clients to co-ordinate their access
to shared resources. Synchronization like this is normally provided using kernel services
provided in the Operating System service category.
- Data interchange services support the exchange of visible state information
between objects. Depending on the kind of object involved, this corresponds to one or more
of the services provided in the Data Interchange
service category.
- Event management services provide basic capabilities for the management of
events, including asynchronous events, event "fan-in",notification
"fan-out" and reliable event delivery.
- Externalization services define protocols and conventions for externalizing and
internalizing objects. Externalizing means recording the object state in a stream of data,
and internalizing means recreating an object state from a data stream. This is one example
of the information presentation and distribution functions in the Data Interchange service category.
- Licensing services support policies for object licensing, and measurement and
charging for object use. This corresponds to the license management services of the System and Network Management service category.
- Life cycle services define conventions for creating, deleting, copying and moving
objects. The creation of objects is defined in terms of factory objects, which are objects
that create other objects.
- Naming services provide the ability to bind a name to an object, and to locate an
object by its name. This is analogous to the distributed name service described in the Distributed Computing service category.
- Persistent object services provide common interfaces for retaining and managing
the persistent state of objects. Objects are often stored in an object oriented database
management system, described as one of the Data Management
services.
- Properties services support the creation, deletion, assignment and protection of
dynamic properties associated with objects.
- Query services support indexing and query operations on collections of objects
that return a subset of the collection. This is similar to database lookup, a part of the
database management system functions of the Data Management
service category.
- Relationship services allow relationships between objects, such as ownership or
containment, to be explicitly represented as objects.
- Security services support access control on objects and non-repudiation of
operations on objects. Access control is defined as a Security
service. Non-repudiation, which is also a Security service,
provides proof that an action was carried out by a particular user at a particular time.
- Start-up services support automatic start-up and termination of object services
at ORB start-up or termination.
- Time services support synchronization of clocks in a distributed system. This is
the same as the distributed time service in the Distributed
Computing service category.
- Trading services allow clients to locate objects by the services the objects
provide, rather than by name. This is similar to the distributed name service in the Network service category.
- Transaction services provide facilities for grouping operations into atomic
units, called transactions, with the certainty that a transaction will be carried out in
its entirety or not at all. This corresponds to some of the transaction manager services
in the Transaction Processing service category.
Copyright © The Open Group, 1998