Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

One of the key design principles of Fabric3 is extensibility: middleware service containers 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:

  • Spring
  • JPA/Hibernate with XA transactions
  • Timers
  • JMS with XA transactions
  • Web Services
  • REST/JAX-RS
  • Web 2.0ZeroMQ 
  • 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 Fabric3 contribution and drop it in the runtime runtime /extensions  directorydirectory. The Fabric3 runtime is itself assembled from a series of SCA components so once you have mastered the SCA Fabric3 programming model, you are well along to understanding how to customize Fabric3the runtime.