Skip to end of metadata
Go to start of metadata

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

Compare with Current Restore this Version View Page History

« Previous Version 3 Next »

One of the key design principles of Fabric3 is extensibility: middleware should maintain a small footprint and only include the features required by an application. In keeping with this, Fabric3 is architected as a small kernel with additional functionality provided through extensions. This allows users to choose the capabilities they need or provide them through custom extensions.

The base runtime distribution contains only core functionality. Most applications will require one or more extensions. Fabric3 has bundled commonly used extensions in a set of profiles, which can be installed as aggregates in a runtime. Fabric3 profiles include:

  • JPA/Hibernate with XA transactions
  • JMS with XA transactions
  • Web Services
  • REST/JAX-RS
  • Web 2.0
  • Web Applications
  • Spring
  • Timers

Since simplicity is also a design goal, Fabric3 attempts to make creating custom extensions as straightforward as possible: write an SCA contribution and drop it in the runtime /extensions directory. The Fabric3 runtime is itself assembled from a series of SCA components so once you have mastered the SCA programming model, you are well along to understanding how to customize Fabric3.