Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Architecture

Camel is based around uses a Java based Routing Domain Specific Language (DSL) to configure the routing and mediation you require rules using type-safe Java code which has supports smart IDE smart completion without the need for reams of XML.

At a high level Camel consists of a CamelContext which contains a collection of Component instances. A Component is essentially a factory of Endpoint instances. You can explicitly configure Component instances in an IoC container like Spring or Guice, or they can be auto-discovered using URIs.

An A Component is essentially a factory of Endpoint instances. An individual Endpoint acts rather like a URI or URL in a web application or a Destination in a JMS system; you can communicate with an endpoint; either sending messages to it or consuming messages from it. You can then create a Producer or Consumer of on an Endpoint to exchange messages with it.

The DSL or Xml Configuration then adds Routes to a CamelContext which implement the various Enterprise Integration Patterns.

The DSL makes heavy use of pluggable Languages to create an Expression and Predicate syntax so that different languages can be plugged into the DSL such as

...

or Predicate to make a truly powerful DSL which is extensible to the most suitable language depending on your needs. The following languages are supported

Include Page
CAMEL:Languages Supported
CAMEL:Languages Supported

...

The following links are to the individual parts of the Architecture.

...