Java Reference
In-Depth Information
Table 13.1
Feature comparison of enterprise OSGi servers (continued)
Apache
Geronimo
Paremus
Nimble
Server
Apache Karaf
IBM WebSphere
Eclipse Virgo
GlassFish
JBoss
JEE
container
JEE, Spring
*
SCA
Key
X—Support available in released version
T—Support available in Aries trunk
*—Provisioning support available, but third-party implementations must be installed
J—Feature files for Aries JPA, but no feature files for JPA engine
Because enterprise OSG i is an open standard, you should find that your applications
are generally portable between servers as long as you stick to features that are covered
by the specification (and implemented in the server you're switching to). For maxi-
mum portability you might want to avoid aggregate applications and EJB integration,
because these aren't included in the first version of the enterprise specification.
WARNING: WATCH OUT FOR WONKY VERSIONS At the time of writing, several
of the servers we'll discuss ship with incorrectly versioned javax.servlet
and javax.persistence packages. Although the OSG i Enterprise Specifi-
cation specifies versions for these packages, these semantic versions aren't
the same as the marketing versions, which caused a few implementation
hiccups. If you migrate an application from the little Aries assembly to an
affected server, you may find some bundles no longer resolve. If this hap-
pens, we're afraid you'll have to grit your teeth, forgo semantic versioning
temporarily, and import a broad version range for javax.servlet and
javax.persistence .
A table can only tell part of the story, so let's discuss each of these servers in more
detail.
13.2
Apache Karaf
One of the lightest-weight options for running OSG i applications, Apache Karaf is
halfway between an OSG i runtime and an application server. Karaf is proving increas-
ingly popular both as an OSG i platform in its own right and as a foundation for
other products such as Geronimo and ServiceMix. Several other projects don't ship
with Karaf by default, but do provide Karaf features so they can be installed into a
Karaf instance.
13.2.1
Karaf features
One of Karaf's headline functions is known as Karaf features . A Karaf feature is an XML
file that describes a set of bundles that can be installed into a Karaf runtime. (You may
recall seeing Karaf features before, in section 8.3.4.) Karaf ships preconfigured with a
 
Search WWH ::




Custom Search