You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Architecture

Camel is based around a Java Domain Specific Language (DSL) to configure the routing and mediation you require using type-safe Java code which has 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.

You can explicitly configure Component instances in an IoC container like Spring or Guice, or they can be auto-discovered using URIs. A Component is essentially a factory of Endpoint instances. An individual Endpoint acts rather like a URI 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 an Endpoint to exchange messages with it.

The Routing Domain Specific Language or Xml Configuration then adds Routes to a CamelContext which implement the various Enterprise Integration Patterns.

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

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

  • No labels