Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Swordfish Documentation: Installing ODE
Installing the ODE Engine
The Apache ODE BPEL engine supports the execution of BPEL processes in Swordfish. In Swordfish ODE uses Servicemix 4 as JBI container and an adapted ODE JBI integration layer which supports an EclipseLink based database integration to persist the process state. See ODE User Guide for general issues about the ODE JBI deployment and ODE Tutorials for additional ODE tutorials. The deployment and execution of BPEL processes in Swordfish is described in Executing BPEL processes
Swordfish ODE is provided as an OSGI bundle which can be installed/started using OSGI mechanisms - either using the install/start commands of the OSGI console or by listing the ODE bundle inside the Equinox config.ini file.
Starting ODE
- Create a target platform which extends the standard Swordfish target platform by all bundles in the ODE.extension project in dev.eclipse.org/svnroot/rt/org.eclipse.swordfish/sandbox
- Create an Eclipse OSGI Run Configuration using the ODE target platform as described above where:
Program arguments -os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -clean VM arguments -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djava.util.logging.config.file="your logging.properties location" -Dorg.osgi.service.http.port=9001 -Dorg.eclipse.swordfish.registry.fileLocation="your_repository_location" -Declipse.ignoreApp=true -Dservicemix.base=. Working directory ${workspace_loc:org.apache.ode}/work
- Export the org.apache.ode project in dev.eclipse.org/svnroot/rt/org.eclipse.swordfish/sandbox as an eclipse plugin
- Install and start the created ODE bundle using the OSGI console
Configuration of ODE
In the debugging phase we recommend to increase the default global logging level in the logging.properties file referred in the -Djava.util.logging.config.file option in the run configuration.
ODE specific logging options can found in the ode-jbi.properties file in org.apache.ode in sandbox
ode-jbi.event.listeners=org.apache.ode.bpel.common.evt.DebugBpelEventListener debugeventlistener.dumpToStdOut=on
ode-jbi.properties contains also the definition of the database layer used to persist the process state. The use of EclipseLink is hard coded in our ODE database integration layer - which originally was developed in SMILA. What can be changed is the database used - instead of Apache Derby for instance HSQLDB or an Oracle Database can be used. Currently we configured Apache Derby as an "in memory" data base, which may be changed for long running processes where real persistance is required.
The JPA configuration is located in META-INF/persistence.xml in org.apache.ode - see persistence_xml for an explanation.