Java Reference
In-Depth Information
As with the other platforms we've discussed, Nimble resolution can be controlled by
specifying what repositories are used. You'll probably need to add a few repositories to
the default repositories to install and provision your application.
Remote services
Nimble includes an implementation of the OSG i Remote Services Specification (chap-
ter 10). If you're interested in remote services, you may find it convenient to use a
runtime with integrated support, particularly because the Nimble implementation is
stable and well respected.
One of the nicest features of Nimble is its shell, the Paremus OSG i shell, or Posh. It's
built on the Felix Gogo shell, but the Felix foundation is pretty unrecognizable! The
inspiration for the Posh shell is Unix's bash, and Posh includes some commands more
usually associated with Unix shells than OSG i consoles, such as pwd , more , and grep . It
also includes command completion and history, as you'd expect, and the ability to run
scripts with loops and conditions, which you might not expect.
The Posh shell is extensible, so that new commands can be added. The backing
bundles for new commands can even be automatically provisioned. As you run com-
mands, you can see new bundles being installed into the runtime, which gives a good
feel for what's going on under the hood.
Installing Aries
Like Karaf, Nimble requires third-party implementations of enterprise programming
models such as JPA and JTA . Unlike Karaf, it also requires an external Blueprint
implementation. Nimble knows about Blueprint to the extent that it can recognize
bundles that require Blueprint, but none of the built-in repositories include a Blue-
print implementation.
Either Aries or Gemini components can be installed into Nimble. You can build an
enterprise OSG i repository by indexing Aries bundles (for example, from your Maven
repository). You'll also need to hand-crank some extra repository rules that declare
that the Aries bundles provide JTA , JPA , JNDI , and Blueprint implementations. The
Nimble OBR indexer can identify enterprise OSG i requirements, but not enterprise
OSG i capabilities. This isn't too surprising, because spotting an implementation is
much harder than spotting a consumer!
Because you'll need to generate your own Aries repositories and rules, you may
find getting enterprise OSG i working in Nimble is more effort than it is in Karaf or the
higher-level application servers. Java EE support is also provisioned into the server as a
distinct component, and so you may find that Java EE isn't as thoroughly integrated as
it is in servers that are built as Java EE servers.
Another difference between Nimble and many of the other servers we've dis-
cussed is the licensing. In common with WebSphere Application Server, Nimble is a
Search WWH ::

Custom Search