You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Apache Felix Application Demonstration

(This document is a work in progress.)

Apache Felix provides a foundation for creating modular and dynamically extensible applications. This page presents an example application to demonstrate the various approaches to consider when creating a OSGi/Felix-based application.

Potential Approaches

When creating an OSGi-based application there are two main orthogonal issues to consider:

  1. Service vs. extender model
  2. On top of vs. embedding the framework instance

The first issue is actually a general issue when creating OSGi-based applications. There are two different general approaches that can be used when creating an extensible OSGi application. The service-based approach uses the OSGi service concept and the service registry as the extensibility mechanism. The extender-based approach uses the OSGi installed bundle set as the extensibility mechanism. Both approaches have their advantages and disadvantages and they can be used independently or together.

The second issue is related to whether your application is run completely on top of the OSGi framework as a set of bundles or whether your application acts as a host for an embedded OSGi framework instance. Creating applications completely as a set of bundles is the preferred approach since it allows the application to run on any OSGi framework, but this it not always possible. In such cases where it is not possible or desired, then you may embed a framework instance inside your application, which will likely tie your application to that framework implementation.

The remainder of this document will present variations of an example application that demonstrates these different approaches.

Service-Based Application on top of the Framework

Service-Based Application embedding the Framework

Extender-Based Application on top of the Framework

Coming soon...

Extender-Based Application embedding the Framework

Coming soon...

  • No labels