The effort to deliver a distributed OSGi platform gains momentum.
The effort to deliver a distributed Open Services Gateway Initiative
solution got a boost this week when backers of the technology demonstrated
their latest work at the OSGi Community Event.
Eric Newcomer, CTO at Iona Technologies,
and David Bosschaert, a principal engineer at Iona,
presented the "first ever" public
demonstration of Distributed OSGi at the event held June 11-12 in Berlin.
Although OSGi started life in the embedded space, it has rapidly
been adopted in the enterprise ever since it was chosen as the underlying
platform for Eclipse. The OSGi framework specification forms the basis of the
Eclipse Runtime. And there are about a thousand commercial products and open-source
projects that use OSGi technology.
Meanwhile, embedded systems for automobiles, trains, home automation,
factories, smart phones, airport kiosks and multimedia continue to gain in
power. As they do, many application developers are turning to OSGi
technology for its dynamic update capabilities and ability to successfully
incorporate heterogeneous devices.
Yet, as this trend plays out it also increases demand for integration
between this explosion of embedded computing applications and back-office
systems, Newcomer told eWEEK in an interview. This is one big area in which
OSGi for the enterprise is already starting to generate significant interest,
and drives requirements for a standard for distributed OSGi, he said.
Click here to read about the Eclipse Foundation's runtime initiative based on an implementation of OSGi.
Today the OSGi standard describes how services communicate only within a
single JVM (Java virtual machine). "To meet requirements for enterprise
computing scenarios, the OSGi standard needs to include distributed computing
capabilities," Newcomer said. "The OSGi Enterprise Expert Group, of
which I'm co-chair, has been developing requirements and designs for enterprise
features for about 18 months. These will be input to the specification process
for the next major release of OSGi."
In a blog post
following the Distributed OSGi demonstration
in Berlin, Newcomer wrote:
"The goal of distributed OSGi is to extend the OSGi framework for
distributed computing capabilities by configuring an existing distributed
computing software system (such as Web services, CORBA, or Eclipse ECF [Eclipse
Communication Framework]) behind an OSGi service. The demo showed a Web
services solution using Apache CXF as the distribution software, but the design
should work with any distributed computing system."
The Distributed OSGi effort also seeks to enable "a service running in
one OSGi framework to invoke a service running in another, potentially remote,
OSGi framework (meaning a framework in a JVM)," Newcomer wrote. As the
current OSGi standard only defines how services talk to each other only within
a single JVM, "extensions are needed to allow services to talk with each
other across multiple JVMs-thus the requirements for distributed OSGi on which
the design is based," he said.
In addition, Newcomer said the Distributed OSGi group did not want to invent
a new distributed computing system because so many already exist. However,
"the design introduces some new OSGi properties to identify a service as
remote and a discovery service through which a local service can find a remote
service and obtain the metadata necessary to interact with that remote
service," Newcomer said in his blog.
"The design is intended to support any communication protocol and data
format (with some constraints of course, having to do with the use of Java
request/response interfaces as the service contract). Another goal of the
design is to allow services in an OSGi framework to interact with services
external to OSGi, both as client and server."
Another very important part of the enterprise activity around OSGi is the
standardization of the Spring mapping to OSGi, also called Spring Dynamic
Modules, Newcomer said. SpringSource is leading this effort, while Iona
is leading the Distributed OSGi effort, together with Siemens. Siemens has been
leading the distributed discovery part of the design, he said. Also several of
the enterprise computing requirements have produced design documents describing
modifications and extensions to the OSGi core. These will also be part of the
next major version, he said.
All of the Distributed OSGi designs are based on requirements produced by
the EEG (Enterprise Expert Group) of the OSGi Alliance, and are discussed and
progress through that committee and the CPEG (Core Platform Expert Group)
committee, Newcomer said. Members include Iona, Siemens, SpringSource, IBM,
Oracle/BEA, Red Hat, Sun Microsystems, ProSyst, Makewave, JWay, Tibco, aQute
and invited experts Jan Rellermeyer from the University of Zurich and Richard
Hall, who is the Apache Felix project lead.
"We hope to be able to publish the code to Apache
and publish a draft of the design doc this summer, perhaps in August, after we
have a chance to formally review the initial implementation with the EEG membership,
and get their blessing (no doubt there will be some changes as well since this
is just the start)," Newcomer said in his blog.