Information Technology Reference
In-Depth Information
Interceptor implements
transformations that preserve
the shared models
DomainA
DomainB
FIGURE 11.2: Operation of an engineering channel interceptor.
means that it maintains comparatively little state, and so the interceptor can
be placed anywhere between the domains, and can be restarted or migrated
easily.
If, on the other hand, the conversion involves the formats handled by the
stubs in the peer systems, the situation is much more complicated. In order
to be able to interpret and modify the messages being passed, the interceptor
needs to be aware of the interface types in use, and to maintain more dialogue
state. For example, it may need to transform between local representations of
some abstract type being communicated, and so must analyse the messages
and be prepared to reformat them. In some cases, there may be differences in
dialogue structure, where one system negotiates a local context, so that infor-
mation need not be repeated in a series of messages, while the other includes
the information explicitly in each message. In such cases, the interceptor must
be aware of the dialogue state and add or strip out information where nec-
essary. It needs to know the interface type to do this, which implies that it
must have an intimate involvement in the binding process.
If the domains use different publication and resource discovery processes,
the interceptor that is needed is even more complex because it must trans-
late between these different processes, acting as a proxy for the registry or
trading services involved in resource discovery. It must then be prepared to
maintain rather long-term state in the form of mappings between equivalent
services. If, for example, there is a need to map between a web services domain
and a CORBA domain, there is a need to collate information from a number
of different sources because the two resource discovery systems each package
together different architectural functions, with WSDL addressing more con-
crete information and CORBA IDL being more modular. In fact, the OMG
has produced a specification called CORBA to WSDL/SOAP Interworking
(C2WSDL) Version 1.2.1 [34] describing how to do this.
 
Search WWH ::




Custom Search