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 Modules
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 a web application
as a set of 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.
- It composes into coarser-grained Service Component Architecture
(SCA) assemblies.
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.