6 Nisan 2009 Pazartesi

Eclipse Bpel Designer & Apache ODE

Hello everybody! In this record, I give some basic info about Apache ODE and how to integrate ODE with Eclipse through Eclipse Bpel plugin. Since Eclipse Bpel plugin have not published ODE runtime integration yet, this is not straightforward at this moment. Besides, current Eclipse Bpel does not support Eclipse Ganymede, but I use Ganymede in the following case..
Lets begin..

Deploying ODE to tomcat (5.0.28):
Download .war distribution of ODE 1.2 from http://www.apache.org/dyn/closer.cgi/ode/apache-ode-war-1.2.zip . Extract the file. Copy ode.war to $CATALINA_HOME/webapps. Start tomcat. Open http://localhost:8080/ode
BağlantıDeploying processes to ODE: Put the process folders under $CATALINA_HOME/webapps/ode/WEB-INF/processes manually for manual deployment.

ODE Client: As I know, there is no interface for ODE in which I can see deployed processes except axis2 interface, active processes etc. like ActiveBpel. However, ODE provides the api for this. For instance, this is my little ODE Client to see deployed processes:
-----------------------------
package ode.client;

import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.ode.axis2.service.ServiceClientUtil;

public class ODEClient {
OMElement listAllProcesses() throws AxisFault {
ServiceClientUtil client = new ServiceClientUtil();
OMElement root = client.buildMessage("listAllProcesses", new String[] {}, new String[] {});
OMElement result = client.send( root, "http://localhost:8080/ode/processes/ProcessManagement");

return result;
}

public static void main(String[] args) {
ODEClient client = new ODEClient();
try {
client.listAllProcesses();
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
-----------------------------

Eclipse & ODE runtime integration: This is not published yet. (
http://www.nabble.com/Setup-apache-ODE-runtime-td17848560.html)
However, by following the steps in
http://people.apache.org/~vanto/HelloWorld-BPELDesignerAndODE.pdf , it is possible by getting the latest version for the plugin!
Unfortunately, Eclipse Bpel Designer plugin is not available for Ganymede. But, since I get the latest code for the plugin, I can use Eclipse-Ganymede-Rcp instead of Europa.

Different from HelloWorld-BPELDesignerAndODE document, I did the following:
  • Use eclipse-ganymede-rcp, instead of eclipse-europa-rcp. Otherwise, since the latest code is for ganymede, there will be errors due to version differences.
  • Skip part 2.1 if Apache ODE is already installed.
  • Skip steps 1 to 8 in part 2.2 since BPEL designer is not available for Ganymede in the update site.
  • In step 12 in part 2.2.1, check out all bpel projects under org.eclipse.bpel/plugins.
  • Some of the checked out projects were erronous due to lack of some org.eclipse.wst component. So, installed all plugins starting with WST under ganymede update site (uncategorized).
  • Some projects were erronous due to lack of org.eclipse.jst.. Install all plugins starting with JST under ganymede update site (uncategorized).
  • Delete project org.eclipse.bpel.xpath10.junit since other projects do not depend on it and it mostly consists of unit test.
Currently, all the projects must be error-free :) Continue with step 16 in part 2.2.2.
  • For step 16, Open Run Dialog is Europa is analogous to Run Configurations in Ganymede.
It seems that it supports ODE 1.0, but it did also worked with ODE 1.2 :)

I had problem in viewing http://localhost:8080/ode, however wsdl was ok in http://localhost:8080/ode/processes/HelloWorld?wsdl, so ı didn't care :)

Note on 4/5/9 : I could not view ode since AXIS2_HOME is not defined. When I added this environment variable, it is OK :)

ActiveBpel & ODE Comparison:
http://www.mail-archive.com/ode-dev@incubator.apache.org/msg00825.html
Besides, ODE package structure is very simpler than ActiveBpel.

Some documentation:
http://www.infoq.com/articles/paul-brown-ode
http://ode.apache.org/user-guide.html

My next step may be Intalio. http://www.intalio.com/products/designer/

Hiç yorum yok:

Yorum Gönder