Thursday, December 2, 2010

Devoxx 2010 daily notes: day five

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.