Information Technology Reference
In-Depth Information
for locating and discovering services in repositories or via the web. Service
descriptions are already used in existing middleware service registry mech-
anisms, such as the JINI lookup service. To provide a shared terminology
and common functionality across service search solutions, RM-ODP defines
the ODP trading function. This function is further elaborated in an interna-
tional standard for the description of service types and the discovery, within
distributed and heterogeneous service repositories, of objects that provide par-
ticular services [9]. This standard was also used by the OMG as the basis for
its object trading service [27].
Finally, if we consider interfaces as types we can make use of existing type
theory to reason about service (or object) substitutability and compatibility.
The former refers to the ability of one object to replace another in such a way
that the change is transparent to external clients, while the latter defines the
requirements for two or more objects to work properly together, if connected.
These concepts can be considered as two sides of the object interoperability
coin. This is critical for connecting independently developed parts and services
in a predictable way and without undesirable errors, something that is essential
in most SOA and cloud systems.
4.3 Bindings
Apart from the computational objects that encapsulate the system func-
tionality, there is a need to represent the bindings between these objects.
This is particularly useful for modelling connections that have nontrivial be-
haviours, such as ones that report exceptions to other parts of the system.
Connecting two or more objects in a seamless way is not a trivial task, and
therefore the RM-ODP is very careful about how a binding is specified and
realized. In ODP, a binding is a context created by establishing a commu-
nication relationship between two or more objects, and a binding is created
by a binding action . Normally, a computational object initiates its interac-
tion with another computational object by performing a binding action that
allows them to connect to each other and start exchanging services and data.
However, in some cases, particularly where multimedia communications is in-
volved, one object can initiate a binding between a number of other objects;
this is known as third-party binding.
RM-ODP distinguishes two kinds of binding: primitive and compound. In
a primitive binding, the connection between the objects is direct and does not
require the use of any other object between them; this is the situation when
we connect the required and provided services of two components by simply
sharing the UML interface that defines the signature of their operations. This
is shown, for instance, in figure 4.1, where the UML ball-and-socket notation
is used to indicate the binding.
 
Search WWH ::




Custom Search