Versions Compared

Key

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

...

Maven project name

Description

Is it a bundle ?

reportincident.activemq

configuration file of the ActiveMQ engine

yes

eportincident reportincident.camelqueueservice

configuration file of the camel-activemq component

yes

reportincident.db

generator of the script DB

no

reportincident.features

features provisioning file containing our bundles dependencies

no

reportincident.model

model layer

yes

reportincident.persistence

hibernate persistence layer; bundle

yes

reportincident.routing

camel routing

yes

reportincident.service

spring service layer

yes

reportincident.web

apache wicket module

yes

reportincident.webservice

CXF web service generator

yes

As you can see, some are considered as OSGI bundles and others no. An important point to mention here concerns the granularity : each layer of our application will be deployed as separate bundles. This will facilitate the maintenance and release management. Of course, you can argue that the granularity is too small. SOA is not an exact science and depending of the size of the application, the team in charge to develop, release management procedure this cutting will be redefined. You can imagine that the parameters used to configure Hibernate and Spring are bundles together instead inside the persistence. Service bundle could be split into several bundles; one by service type, ... There are no rules of thumb except that the project must be manageable and maintainable.

...

Step 1 : Initial Project Setup

...

First, we will create the 10 eclipse (defined in the table) using the maven archetype 'spring-osgi-bundle-archetype'.

To create the simple service project, execute the following command in your Unix/Dos console.

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

Remarks:

  • The archetype version depends on the version of Spring Dynamic Module used and must be adapted in consequence,
  • According to your project, you can change the artifactId to point to com.mycompany.application.service, and groupId com.mycompany.application

Step 2 : Develop the interface

...