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

Compare with Current View Page History

« Previous Version 16 Next »

Tutorial - camel-example-reportincident

Information

Work in progress by Claus Ibsen. Tutorial to be part of Camel 1.5. (CAMEL-601)

Introduction

Creating this tutorial was inspired by a real life use-case I discussed over the phone with a college. He was working a client that uses a heavy-weight integration platform from very large vendor. He was in talks with contractors to implement a new integration on this heavy piece of platform - his trouble was though that the price was tripled when the contractors heard it had to be on this platform. So I was wondering how we could do this integration with Camel. Can it be done in one day.

This tutorial is written during the development of the integration. I have decided to start off with a sample that isn't Camel's but standard Java and then plugin Camel as we goes. Just as when people needed to learn Spring you could consume it piece by piece, the same goes with Camel.

Motivation for this tutorial

I wrote this tutorial motivated as Camel lacked an example application that was based on the web application deployment model. The entire world hasn't moved to pure OSGi deployments yet. And as a bonus I have a development team that needs to get up to speed on newer technologies such as Apache CXF and Spring.

The use-case

The goal is to allow staff to report incidents into a central administration. For that they use client software where they report the incident and submit it to the central administration. As this is an integration in a transition phase the administration should get these incidents by email whereas they are manually added to the database. The client software should gather the incident and submit the information to the integration platform that in term will transform the report into an email and send it to the central administrator for manual processing.

The figure below illustrates this process. The end users reports the incidents using the client applications. The incident is sent to the central integration platform as webservice. The integration platform will process the incident and send an OK acknowledgment back to the client. Then the integration will transform the message to an email and send it to the administration mail server. The users in the administration will receive the emails and take it from there.

In EIP patterns

We distill the use case as EIP patterns:

Parts

This tutorial is divided into parts:

TODO: Update part description
Part 1 is the prerequisites and how to setup the project and get a webservice exposed using Apache CXF. In fact we don't touch Camel yet.
Part 2 now we are ready to introduce Camel piece by piece and create the full feature integration. This part will introduce different solutions with Camel.
Part 3 continue from part 2 where we implement that last part of the solution with the event driven consumer and how to send the email
Part 4 where are my routes! yes Camel is very much into routes - lets finally look at a elegant solution
Part 5 spring, how well Camel and Spring goes hand in hand
Part 6 the more advanced part

  • No labels