|
Features
Decoupling
Service providers are separated from service consumers, thereby
reducing the dependency between them. Any service provider or
service consumer can be replaced without affecting the overall
working of the system. Moreover since the dependence between the
consumer and the provider is removed, they can be developed
independently of each other.
Portability
JBI defines the Services in a language and platform independent
fashion, which allows for services to be ported across multiple
platforms.
Interoperability
Since the medium of exchange is XML, it allows numerous
applications to talk to each other without any problem.
Service-oriented architecture
The JBI architecture is service-oriented architecture (SOA)
based thereby increasing the decoupling between applications.
Reliability
Since JBI is architecture for an enterprise, high level of
reliability is expected. 100% reliability may not be required
but providing the level of service when needed might be enough.
Transactional
The JMI environment supports transactions. The NMS does not
directly spawn transactions but it will readily pass information
about a transaction along with the message. If a NMS message is
controlled by a transaction, it will pass the transaction
context as part of the message.
Persistence
The JMI environment proposes a persistence mechanism to allow
storage of state of a message exchange. The saved message can be
used for recovery when a restart is done or can be used to cache
the message in the case of an expensive operation.
Note: The persistence mechanism is not yet part of the
JBI specification.
Recoverability
JBI allows for recovery of an existing message which was lost as
part of a restart. Recoverability is closely related to the
persistence mechanism as persistence is used to recover the lost
message.
Privacy
Privacy is required when the data is stored in some persistent
storage and when business rules require that data be hidden from
external sources. If JBI decides to have persistence then some
kind of encryption should be used to secure the data. The JBI
specification does not intend to address encryption, it is up to
the implementers to decide on an encryption strategy.
Service Engine Framework
The Service Engine framework allows Service Engines to be
included into the JBI environment. It also defines the API
contracts between the engine and the environment. The process
of installing and uninstalling Service engines are the
responsibility of the framework.
SEs are the business entities of the JBI environment. SEs can be
seen as stateless session beans, which can service requests from
any Java client. In this case the SEs go a step further and can
service any request they receive from any client. The client can
be written in any program as long as it can interface in to the
JBI environment using a Binding Component.
SEs can provide simple services like data transformation and
complex services like EDI. SEs can provide services for message
collation and de-collation, which are useful in routing
services. SEs can also create new services by combining other
services. This process of combining services is useful in WS-
BPEL where services are constructed from processes.
The Service Engine must provide a life cycle class that
implements the java.jbi.engine.EngineLifeCycle interface. The
EngineLifeCycle interface will help to manage the life cycle
methods of the SE.
When the SE is installed for the first time it exists in JBI
environment in the ‘installed’ state. When the start method is
invoked on the SE, the SE moves to the running state. If the
initial state of the SE is ‘installed’ then a call to the init
method is done to ensure all initialization actions are done
prior to running the SE. The init method is called only once
when the SE is called for the first time.
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.
|