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. Use OSGi Applications to combine the standard Blueprint component model with familiar Java enterprise technologies.
Note: OSGi application support in WAS traditional is deprecated because OSGi applications depend on a technology that is no longer included in Equinox 4.4.0 and later. There is no strategic alternative in WAS traditional. To continue to use OSGi applications, migrate the applications to Liberty. In Liberty, OSGi applications run as Subsystems, which are a standard form of OSGi application.
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. WAS 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 WAS provides the following major benefits:
- It helps the 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 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 us 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 we use the OSGi Applications support in WAS, we are using a standards-based programming model, and also gaining the well-understood benefits of WAS administration, performance and enterprise-level qualities of service.
Related:
The modularization challenge The OSGi Framework Enterprise OSGi standards The WebSphere programming model and OSGi Developing an OSGi application OSGi Service Platform Release 4 Version 4.2 Enterprise Specification The Apache Software Foundation Apache Aries Innovations within reach: Are we ready for enterprise OSGi?
File name: was323.html
prettyPrint();