Printemps DM Server 1.2.0-m2
Introduction
The focus of this Tutorial is to introduce you how you can create, design a simple SOA solution using Camel and OSGI. Most of the current and commercial SOA solutions rely on standards XML/WSDL/BPMN/BPEL and Business Processes (designed through WYSIWYG editor like Eclispe or propriatary product) which are deployed and orchestrated into a Business Process Expression Language engine.
Such a solution can be envisaged for big companies because the skills/time to market are important or when different development standards exist
inside the company like (Java, .NET).
...
- Create a simple service (derived from the camel-osgi example TODO add url) module (interface + implementation) and package it as a bundle,
...
- The Camel routing will use an OSGI reference to call the simple service
The second part of this tutorial will be derived from the "Reporting Incident Tutorial" and will show you a more real application (which is web based) can be re-scoped into a OSGI application.
Prerequisites
This tutorial uses :
- Maven 2.0.9 to setup the Camel project and for dependencies for artifacts,
- Eclipse Ganymede 3.4.x,
- Spring Dynamic Modules for OSGI 1.2.0-m2
- Service Mix Kernel 1.0.0,
- Spring DM Server 1.0.1
Note: The sample project can be downloaded, see the resources section.
Initial Project Setup
First, we create two eclipse projects using the maven archetype 'spring-osgi-bundle-archetype'. This archetype is helpful because it generates a pom.xml file that we will use with maven goal(s) to create the :
- MANIFEST.MF file (file required and specifying the information about the bundle to deploy on the OSGI server, dependency with another bundle, version, ... )
- jar of the bundle to deploy on the server
To create the simple service project, execute the following command in your Unix/Dos console.
Code Block |
---|
mvn archetype:create -DarchetypeGroupId=org.springframework.osgi -DarchetypeArtifactId=spring-osgi-bundle-archetype -DarchetypeVersion=1.2.0-m2 -DgroupId=demo -DartifactId=demo.service-bundle -Dversion=0.1 |
#Resources
Attachments patterns .*part-one.zip