Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Tutoral on the camel-example-reportincident - part 1 of 3

Info
titleInformation

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 on 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.

The use-case

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 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.

...

We distill the use case as EIP patterns:

Part 1

Prerequisites

This tutorial uses the following frameworks:

  • Maven 2.0.9
  • Apache Camel 1.5
  • Apache CXF 2.1.1
  • Spring 2.5

Initial Project Setup

We want the integration to be a standard .war application that can be deployed in any web container such as Tomcat, Jetty or even heavy weight application servers such as WebLogic or WebSphere. There fore we start off with the standard Maven webapp project that is created with the following long archetype command:

...

Yep thats it for now. We have a basic project setup.

End of part 1

...

Thanks for being patient and reading all this more or less standard Maven, Spring, JAXWS and Apache CXF stuff. Its stuff that is well covered on the net, but I wanted a full fledged tutorial on a maven project setup that is web service ready with Apache CXF. We will use this as a base for the next part where we demonstrate how Camel can be digested slowly and piece by piece just as it was back in the times when was introduced and was learning the Spring framework that we take for granted today.

Resources