Learn about OSGi applications
The OSGi applications framework provides a programming model for developing, assembling, and deploying modular applications that use Java™ EE and OSGi technologies. OSGi application development tools provide a way to build enterprise applications that benefit from the modularity, dynamism, version control, and third-party library integration that is provided by the OSGi applications framework.
- Overview
- OSGi support in WebSphere Application Server
- Getting started
- Samples and tutorials
- Web resources for learning
Overview
You can read the following topics before you create an OSGi application. They provide planning and technology overview information that might be useful if you are new to OSGi application development or developing OSGi applications in this development environment.
OSGi support in WebSphere Application Server
- Web applications
- Java Persistence API (JPA) applications
- JAX-RS (REST) Web services
- JavaServer Faces applications
- XML applications
- EJBs
Version support in WebSphere® Application Server version 8.5 | Version support in Liberty server | |
---|---|---|
Dynamic Web Modules | 2.5 and 3.0 | 2.5 and 3.0 |
EJBs | 3.0 and 3.1 | Not supported |
Java Persistence API | 1.0 and 2.0 | 1.0 and 2.0 |
JavaServer Faces | 1.1, 1.2, and 2.0 | Not supported |
JAX-RS | 1.1 | 1.1 |
JAX-WS | 2.2 | |
SIP | 1.0 and 1.1 Note: Annotated SIP1.1, or OSGi, applications are not
supported
|
1.0 and 1.1 |
Supported in WebSphere Application Server version 8.5 | Supported in Liberty server | ||
---|---|---|---|
OSGi Applications containing: | OSGi Bundles | ||
OSGi Bundles with EJBs | |||
OSGi Fragments | |||
OSGi Composite bundles | |||
Java EE WAR Modules | |||
PDE plug-ins | |||
PDE fragments | |||
OSGi Composite bundles containing: | OSGi Bundles | ||
OSGi Bundles with EJBs | |||
OSGi Fragments | |||
PDE plug-ins | |||
PDE fragments |
Getting started
If you are already familiar with OSGi development technology, the following topics guide you through the development process.
Samples and tutorials
For a complete list of OSGi application development samples and tutorials, refer to OSGi application samples and tutorials. To view the sample and tutorials in this product, click and expand the Samples and Tutorials sections.
Learn about different aspects of OSGi application development from the following samples and tutorials:
- Sample: OSGi Hello World
- This sample OSGi application contains a servlet that demonstrates the use of an activator.
- Sample: OSGi Counter Service
- This sample OSGi application consists of an OSGi web bundle that contains a servlet that accesses a service that is provided in another bundle project. This sample is an introduction to using OSGi application development tools.
- Sample: OSGi Blog
- This sample OSGi application demonstrates how to structure the API and implementation code into separate bundles. The OSGi application consists of an OSGi web bundle that contains servlets that access a JPA service that is provided in another bundle.
- Sample: EJB temperature converter
- This OSGi sample demonstrates an EJB configured as an OSGi bundle and exposed as a service.
- Tutorial: Develop a simple OSGi application
- This tutorial demonstrates how to create an OSGi application and run it on WebSphere Application Server. The OSGi application consists of an OSGi web bundle that contains a servlet that accesses a service that is provided in another bundle project. This tutorial is an introduction to using OSGi application development tools.
- Tutorial: OSGi EJB service
- This tutorial demonstrates how to create an OSGi application that exposes an EJB as a service. It demonstrates how to create OSGi bundles with EJB support, use the OSGi tools to manage EJB exports, and create a servlet that accesses the EJB as an OSGi service.
Web resources for learning
In addition to the information found in this information center, the following links provide extra learning material.
Developing enterprise OSGi applications for WebSphere Application Server
Best practices for developing and working with OSGi applications