0 Replies Latest reply on Apr 16, 2013 8:55 AM by thomas.diesler

    Apache Camel Subsystem

    thomas.diesler

      Apache Camel is a lightweight Enterprise Integration (EI) framework that is a core component in the JBoss Fuse ESB product. In an effort to consolidate product stacks and generallay enable Fuse components to leverage JBoss middleware functionality it would make sense to provide sound integration of Camel components with the AS8 infrastructure.

       

      Benefits of a Camel subsystem

       

      There are three integration points that benefit from tighter integration of Camel as a subsystem.

       

      1. Configuration - Camel configruation aspects (e.g. static routes) could be defined as part of the AS8 system configuration and hence be visible through the management layer. It could be modified through existing management clients (i.e. CLI, Web Console) and be distributed in the domain.
      2. Deployment - The Camel subsystem could define a number of Deployment Unit Processors (DUP) and such provide support for Camel specific deployment types (e.g. deployable routes)
      3. OSGi - Camel could leverage the OSGi Framework that is integrated in AS8. It could therefore access middleware services provided by other AS8 subsystem (i.e. integrate at the Modules level)

       

      Proposed Roadmap

       

      M1: Provide an initial Camel susbsystem implementation that comes with basic support for

       

      • Camel specific configuration
      • Camel specific deployments

       

      Target timeframe for this would be end of May-2013

       

      M2: Provide integration with key middleware services

       

      • Naming
      • Persistence
      • Transaction
      • Messaging
      • WebServices
      • REST

       

      Timeframe for partial completion would be Sep-2013 in time for the Integration Platform team meeting. 

       

      M3: Having learned from the above, complete the Camel integration with

       

      • TBD at the team meeting

       

      Installable Subsystem

       

      There is a feature request on AS that allows for subsystems to be installed at runtime. Such subsystems do not necessarily need to live with the AS codebase and don't need to be part of the build. The Camel subsystem could be the guinea-pig for the work on installable subsystems and live with the JBOSGi umbrella project. It would benefit from the eight weekly release cycle that we are planning to go back to for JBOSGi.