Paremus logo
Opens a new window
Nimble - Making Modularity Manageable™

Nimble unlocks the power of OSGi™ by directly addressing the challenges of OSGi bundle dependency management, easing interaction with running OSGi assemblies and automating routine tasks.

The Nimble Distribution is comprised of the following elements.
The Paremus OSGi Shell

Implementing the OSGi RFC147 Command Line specification, Posh provides a Unix-like interactive shell and scripting environment that includes:

  • Full bash like scripting capabilities.
  • Remote access via SSH.
  • High extensibility.
  • OSGi service platform and OS independence.

Posh provides a unified approach to implementing and running commands on any OSGi service platform; downloading and caching bundles on demand and auto-loading shell commands as required.


Remote Service Admin - the Paremus way


A high quality implementation of the OSGi Alliance Remote Service and Remote Service Admin (RSA) specifications, with fully pluggable distribution providers, topology managers and discovery mechanisms.

The Paremus RSA implementation is functionally robust and includes:

  • A default SLP based discovery mechanism.
  • A default high-performance RMI distribution provider.

Further discovery mechanisms and distribution providers are available with the Standard and Premium versions of the Nimble Distribution.


The Nimble Resolver

The engine of the Nimble Distribution, the Nimble Resolver extends the concept of Inversion of Control (IoC) to the level of the module; recursively resolving, provisioning and configuring modules based on their module and environmental dependencies and configured policies.

Fast, simple to use, and easy to extend


When the Nimble Resolver is asked to deploy an OSGi bundle, it automatically determines all dependencies, downloads the required artifacts that are not already locally cached and installs them in the correct order. When asked to remove an OSGi bundle, the Nimble Resolver removes that bundle and any of its dependencies that are no longer needed by any other services. When a problem is encountered, Nimble's rich diagnostics make it easy to track down the root causes.

The Nimble Resolver is not limited to just OSGi artifacts. With WAR and EAR support by default, the Nimble Resolver is also easy to extend for additional custom dependencies and new artifact types.

Simplifies the Configuration, Management
and Deployment of Composite Applications


The Nimble Resolver not only understands OSGi bundle dependencies, but crucially the dependencies between an artifact and its runtime environment. Rather than including all possible runtime services that might be needed; Nimble dynamically loads them as required and cleanly removes them and their supporting infrastructure once the business component is unloaded.

For example the Nimble Resolver:

  • Dynamically loads required Scala libraries in response to the installation of a Scala component.
  • Dynamically loads a servlet engine implementation in response to an installed WAR component.
  • Dynamically loads the GlassFish JEE container in response to an installed EAR component.

Nimble Resolver policies provide additional control of what is deployed. For example, the choice of servlet engine (i.e. Tomcat or Jetty) is determined by a resolution policy associated with the installed WAR artifact.


Useful Utilities


The Nimble Distribution includes a number of useful utilities and capabilities including:

  • The use of Logback to provide highly configurable and efficient logging.
  • SSH console access.
  • Cross OSGi service platform commands for reviewing bundle, service and OSGi framework state.
  • Support for nested frameworks allowing isolation between applications within the same JVM.

Nimble has first class tooling support from Apache Felix Sigil. This enables Nimble to run under the control of the tooling, application and can be deployed, debugged, and updated by the tooling, and enables package and service dependencies between bundles to be analyzed.

Finally, all Nimble applications are ready to run on the Paremus Service Fabric without change.

Nimble Core


For non-networked OSGi based applications, Nimble Core is also available which includes:

  • The Paremus OSGi Shell (Posh)
  • The Nimble Resolver

Further Information


For further technical details of the Posh, RSA and the Nimble Resolver please refer to the online documentation or join the Nimble Forum. Download, pricing and support options are also available.

Terms of Use and Privacy Policy
Paremus, Paremus Nimble and Making Modularity Manageable are trademarks of Paremus Ltd. All rights reserved.
Copyright © Paremus Ltd 2001-2011