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.
- 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.
- 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)
- 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)
M1: Provide an initial Camel subsystem 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
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
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.
This article was generated from the following discussion: Apache Camel Subsystem