OSGi project facets

A project facet is a specific unit of functionality that you can add to a project when that functionality is required. When a project facet is added to a project, it can add natures, builders, class path entries, and resources to a project, depending on the characteristics of the particular project. Facets define characteristics and requirements for OSGi projects and are used as part of the runtime configuration.

When you add a facet to a project, that project is configured to perform a certain task, fulfill certain requirements, or have certain characteristics. For example, the EAR facet sets up a project to function as an enterprise application by adding a deployment descriptor and setting up the project class path.

Some facets require other facets as prerequisites. In other cases, facets cannot coexist in the same project. For example, you cannot add the Dynamic Web Module facet to an EJB project because the EJB project already has the EJB Module facet. Some facets can be removed from a project and others cannot.

Table 1. OSGi application development facets
Project facet Description Dependencies
OSGi Application This facet supplies the basic behaviors and capabilities that are associated with OSGi applications, such as:
  • Extensions in Enterprise Explorer that visualize the contents of the application
  • APPLICATION.MF editing
  • Capability to export to an EBA file
 
OSGi Bundle This facet supplies the basic behaviors and capabilities that are associated with OSGi bundles, such as:
  • OSGi blueprint service indexing
  • Capability to export to a bundle JAR file
Java™ version 5.0+
OSGi Composite Bundle This facet supplies the basic behaviors and capabilities that are associated with OSGi composite bundles, such as:
  • Extensions in Enterprise Explorer that visualize the contents of a composite bundle
  • COMPOSITEBUNDLE.MF editing
  • Capability to export to a CBA file
 
OSGi Fragment This facet supplies the basic behaviors and capabilities that are associated with OSGi fragments, such as:
  • Capability to extend an OSGi bundle
  • Capability to export a fragment JAR file
Java version 1.5+
Icon that indicates the type of topic Concept topic
Timestamp icon Last updated: July 17, 2017 21:58

File name: cosgifacets.html