The Chameleon project aims to provide a simple way to lay out specific OSGi runtimes to fit your requirements. It aims to do this by providing a layered stack. Each layer focuses on a specific part of the system, from the underlying runtime to a service catalog containing useful and reusable services.
The Chameleon service catalog lists services and their implementations. This catalog focuses on the service concept and implementations are substitutable. This means that you can choose your implementations according to your requirements and switch between them dynamically. The catalog not only contains services defined and implemented in OW2 Chameleon, but also standard OSGi services as well as other services.
The infrastructure layer contains a set of frameworks to:
- Interact with remote services and deal with distributed event protocols
- Introspect the current state of the system
- (Re-) configure the system
- Administer the system and the applications
Chameleon doesn't define one single way to deploy components, but instead supports several mechanisms such as:
- Apache Felix FileInstall: to easily install bundles locally (like the 'deploy' folder on a JavaEE application server)
- OSGi Bundle Repository: to deploy OSGi components and their dependencies
- OSGi Deployment Admin: to deploy a set of OSGi bundles inside one deployment package
- Apache Ace: to manage the deployment of a set of OSGi runtimes
Finally, Chameleon provides distributions: specific configured stacks containing a set of components selected to fit a particular domain (such as web applications or lightweight servers). When you download a distribution, you have everything you need to run the Chameleon. However, you can also extend and customize it to suit your needs.
OW2 Chameleon project home page
SQuAT: Software Quality Assurance and Trustworthiness
for a description of OW2 SQuAT programme.