|
Binding Component Framework
The Binding component framework is used to install Binding
Components into the JBI environment. The installation procedures
and life cycle methods of BC are similar to the SE. BC’s also
have init, start, stop and shutdown methods, which do similar
functions like that of the SE.
Binding components are used to send and receive messages from
external clients. Binding components can interact with a wide
range of client programs and their specialized protocols. The
Binding component shields the JBI environment from specialized
protocols by providing Normalization and De-normalization
services to protocol specific messages. The Binding component
will take care of normalizing a protocol specific message before
passing the message to the other components within the JBI
environment. When the message has to be returned back from the
SE, the BC will de-normalize the message and convert it back in
the protocol specific message. The BC can also attach protocol
specific metadata, which can be used by other SEs and BCs.
Common Framework
The interfaces common to the SE and the BC frameworks are
bundled in to the common framework to avoid duplication.
EnvironmentContext is one of the interfaces that provide common
functionality to both the SE and the BC. The environment context
provides the following:
- The component Id of a component installed in the SE or BC.
- The name of the ‘MBean’ server housing all the registered ‘MBeans’.
- The JNDI naming context used by the SE and the BC.
- The handle to the Normalized Message service.
Normalized Message Service
The normalized message service or NMS provides the messaging
backbone for all messages within the JBI environment. All
messages from BCs to SEs and back are routed through the NMS.
All SEs and BCs should be registered with the NMS before the NMS
can interface with them. Registration ensures that the NMS know
where messages are headed to and where messages need to be
returned. SEs and BCs can register themselves with the NMS
through the Runtime registration process. The process of
Registration includes declaring an endpoint or service address
to the NMS and providing meta-data about the endpoint or service
address. BCs can register only endpoints and SEs can register
services only. The meta-data will contain additional information
about the component, which will be used by other BCs and SEs.
The NMS uses a bi-directional pipe called the delivery channel
to route messages. BCs and SEs have their own delivery channels
to communicate to and from the NMS. Both BCs and SEs use the
delivery channel to initiate inbound calls and service outbound
calls. Since BCs and SEs have only one delivery channel the JBI
API supports multithreaded access to the delivery channels.
The interaction between the Service provider and service
consumer is called a service invocation. Some of the different
types of service invocations supported by the JBI environment
are:
- Consumer makes a ‘one-way’ request to the provider and the
provider does not need to provide a reply.
- Consumer makes a ‘one-way with fault’ request to the
provider and the provider does not provide any response unless
there is an error.
- Consumer makes a ‘request-response’ request to the provider
and the provider responds with a response.
- Consumer makes a ‘request-optional-response’ request to the
provider. In this case the consumer and the provider both have
an option to generate a fault message in case of an error.
Normalized Message
NMS defines a generic template for all message interactions
within the JBI environment. Normalization stores context
specific protocol and business specific data into a generic
message. The NMS understands the generic message and can forward
the request to the appropriate SE or BC for appropriate
response.
De-normalizing is the process of converting the generic NMS
message into a context specific message so that the calling
program can understand it.
A normalized message consists of two parts, the message context
and the message content. The Message context consists of a set
of properties where meta-data information can be stored. The
message content contains the actual message data.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|