MetaFluent Server Framework - Modular Components

The centerpiece of the MetaFluent Architecture is a modular server framework that allows us to assemble a variety of products satisfying a diverse set of requirements in different deployment scenarios.

Architectural Business Drivers

  • Integration - Our product will never exist in a vacuum. This means integration with existing systems is paramount. Successful integration requires abstraction and flexibility.
  • Rich Functionality - Complex enterprise systems are each unique. Our product must satisfy a diverse set of functional requirements. The architecture must be robust but also malleable.
  • Time-to-Market - Delivering incremental value-added functionality and integration capabilities in a cost-effective manner is key to providing a comprehensive solution.

Implementation Requirements

  • Modular - A modular system with modular packaging and deployment options is imperative when considering the range of deployment scenarios necessary in a complex enterprise environment. Any kind of monolithic deployment is simply unmanageable.
  • Flexible - Supporting a complex and varied set of functional requirements in a modular architecture requires the ability to combine functional building blocks in novel ways
  • Practical - Support for multiple versions of components, protocols, and client applications requires a rigorous yet flexible and easy-to-use component deployment and configuration scheme.

The MetaFluent Server Architecture

  • OSGi - OSGI is a component system, i.e. a framework for components, developed by a large alliance of businesses (read about the benefits of OSGi). OSGi defines standards for creating Java jar files as well as run-time capabilities to support a modular service-based framework. An architecture based on the concept of modular services provides the level of flexibility necessary to support MetaFluent customers' functional needs
  • Spring Dynamic Modules (DM) - Spring DM is the synthesis of OSGi and the well-known Spring inversion-of-control (IoC) framework and is the basis for the Eclipse Gemini project. Spring-DM provides the basis for "wiring" together and configuration components into higher-level applications. Using Spring DM gives MetaFluent the ability to easily and cost-effectively produce new solutions from existing components.
  • Packaging and Deployment Conventions - MetaFluent combines OSGi, Spring-DM, and other off-the-shelf components along with a set of tools and conventions, to provide a robust, practical server framework that provides deployment practices, version control and manageability suitable for an enterprise environment.

Read about how this architecture supports content modeling and various types of downstream protocols and applications such as the MetaFluent Server JMS Provider.