WAR Deployment

Deploying the WAR

Unzip the distribution somewhere on your disk, everything needed is inside.

Get the WAR file in the distribution root directory, rename it to ode.war and copy this file to Tomcat's webapp directory. Start Tomcat and ODE should be up and running. You should get the Axis2 welcome page under http://localhost:8080/ode. The ODE WAR includes its own embedded database (Derby) so you don't have to worry about configuring any external database for now.

Examples

Copy the content of the examples directory in the distribution (the 3 sub-directories) to tomcat/webapps/ode/WEB-INF/processes, this will automatically deploy the 3 example processes. Use the sendsoap command located in the distribution bin directory to send test messages. The messages to run each of the 3 examples are provided in their respective directory (testRequest.soap). For each example type something like:

$ bin/sendsoap http://localhost:8080/ode/processes/helloWorld examples/HelloWorld2/testRequest.soap

The sendsoap executable can be found in the distribution bin directory. The urls should be updated according to the address defined in the WSDL file for the process service.

Configuring ODE in Tomcat with a MySQL database

The ODE war should have been copied to the webapps directory of Tomcat and the server should have been started at least once before following these instructions. This ensures that the webapp is properly exploded.

  1. Drop the MySQL JDBC driver (MySQL Connector/J) in the common/lib directory of Tomcat.
  2. Add the following stanza to conf/server.xml inside the element:

    <Context path="/ode" docBase="ode" debug="5" reloadable="true" crossContext="true">
        <Resource name="jdbc/ODEDB" auth="Container" type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000"
            username="root" password="" driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/ode?autoReconnect=true"/>
    </Context>
    
  3. Make sure that MySQL is started and the ODE schema has been loaded in a ode database.

    $ mysql -u root
    mysql> create database ode;
    mysql> exit
    $ mysql -u root ode < ode_openjpa_mysql-1.3.2.sql
    
  4. Add a file named ode-axis2.properties under webapps/ode/WEB-INF/conf with the following content:

    ode-axis2.db.mode=EXTERNAL
    ode-axis2.db.ext.dataSource=java:comp/env/jdbc/ODEDB
    

You're done!

Configuring ODE in JBoss with external JNDI datasource

Create ode/WEB-INF/conf/ode-axis2.properties with following content:

#Uncomment for using dao hibernate
#ode-axis2.dao.factory=org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl
ode-axis2.db.mode=EXTERNAL
ode-axis2.db.ext.dataSource=java:comp/env/jdbc/ode
ode-axis2.event.listeners=org.apache.ode.bpel.common.evt.DebugBpelEventListener
ode-axis2.tx.factory.class=org.apache.ode.axis2.util.JBossFactory