Information Technology Reference
In-Depth Information
There are other situations in which a compound binding action results
in the creation of an explicit binding object . A binding object is a particular
kind of computational object that encapsulates the functionality required to
connect two or more further computational objects. The object itself provides
a control interface to allow these connecting mechanisms to be configured and
managed. Binding objects represent the architectural connectors in the ap-
plication's software architecture. They are needed, for example, in the case
of multi-party interactions, or when the connection between the two compo-
nents is not trivial. In this case, a binding computational object links the
participants, acting as an architectural connector that provides the binding
functionality. Binding between computational objects is only possible if, for
each participant, their interfaces match with the defined interfaces of the bind-
ing object.
Binding objects are useful to encapsulate and reify the communication
media that two computational objects use to interact, especially when such
a medium exhibits a complex behaviour (as happens with any LAN or WAN
connection between two objects) or when we want to model the connection as
an independent entity (to allow QoS constraints to be attached to it, such as
requirements for throughput or bounds on jitter, for instance). Alternatively,
compound bindings can be used to represent more abstract groupings reflect-
ing, for example, contracts or other forms of collaboration. Figure 4.2 shows
how a binding object can be used to encapsulate a publish and subscribe event
The binding object's behaviour
queues any event that is re-
ceived from a registered source
(at one of itsput interfaces)
for delivery to any of the lis-
teners that have registered for
that event class (at theirgetin-
terfaces).
Source 1 Listen 1 Listen 2
put
get
get
binding object
control
get
put
Listen 3 Source 2
The binding can be dissolved by
calling a discard operation on the
control interface.
An object can register as an event gener-
ator or as a listener by calling the appro-
priate operation on the control interface.
FIGURE 4.2: A compound binding object encapsulates an event channel.
 
Search WWH ::




Custom Search