The CIMERO project: a graphical Eclipse tool for ServiceMix

This Eclipse plugin permits to create graphically a configuration of a ServiceMix flow. With the created graph, user can build an XML configuration file to ServiceMix or a JBI package. The graphical configuration contains a toolbox (which contains some Binding Components and some Service Engines), a drawing area and a properties area.

To use it, you have just to choose the component you want in the toolbox and to drop it on the drawing area. Then, you can configure it and connect it with other components (see the screenshot).

Moreover, we associated this plugin with a second one which allows to create and run a ServiceMix server under Eclipse (based on the source code provided by ServiceMix). Then, our plugin is able to deploy a JBI package on a ServiceMix server by a single mouse click (without competition with the future ServiceMix plugin).

Features

Now, CIMERO editor provides:

7 binding components:

  1. a binding component to connect a RSS file
  2. a binding component to connect a WebService (sm-http)
  3. a binding component to connect a Mail server
  4. a binding component to connect a FTP server
  5. a binding component to connect a JMS server (sm-jms)
  6. a binding component to send input message (timer)
  7. a binding component to send a message to the screen

7 service engines:

  1. a service engine to transforme message (content transformer)
  2. a service engine to enriche message (message enricher)
  3. a service engine to splitt a message (eip-splitter)
  4. a service engine to aggregate a message (eip-aggregator)
  5. a service engine to trace a message (eip-wire-tap)
  6. a service engine to filter message (eip-filter)
  7. a service engine to route message (on properties or content)

Soon, CIMERO editor will maybe propose more components:

  1. a service engine to forward an input In-Only or Robust-In-Only exchange to a list of known recipients
  2. a service to validate message (validation service engine)

Feedback

If you have any questions or suggestions, please mail us to:

  • Cedric Mouilleron: cedric.mouilleron@bull.net
  • Pierre Notel: pierre.notel@bull.net 
  • Jerome Camilleri: jerome.camilleri@bull.net 

Thanks for feedback...

Download, installation and use

Requirements

The Eclipse IDE WebTools Platform; All-in-one from http://download.eclipse.org/webtools/downloads/ or any Eclipse IDE with the following extensions:

Note: CIMERO is not able to work within FUSE tooling 1.2 even though this is "just" an extended version of WTP. Reason: Some wizards (like "New Server") were tweaked and do not ask for the same information as WTP, but CIMERO relies on the information not collected any more (see screenshots below). Thus, deploying projects to servers is impossible. Furthermore, starting the ServiceMix server in FUSE 1.2 is possible, but FUSE does not detect ServiceMix was successfully started and shuts the process down after 75secs. It may work with the FUSE packaging of ServiceMix (still to confirm). The next release of FUSE tooling shall work fine with CIMERO.

Eclipse WTP 3.2
Containing field "ServiceMix Root Path"

FUSE 1.2
Not containing field "ServiceMix Root Path"

A Java Runtime Environment which is part of JDK 1.5, as [jdk1.5_home]\jre\bin\server\jvm.dll is not contained in a JRE distribution.

Tested on Debian, Windows 2000, Windows XP with Eclipse 3.1.2 and 3.2.0

Download and installation

In the "Attachments" tab of this wiki page, you can find

To install the plugins, just download and copy them to \<eclipse_dir>\plugins

In Eclipse, go to Menu, Windows, Preferences, Java, Installed JREs, and add a Java Runtime Environment which is part of JDK 1.5, as [jdk1.5_home]\jre\bin\server\jvm.dll is not contained in a JRE distribution. Without doing so, you will be prompted a message Error: no 'server' JVM at '[jdk1.5_home]\jre\bin\server\jvm.dll'. by the Java Virtual Machine Launcher.

Since ServiceMix-3.0-SNAPSHOT.jar is required, but nowhere available for download, just make a copy of servicemix-core-3.0-.jar and name itServiceMix-3.0-SNAPSHOT.jar, that should work.

Use

To actually create a CIMERO file, right-click the "Package Explorer" pane, click new, click other, select and follow the "Cimero File" wizard.

When custom components are used, right clicking the cimero file, Cimero, "Generate JBI package" and installing/deploying the generated package is required first. Afterwards - or when only standard components are used - right clicking the cimero file, Cimero, "Generate XML configuration file" creates the config file that has to be passed servicemix.bat as an argument. In case of erros, see User's Guide: 3. Installation, Troubleshooting.

TIP: These two plugins are explained in the Eclipse "Help contents", section "ServiceMix Plug-in".

Documentation

In the "Attachments" tab of this wiki page, you can find

As an example, the next picture is a screenshoot of a CIMERO use. The created graph is composed of :

  • an input and output mail message
  • a router of mail message
  • a transformer message (with a xslt file)
  • an output mail message
  • a tracer component (to send message copie)
  • an output screen message
  • an output SOAP message

The router is based on the "from" property of the input mail message and it send to the output mail server or to the ouput webservice.

A graph like this can be transformed automaticaly into an XML configuration file for ServiceMix or into a JBI package. Functionnalities to generate are in a popup menu like in this example.  The generated package can be deployed automaticaly on a ServiceMix server (you must configure and start it before deploying).

Licence

CIMERO Editor est disponible sous licence Apache.

/*
* Copyright (C) 2006  Bull S. A. S.
* Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Initial Contributors 2006
*
* Mouilleron Cedric : mouilleron.cedric@gmail.com
* Notel Pierre : pierre.notel@free.fr
*
* Camilleri Jerome : jerome.camilleri@bull.net
*/
  • No labels

2 Comments

  1. Anonymous

    Hi,

    I'd like to propose a change in the New Server dialog. The name of the ServiceMix jar file really shouldn't be hardcoded. I'm using the final version of 3.0, not the Snapshot one, and somebody else might want to use the 3.1 Snapshot version...

    Cheers,
    Paul

  2. Anonymous

    I'd also like to point out that there seems to be a problem when the ServieMix path contains any spaces. My ServiceMix directory is called "Program Files\Apache Software Foundation\apache-servicemix-3.0-incubating", thus contains spaces. When I try to start the server, I get this error message: java.lang.NoClassDefFoundError: Files/Apache. This does not occur when moving ServiceMix to a path that doesn't contain spaces.

    Cheers,

    Paul Haeder