Working with Apache Camel

Apache Camel is an integration framework simplifying the routing of messages between different systems and application components. It enables developers to easily send messages to systems or components using multiple transports, languages and data formats. The support for Enterprise Integration Patterns (EIPs) allows you to simply implement various publish-subscribe models with a minimum of code.

In this course, you will use Apache Camel to build integration solutions using Enterprise Integration Patterns, the book by Gregor Hohpe and Bobby Woolf. These EIPs identify common designs for asynchronous solution-oriented messages.

Duration2 days (14 hours)
Target AudienceJava application programmers.
PrerequisitesCompetent in Java and general knowledge in application development using Eclipse IDE and Maven.
Course Objectives
After completing this class, you will be able to:
  • Briefly describe the role that Camel plays in a Service Oriented Architecture, as well as its value.
  • Describe the differences between Orchestration and Choreography, and give an example of use.
  • Define an Enterprise Integration Pattern (EIP), and give two examples.
  • Match the graphic representation of an EIP to the associated description.
  • Control message routing from a data generator to a data consumer.
  • Control message exchange between two systems, services or application components using a transactional model and a non-transactional model.
  • Use Camel components to connect to various endpoints, including Java beans, CXF for Web services, ActiveMQ for JMS, JDBC data sources, file sources and FTP.
  • Expand the Camel system’s type conversion for new message types.
  • Use Camel to control the duration and sequence of message delivery.
  • Specify Camel routes using Java and Spring (Domain Specific Language, DSL).
  • Implement simultaneous message processing in routes for scalability.
  • Implement Camel Test for unit tests and integration.
  • Deploy Camel in a JVM, a Tomcat server and an Enterprise Java Bean (EJB) environment.
  • Set error handler and exception policy to manage communication issues.
  • Monitor and test Camel operations to ensure that they work properly.
Course Agenda
  • Overview of Apache Camel
  • Routing
  • Beans
  • Error handling
  • Test
  • Components
  • Enterprise Integration Patterns
  • Running Camel
  • Deploying Camel