Java Reference
In-Depth Information
application server (since eliminated in JB oss 5). Nowadays, JMX isn't (and shouldn't
be) confused with a module system.
1.4.5
Lightweight containers
Around 2003, lightweight or inversion of control (IoC) containers started to appear,
such as PicoContainer, Spring, and Apache Avalon. The main idea behind this crop
of IoC containers was to simplify component configuration and assembly by eliminat-
ing the use of concrete types in favor of interfaces. This was combined with depen-
dency injection techniques, where components depend on interface types and
implementations of the interfaces are injected into the component instance. OSG i
services promote a similar interface-based approach but employ a service-locator pat-
tern to break a component's dependency on component implementations, similar to
Apache Avalon.
At the same time, the Service Binder project was creating a dependency injection
framework for OSG i components. It's fairly easy to see why the comparisons arose.
Regardless, OSG i's use of interface-based services and the service-locator pattern long
predated this trend, and none of these technologies offer a sophisticated dynamic
module layer like OSG i. There is now significant movement from IoC vendors to port
their infrastructures to the OSG i framework, such as the work by VM ware (formerly
SpringSource) on the OSG i Blueprint specification (discussed in chapter 12).
1.4.6
Java Business Integration
Java Business Integration ( JBI ) was developed in the JCP and released in 2005. Its goal
was to create a standard SOA platform for creating enterprise application integration
( EAI ) and business-to-business ( B2B ) integration solutions.
In JBI , plugin components provide and consume services after they're plugged in
to the JBI framework. Components don't directly interact with services, as in OSG i;
instead, they communicate indirectly using normalized Web Services Description Lan-
guage ( WSDL )-based messages.
JBI uses a JMX -based approach to manage component installation and lifecycle and
defines a packaging format for its components. Due to the inherent similarities to
OSG i's architecture, it was easy to think JBI was competing for a similar role. On the
contrary, its fairly simplistic modularity mechanisms mainly addressed basic compo-
nent integration into the framework. It made more sense for JBI to use OSG i's more
sophisticated modularity, which is ultimately what happened in Project Fuji from Sun
and ServiceMix from Apache.
1.4.7
JSR 277
In 2005, Sun announced JSR 277 (“Java Module System”) to define a module system
for Java. JSR 277 was intended to define a module framework, packaging format, and
repository system for the Java platform. From the perspective of the OSG i Alliance,
this was a major case of reinventing the wheel, because the effort was starting from
scratch rather than building on the experience gained from OSG i.
Search WWH ::




Custom Search