Working with OSGi Applications

The OSGi Applications support in WebSphere® Application Server helps you to develop and deploy modular applications that use both Java™ EE and OSGi technologies.

About this task

OSGi technology has long been associated with solving application development challenges around complexity, extensibility, and maintenance. Since WebSphere Application Server Version 6.1, OSGi technologies have been used internally as an infrastructure foundation to build the application server product as a component-based run time. In 2007, the OSGi Alliance Enterprise Expert Group (EEG) was formed to bring OSGi infrastructure benefits to enterprise application developers in the form of an enterprise Java programming model. The EEG has focused on the specification of common Web applications technologies for an OSGi environment, including the Blueprint component model. This model standardizes many of the simplicity and unit test benefits of dependency injection frameworks, and is now part of the OSGi Service Platform Release 4 Version 4.2.

Apache Aries is an open community project that brings the modularity, dynamism, and versioning capabilities of the OSGi service platform to enterprise application developers by implementing the EEG specifications. Apache Aries delivers a simple to use and lightweight programming model for Web applications that combines the standard Blueprint component model with familiar Java enterprise technologies. Apache Aries includes an implementation of the OSGi 4.2 Blueprint component model for fine-grained assembly, and provides an assembly model for applications that consist of multiple modules.

The Feature Pack for OSGi Applications and Java Persistence API (JPA) 2.0 integrates Apache Aries technologies into WebSphere Application Server. These technologies include the OSGi Blueprint Container and the Apache Aries application assembly model. This feature pack works with the enterprise-level qualities of service of the product to give the most complete and robust enterprise server for modular Web applications. As well as being easy to use, the integration of Apache Aries into WebSphere Application Server also addresses many of the challenges of developing and maintaining extensible Web applications. You can use this feature pack to deploy and manage Web applications as a set of versioned OSGi bundles. You can also configure one or more bundle repositories, as part of the provisioning infrastructure, to host common bundles that multiple applications use, and to simplify the deployment of applications that use those common bundles.

OSGi Applications support delivered in this feature pack includes the following major features:
  • Use the OSGi Enterprise Specification 4.2 Blueprint Container for declarative assembly of components. This simplifies unit test outside of the application server.
  • Use extensions to the Blueprint component model for declarative transactions and container-managed Java Persistence API (JPA).
  • Develop OSGi application projects using IBM® Rational® Application Developer, which enforces OSGi visibility rules so that projects can only access packages from other projects that explicitly declare them as part of the project externals. This provides environmental support to development best practices.
  • Compose isolated enterprise applications using multiple, versioned bundles with dynamic life cycle.
  • Deploy applications in archives containing (if desired) just the application-specific content, along with metadata referencing any shared libraries (bundles). This means that application archives become smaller, with only single copies of common libraries loaded into memory.
  • Use an integrated bundle repository, and configure the locations of external repositories, to support the provisioning of bundles to applications.
  • Deploy existing web application archives (WAR files) as web application bundles (WABs). This allows web applications to use the OSGi module system.
  • Simultaneously load multiple versions of classes in the same application, using standard OSGi mechanisms.
  • Administratively update deployed applications in a modular fashion, at the bundle-level.
  • Deploy applications that use their own versions of common utility classes, distinct from the versions that are used by the server runtime environment. Do this without needing to configure application Java EE class loader policies, such as PARENT_LAST mode.
  • Use federated lookup mechanisms between the local Java Naming and Directory Interface (JNDI) and the OSGi service registry.

Procedure




In this information ...


IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic    

Terms of Use | Feedback

Last updated: Oct 22, 2010 3:02:28 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v700osgijpa&product=was-nd-mp&topic=ta_ep
File name: ta_ep.html