Whether you choose to use EJB or not with OSWorkflow, you'll need to run this SQL script to create the proper tables. This script has only been tested with Oracle and may require some small modifications for your database. If you do change the table schemas, remember that you may need to alter your deployment descriptors for your app server or other componenets, such as your entitymodel.xml file in Open For Business.
Installation of the OSWorkflow libraries is very simple. It involves nothing more than including osworkflow.jar, osuser.jar, and oscore.jar in your enterprise application deployment (.ear file). The following entry should be added to your application.xml:
<module> <ejb>oscore.jar</ejb> </module>
<module> <ejb>osuser.jar</ejb> </module>
<module> <ejb>osworkflow.jar</ejb> </module>
If your application server is currently supported, deployment will be automatic. If your application server isn't officially supported, you'll need to generate or write the vendor-specific deployment descriptors before deployment will work. Please read the installation and requirements documentation for OSCore and OSUser for more details.
Depending on how you wish to handle your JNDI lookups, you may wish to also
open up osworkflow.jar and edit the ejb-jar.xml file directly
to include resource-refs and ejb-refs to tailor your unique requirements. This
is not required and is discussed in more detail later.
If you aren't using EJB persistence or EJB interfaces to OSWorkflow, you won't want to deploy OSWorkflow as an EJB but instead just make sure it is in your classpath, such as in WEB-INF/lib. Other than that, the following libraries will also be required to be in your classpath.
Whether doing the EJB or non-EJB install, you will need to the following files in your classpath for OSWorkflow to function properly:
SOAP support is optional and not required for basic operation. With that said, you cannot use any of the scheduling features without SOAP support enabled. To do this, enter the following in your web.xml file for your web app (or create a new web-app):
<servlet> <servlet-name> http </servlet-name> <servlet-class> electric.server.http.ServletServer </servlet-class>
<init-param> <param-name> electric.commands </param-name> <param-value> /commands.xml </param-value> </init-param>
<init-param> <param-name> electric.logging </param-name> <param-value> ERROR, COMMENT, COMMAND </param-value> </init-param>
<load-on-startup> 1 </load-on-startup> </servlet>
<servlet-mapping> <servlet-name> http </servlet-name> <url-pattern> /glue/* </url-pattern> </servlet-mapping>
To get Quartz running, you'll need to use of of the supplied scripts to help out with classpath issues. Look at the files in example/quartz to get started. To use the Quartz job scheduler, you'll need to create the neccessary tables for MySQL or Oracle. Also you may need to configure quartz.properties for both your client app (run using quartzrunner.bat) and your app server. You can find out more about the quartz.properties file by looking in example/quartz.