OSAmI Tools Survey
Author : Naci Dai
From TechnologicalWiki
OSAmI Tools are a natural complement to other tools projects, and reuse, extend, and add to them as appropriate. The following OSAmI Tools Survey provides a non-exhaustive catalog of some of these tools categorized with respect to the taxonomy we present in OSAmI Tools categories.
[edit] Tools Survey
| Tool | Short Description | Licence | Category | Provider | Link |
|---|---|---|---|---|---|
| BND | bnd is the swiss army knife of OSGi bundles. It is used in many different incarnations to reduce the effort to create bundles from projects or jars using a myriad of tools like ant, maven, bndtools, sigil, eclipse, etc.
Bnd consists of one jar file which can run standalone, via ant, maven or can be used as an eclipse plugin (no update site, just copy the jar). Bnd parses the java classes to understand the available and imported packages so it can create the equivalent OSGi entries. Bnd offers a series of directives and options which can customize the resulting artifact. Bnd is an easy way to migrate a plain jar to an osgi bundle. Bnd can create bar from jar files, bundles from bnd files. Also used under the hood by many other tools since it can create the manifest. There are adiitional tools that are based on BND such as:
| Apache License Version 2.0 | Development | aQute (Peter Kriens) | bnd web site |
| Bundler | Bundle Generation is the process of generating bundles from OSGi-incompliant JAR archives. Bundler is an Automatic Bundle Generation utility that is capable of generating bundles at runtime and off-time, it provides an API and a primitive Command Line Interface plus features such as Caching to optimize the Bundle Generation process, and is runnable in OSGi and none-OSGi Environments. | Apache License Version 2.0 | Development | DynamicJava.org | Bundler web site |
| Bundlor | Bundlor is a tool that automates the detection of dependencies and the creation of OSGi manifest directives for JARs after their creation. Bundlor takes as input a JAR and a template consisting of a superset of the standard OSGi manifest headers. Bundlor analyses the source code and support files contained in the JAR, applies the template to the results, and generates a manifest. | Apache License Version 2.0 | Development | VMWare (Spring Source) | Bundlor web site |
| Eclipse PDE | Eclipse is the primary tool for OSGi developer. The Eclipse Plug-in Development Environment (PDE) provides tools to create, develop, test, debug, build and deploy Eclipse plug-ins, fragments, features, update sites and RCP products.
PDE also provides comprehensive OSGi tooling, which makes it an ideal environment for component programming, not just Eclipse plug-in development. | Eclipse Public License Version 1.0 | Development | Eclipse Foundation | Eclipse PDE |
| Eclipse WTP | The Eclipse Web Tools Platform (WTP) project extends the Eclipse platform with tools for developing Web and Java EE applications. It includes source and graphical editors for a variety of languages, wizards and built-in applications to simplify development, and tools and APIs to support deploying, running, and testing apps. | Eclipse Public License Version 1.0 | Development | Eclipse Foundation | Eclipse WTP |
| Eclipse PDE Incubator Dependency Visualization | The dependency visualization aims to provide a set of views to assist with plug-in dependency analysis tasks. In particular, the views will provide cognitive support to people as they attempt to understand the dependencies between their plug-ins. | Eclipse Public License Version 1.0 | Development | Eclipse Foundation | Eclipse PDE Visualization |
| Apache Felix - SIGIL | Sigil provides OSGi centric development tooling, where the OSGi runtime model is extended to provide build time dependencies. | Apache License Version 2.0 | Development | Apache Foundation | Apache Felix SIGIL |
| PAX | Pax is the umbrella project for all OSGi bundles and tools.
OSGi is a runtime platform that allows for a much higher degree of dynamicity than any other container architecture and is well suited for both client and server applications. Eclipse is the most visible OSGi eco-system on the market, housing many UI driven OSGi projects including a runtime framework. Knopflerfish.org as well as Apache Felix are other runtime platforms, with their respective standard services. PAX intend to be complimentary to all these efforts and main focus are on good practices and technology integration. Projects
| Apache License Version 2.0 | Development, Management and Monitoring | OPS4J | PAX |
| Eclipse Equinox | Equinox is an implementation of the OSGi R4 core framework specification, a set of bundles that implement various optional OSGi services and other infrastructure for running OSGi-based systems. Bundles are named as plugins. Eclipse offers built in easy osgi development on equinox. New project wizard can create a project from strach, from templates or from an existing jar file.
Equinox also hosts bundles for management and monitoring of OSGi frameworks: Hosting many bundles such as Equinox Incubator - Resource Monitoring | Eclipse Public License Version 1.0 | Runtime, Management and Monitoring | Eclipse Foundation | equinox |
| MOSGI | MOSGi enables the remote management of OSGi-compatible service gateways, using JMX. The framework is a reference architecture for end-to-end gateway management. It provides the following features:
| Apache License Version 2.0 | Management | Apache Foundation | Apache Felix Mosgi |
| Apache Felix | Apache Felix is a community effort to implement the OSGi R4 Service Platform and other interesting OSGi-related technologies under the Apache license. The OSGi specifications originally targeted embedded devices and home services gateways, but they are ideally suited for any project interested in the principles of modularity, component-orientation, and/or service-orientation. OSGi technology combines aspects of these aforementioned principles to define a dynamic service deployment framework that is amenable to remote management.
Apache Felix Project also hosts an array of sub projects that are also useful as OSGi tools:
| Apache License Version 2.0 | Runtime, Management and Monitoring | Apache Foundation | Apache Felix |
| Knopflerfish | Knopflerfish is open source OSGi Service Platform compliant with OSGi R4 v4.2.
Knoplerfish project also hosts an array of sub projects that are also useful as OSGi tools:
| The BSD License | Runtime, Management and Monitoring | Makewave | Knopflerfish |
| Concierge | Concierge is an optimized OSGi R3 framework implementations with a file footprint of about 80 kBytes. This makes it ideal for mobile or embedded devices. Typically, these devices have VMs that are more focused on compactness and less optimized. For instance, purely interpreting VMs often kill the performance of existing OSGi framework implementations. The design of Concierge has been developed with respect to such platforms. Concierge uses resources in a very careful way and is able to provide significantly better performance in resource-constrained environments.
Concierge also provides an eclipse plugin:
| BSD License | Runtime | Institute for Pervasive Computing, ETH Zurich. | Concierge |


