当前位置: 首页 > 工具软件 > Enhydra Shark > 使用案例 >

开源工作流引擎Shark入门1——安装与配置

葛雪松
2023-12-01
    Enhydra Shark是一个开源的工作流引擎框架,使用Java进行开发,遵守LGPL协议。Shark遵守WfMC、OMG规范,以XPDL(XML Process Definition Language)进行流程定义。
    Shark以Java库的方式运行,并不启动自己的线程,而是和使用它的系统一起运行。这种简单点的方式使它可以在很多环境中运行,如Web、Java Application、CORBA、EJB、RMI、WEB Service等环境下都可以运行,甚至以Shark为基础也可以开发出支持分布式工作流的应用。
    Shark具有非常好的灵活性,本身有很多内置的实现模块,如用户/用户组模型、任务分配模型,如果觉得Shark内置的实现方式不满足自己的需求,也可以定义自己的实现方式。
    Shark支持JTA事务,在开发应用程序时,不用担心业务系统、工作流引擎的全局事务问题,这一点对于开发健壮的数据一致的系统尤为重要。
    编写XPDL的工作流定义时,可以用Enhydra JaWE(Java Workflow Editor)进行XPDL文件的编辑。JaWE是开源的图形化的工作流程编辑器,遵守WfMC的XPDL规范。
    在 http://www.enhydra.org/workflow/shark/index.html有对Shark的简介,点击右侧的图标链接到Shark的下载界面(http://forge.ow2.org/projects/shark/),提供几种格式的下载,我们选择tws-community-2.4-1.setup.exe,这是Shark的2.4.1版本。下载完成之后进行安装,以下以%SHARK_HOME%代表Shark的安装目录。安装完成后,运行开始菜单|程序|Together Workflow Server CE 2.4-1|Run TWS Admin Application,就可以打开Shark的模拟器了,具体用法参考安装之后的文档。
    安装Shark之后,默认的是使用hsql数据库,所以没有进行任何配置,就可以模拟工作流的环境了。Shark支持db2、hsql、informix、msql、msql2005、mysql、oracle、postgresql、sybase等多种数据库,如果要使用其他数据库,进行以下配置:
    1、编辑%SHARK_HOME%/configure.properties,配置数据库信息。
    此处假定使用mysql数据库。configure.properties中需要修改的地方如下:
      db_loader_job=mysql (注:数据库的类型)
      db_ext_dirs=D:/mysql-5.0.51b-win32/jdbclib (注:数据库jdbc驱动所在的路径)
      mysql_JdbcDriver=com.mysql.jdbc.Driver (注:数据库的jdbc驱动管理类的类名称)
      mysql_Connection_Url=jdbc:mysql://localhost:3306/sharkDemo (注:数据库的连接字符串)
      mysql_user=root (注:数据库的用户名)
      mysql_passwd= (注:数据库的密码)
    2、运行%SHARK_HOME%/configure.bat
    完成之后,连接到数据库,就会看到里面建立了很多表,再次启动Shark就会连接新的数据库了。其实,在数据库执行的脚本都在%SHARK_HOME%/conf/sql下面,LoaderJob.olj定义了sql脚本的执行顺序,我们按顺序执行脚本也可以建立起数据库。
    系统自带了一个工作流的简单例子,在%SHARK_HOME%/JSPClient/readme.txt中介绍了JSPClient在Tomcat 6.x下的安装方法,即:
    1、把sharkworklisthandler.war文件从%SHARK_HOME%/JSPClient拷贝到%TOMCAT_HOME%/webapps文件夹下面。
    2、把carol.properties文件从%SHARK_HOME%/JSPClient拷贝到%TOMCAT_HOME%/lib文件夹下面。
    启动tomcat,sharkworklisthandler这个简单的应用就可以运行了,简单到所有的任务只分配给一个人,但在这个简单应用的基础上,我们可以开发自己的应用程序,节省了自己配置的麻烦,开发的方法以后再介绍。
 类似资料: