Modularity is the cornerstone of building applications architected around loosely-coupled services. Fabric3 supports two levels of modularity, service modularity and contribution modularity:
Service modularity makes use of composites to encapsulate low level services that perform specific functions and compose them into higher-order, coarser-grained services that can be shared across applications. Contribution modularity allows service artifacts such as Java classes to be shared by multiple contributions and also allows access to certain artifacts such as implementation classes to be restricted. Fabric3 uses OSGi for contribution modularity.
This section provides an overview of Fabric3's modularity features.