Prototype sketching with Apache Camel

Almost every new project contains legacy code, legacy components or systems. Besides the business-logic a lot of boilerplate code has to be created; only to realize the integration of the legacy parts. Additionally at the beginning of a project it is not clear if the chosen approach works to integrate the legacy components. Coding different scenarios to integrate several technologies is not done within a few hours, more likely in a couple of days. I.e an architecture or integration prototype would be helpful to verify the ideas and figuring out possible issues and challenges up front.
Fortunately a lot of best practices and patterns exist to realize the integration of heterogeneous software-components resp. systems.
Gregor Hohpe and Bobby Woolf describe a couple of enterprise integration patterns in their book Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions.
But playing with prototypes should focus on the core high-level integration parts and not on technology depended work. The ASF project Camel is a good choice to stay focused and spend not too much time on low-level code. Approximately hundred components which realize the connection to different technologies and transport protocols are available out of the box. With Camel you are able to route messages between various heterogeneous systems and APIs in a standardized way. Find a short introduction in the free first chapter of Camel in Action

Once familiar with the basics of the framework, sketching prototypes, even complex ones, is quite comfortable and fast.
Your sketch bodies are:

  • Camel routes – to sketch one or more message flows
  • Camel domain-specific languages – to describe routes
  • DI Framework like Spring – to bind components and configure the environment

After you have set up an initial Camel based maven-project save a copy as a template for further sketches. Find a couple more or less complex pre-configured ones in the camel examples collection.

One thought on “Prototype sketching with Apache Camel

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s