Architecture
Excerpt |
---|
Camel |
uses a Java based Routing Domain Specific Language (DSL) or an Xml Configuration to configure |
rules which are added to a CamelContext to implement the various Enterprise Integration Patterns. 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 Java code or an IoC container like Spring or Guice, or they can be auto-discovered using URIs. |
An 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 |
on an Endpoint to exchange messages with it. The DSL |
The DSL makes heavy use of Expression and Predicate syntax so that different languages can be plugged into the DSL such as
- Scripting Languages such as Ruby, Groovy, JavaScript, Python etc
- SQL
- XPath and XQuery
...
makes heavy use of pluggable Languages to create an Expression 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 | ||||
---|---|---|---|---|
|
Contents
The following links are to the individual parts of the Architecture.
Children Display | ||
---|---|---|
|
Diagram