Apache Camel, a powerful open source integration framework
Apache Camel is a parent of ServiceMix and Active MQ. The project has been initiated as a routing library.
Why integration?
- different stack technology
- business need
This integration framework is:
- based on Enterprise integration patterns
- includes 50 patterns
- 80 components for connecting to other systems
- 19 data format for transformation
- 14 expression languages
- DSL in three languages: XML, Java and Scala
- security integration
- event notification
- route policy
- threading model (non blocking routing engine)
- heavy lift
- focus on business
- famous pattern-context based router
Tooling is available for IDE.
The roots of Java EE 6: JSR-299 (CDI) and Weld extensions
Weld (reference implementation) is available in servlet container, it implements CDI.
JSR-299 provides:
- services for Java EE
- life cycle management for context
- type safe dependency injection
- event notification
- reduce coupling beans/interceptors
- decorators intercepting beans (AOP)
- EL integration
- extension SPI
Available extensions:
- hooks on container starting
- hooks JEE transaction boundaries
Definition by XML is available.