OSGi-Tooling

OSGi-Tooling

Contents

The OSGi framework is a standardized module system and service platform for the Java programming language. Though standard Java tools can be used to develop OSGi bundles, this development is improved with dedicated tooling. This page collects the different tools that are available in closed or open source projects.

IDEs and build tools

Ant

Ant is a popular Java build tool. Plugins for Ant can often be used by other Java build tools, see how to call tasks outside Ant. The following modules provide Ant task support:

Eclipse

Eclipse is an IDE that is based on OSGi. The PDE subsystem in Eclipse provides extensive support for creating bundles. Other tools have been integrated in Eclipse as optional plugins/bundles:

Maven

Maven is a build tool for Java with a flexible plugin model. OSGi support is provided as plugins:

IntelliJ

IntelliJ IDEA is an IDE for Java developers. It supports the following plugin:

Netbeans

Netbeans provides extensive OSGi support via Maven and Ant.

OPS4J Pax

OPS4J provides a set of cross platform OSGi tooling under the "Pax" umbrella. All projects under this umbrella are licensed under the Apache Software License 2.0.

The tooling projects are:

  • Pax Runner for running different framework implementations with a fixed (implementation independent) configuration set. Supports: Apache Felix, Equinox, Knopflerfish, Concierge and Papoose.
  • Pax Exam builds on top of Pax Runner and allows running Unit Tests inside a new or already running OSGi Test Container. Pax Exam also directly supports OSGi Launch API R4.2 frameworks.
  • Pax Construct a shell powered OSGi development environment letting you create, manage and run OSGi projects using Maven Archetypes.
  • Pax URL OSGi aware URL handlers that support resolving Maven Artifacts, On-the-fly bundling, WebApp (WAR) wrapping as bundles etc.

Service implementations available under the Pax theme:

  • Pax Web A Http Service implementation using Jetty by default.
  • Pax Logging A Log Service implementation providing API adapters for Apache Commons Logging, SLF4J, Java Logging API and others.

SBT

SBT (Simple Build Tool) is the de-facto standard for building Scala software. There is a plugin offering bnd integration:

Plugins

bnd

bnd consists of a library and a command line tool. The library provides functionality to automatically generate the required metadata for OSGi bundles based on the Java class files. bnd needs to be used in conjunction with other tools but it is capable of being a central part in a build setup. bnd is a command line tool, an eclipse plugin, and an ant plugin. License is ASL2.

Bndtools

Bndtools is an Eclipse plug-in—based on bnd -- that focuses on ease of use, rapid development and producing accurate bundle metadata. License is EPL.

Bundlor

Bundlor is an Apache licensed tool, similar to bnd, for generating OSGi manifests driven by a template by analyzing the byte code of a JAR or Eclipse project.

EBA Maven Plugin

The Apache Aries|eba-maven-plugin provided by enables the creation of application archive files (.eba) of OSGi bundles for deployment to Apache Aries, Apache Geronimo and WebSphere Application Server v7 OSGi Applications and JPA 2.0 Feature Pack.

Maven Bundle Plugin

The Maven Bundle Plugin is based on bnd and therefore provides the same features. It simplifies generating bundles from Maven.

Osmorc

Osmorc is a plugin for IntelliJ IDEA for OSGi development support. This plugin uses bnd and Bundlor under the covers for generating Manifest metadata. Bundles can be run in any of the major OSGi containers, Osmorc uses Pax Runner for this. Non-OSGi dependencies are detected and enriched with OSGi metadata using bnd on the fly. Osmorc also features an integration with the Maven Bundle Plugin for importing projects allowing them to run inside the IDE without invoking Maven. The integration also allows for checking whether Maven dependencies are OSGi compliant, offering to replace them with OSGi compliant versions from SpringSource's Open Bundle Repository.

Pax Eclipse

The Ops4J family of projects has built a plugin to enable PDE based projects to run on OSGi containers other than Equinox.

ProSyst OSGi SDK

OSGi SDK provides OSGi Tools running on Eclipse for application development on embedded device. Designed for device developers and generic OSGi content creators ProSyst OSGi SDK consists of 3 parts: Eclipse Plugins, OSGi Runtime, and OSGi Validator. There are versions of the SDK tailored for different vertical markets such as mBS Smart Home SDK, mBS Telematics SDK, and mBS Mobile SDK.

Rational Development Tools for OSGi Applications

The IBM Rational Development Tools for OSGi Applications is a set of free tools to help you build OSGi applications and convert existing Java EE or simple Java projects into OSGi bundles. It supports the OSGi Enterprise standards.

Rational Application Developer for WebSphere Software

Rational Application Developer for WebSphere Software (RAD) adds to the capabilities of the IBM Rational Development Tools for OSGi Applications with enhanced support for many of the OSGi Enterprise specifications like Blueprint, JPA, SCA, REST, Atompub, JMS, etc.

Sigil

Sigil provides OSGi centric development tooling, where the OSGi runtime model is extended to provide build time dependencies. Sigil is an Apache project that resolves build dependencies based upon OSGi meta-data working from pluggable repositories, including OBR. It can build and test projects using Eclipse and/or command-line based on a simple properties-based project file.

Tycho

Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven. It supports generation of the Maven pom.xml file for bundles that are created in the Eclipse Plugin Development Environment.

Virgo Eclipse Tooling

Eclipse tooling for SpringSource dm Server and Eclipse Virgo is freely available either as part of the SpringSource Tool Suite or via an update site (see the Tooling chapter of the Virgo Programmer Guide) for addition to Eclipse. This tooling allows dm Server or Virgo server instances to be defined and managed under Eclipse. Bundles and multi-bundle applications in the form of platform archives (PARs) or plan files can then be developed and deployed to the running server using drag and drop. The tooling also shows the bundles installed in the server and has a graphical display for analyzing both package and service wiring between bundles.

Virgo Admin Console

The dm Server and Virgo admin consoles provide tooling for offline analysis of resolution failures which are dumped to disk when an application is deployed and fails to resolve.

See also

OSGi

References



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • OSGi — Service Platform Developer(s) OSGi Alliance Stable release 4.3 / April 2011 (2011 04) …   Wikipedia

  • Eclipse (среда разработки) — У этого термина существуют и другие значения, см. Eclipse. Eclipse …   Википедия

  • Eclipse-Plugin — Eclipse Eclipse mit Wiki Plugin Basisdaten …   Deutsch Wikipedia

  • Eclipse (Software) — Eclipse Eclipse mit Wiki Plugin Basisdaten …   Deutsch Wikipedia

  • Eclipse SDK — Eclipse Eclipse mit Wiki Plugin Basisdaten …   Deutsch Wikipedia

  • Graphical Editing Framework — Eclipse Eclipse mit Wiki Plugin Basisdaten …   Deutsch Wikipedia

  • Eclipse (IDE) — Eclipse Eclipse mit Wiki Plug in Basisdaten Entwickler …   Deutsch Wikipedia

  • Apache CXF — Developer(s) Apache Software Foundation Stable release 2.4.3 / October 12, 2011; 24 days ago (2011 10 12) Development status Active …   Wikipedia

  • Eclipse (Logiciel) — Pour les articles homonymes, voir Eclipse. Eclipse Développeur …   Wikipédia en Français

  • Eclipse (environnement de développement) — Eclipse (logiciel) Pour les articles homonymes, voir Eclipse. Eclipse Développeur …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”