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 Java Domain Specific Language (DSL) or Xml Configuration then adds Routes to a CamelContext which implement the various Enterprise Integration Patterns.
Links
The following links are to the individual parts of the Architecture.