Business goals and OSGi Applications

The OSGi Applications support in WebSphere® Application Server brings the modularity, dynamism, and versioning of the OSGi service platform to enterprise web application developers. This reduces complexity, and provides the greatest flexibility to maintain and evolve an application after its first release. You can use OSGi Applications to combine the standard Blueprint component model with familiar Java™ enterprise technologies.

OSGi Applications support is focused on the web-based technologies that many applications use. This includes the Spring Dynamic ModulesTM project, which many web applications use for fine-grained component assembly and management, and which inspired the OSGi Blueprint component model. WebSphere Application Server provides an implementation of the OSGi Blueprint Container that was developed in the Apache Aries project. Applications that are composed from Blueprint components can rely on the Blueprint Container that the application server runtime environment provides, in contrast to Spring-based applications, which include the Spring container as part of the application itself.

OSGi modularity provides standard mechanisms to address common challenges with enterprise Java applications. The OSGi Applications support in WebSphere Application Server provides the following major benefits:
  • It helps your applications to be more portable, easier to re-engineer, and more adaptable to changing requirements.
  • It provides the declarative assembly and simplified unit test of dependency injection frameworks such as the Spring Framework, but in a standardized and IBM-supported form that is provided as part of the application server run time rather than being a third-party library deployed as part of the application.
  • It integrates fully with the Java EE programming model, giving you the option of deploying web modules and EJB modules as versioned OSGi bundles with dynamic life cycles.
  • It supports administration of application bundle dependencies and versions, which simplifies and standardizes third-party library integration.
  • It provides isolation for enterprise applications that are composed of multiple, versioned bundles with dynamic life cycles.
  • It has a built-in bundle repository that can host common and versioned bundles shared between multiple applications, so that each application does not deploy its own copy of each common library.
  • It can access external bundle repositories.
  • It reinforces service-oriented design at the module level.

When you use the OSGi Applications support in WebSphere Application Server, you are using a standards-based programming model, and also gaining the well-understood benefits of WebSphere Application Server administration, performance and enterprise-level qualities of service.