开源工作流管理系统PowerStone发布

PowerStone(中文名——磐石)是一个基于Spring、Hibernate及其它若干开源框架和工具的,开放源代码的工作流管理系统;
它实现了工作流管理联盟(WfMC)的Workflow参考模型中的接口1、2和5;
它以开源的工作流编辑器——Enhydra JaWE(http://jawe.objectweb.org)作为流程定义工具。

PowerStone由以下模块构成:
1、工作流引擎:负责解析用JaWE编辑生成的XPDL流程定义文档、调度流程流转、生成任务列表;
2、管理控制台:提供工作流上传、部署、监控等后台管理功能,是一个WEB应用;
3、任务列表:供最终用户使用来处理业务数据、与工作流引擎交互;
4、用户权限系统:一个可替换的用户、权限管理系统,提供了基本的用户数据管理、基于角色的授权与访问控制和多系统单点登录功能。

为什么又要做一个工作流软件?
1、由于工作流管理理论还很不成熟(相对于关系型数据库理论),各家对其理解和阐述五花八门,甚至在一些基本概念上都不统一;
现有的工作流管理软件虽然数量众多,但是根据其理论基础、体系结构、技术实现、适用场景的不同,可以划分成许多分类,彼此之间没有多少相似性;
PowerStone的定位是:基于有限状态自动机理论的、采用嵌入式和轻量级架构的、
采用关系数据库存储的(这不是废话,好像确实有人不用数据库存储流程数据)工作流管理系统,适用于面向流程型的应用(不同于OA和一些PDM产品等面向文档型的应用),
典型的应用场景是流程逻辑复杂、多人协作、任务分发方式灵活、应用种类繁多甚至分布式部署,
最典型的属于此类工作流软件的首先要数JBoss下的jBPM(希望PowerStone能够早日取代它);
因此不难看出,此类工作流管理系统的发展趋势是成为SAO体系架构中的调度中心和枢纽,实际上jBPM已经集成了BPEL。

2、基于现有的工作流管理软件开发业务系统还比较难:有的采用了EJB导致系统笨重(难测试、难部署、难移植);
有的没有采用O/R mapping工具或是用了专有O/R mapping框架(比如shark),导致数据库移植困难;
有的不完整,只提供一个引擎,甚至没有任务列表(如OSWorkflow);
有的过于庞大、臃肿,难以修改(比如shark等比较早的)。
(jBPM好像却是比较厉害:)PowerStone采用SpringMVC+Spring+Hibernate的轻量级架构,有较完整的单元测试,
支持所有主流的数据库和应用服务器(实际上只要web服务器就够了),以开源的JaWE作为流程定义工具,有任务列表和可替换的用户权限系统,
嵌入式工作流引擎方便开发(甚至不依赖web容器,可以开发桌面应用和胖客户端)。

3、可以作为类似于Appfuse和Equinox的范例学习使用Spring、Hibernate等开元框架:(

由于PowerStone项目是以开源项目Equinox(https://equinox.dev.java.net/)为基础开发的,所以,如果了解Equinox或AppFuse会对掌握PowerStone很有帮助。通过下列步骤就可以立刻开始体验PowerStone了。

建立环境:
1.安装 J2SE 1.4.2+,设置JAVA_HOME 环境变量指向其安装路径。
2.安装Ant 1.6.2+(就是解压到一个目录),设置ANT_HOME 环境变量指向其安装路径,为了用Ant跑单元测试,Copy WEB-INF\lib/junit.jar to $ANT_HOME/lib。
3.安装Tomcat 5.0.12,设置CATALINA_HOME环境变量指向Tomcat安装路径。这里选择Tomcat只是因为通过ANT任务可以很方便的把应用部署到Tomcat。还在JBoss4.0和Weblogic8.1上测试过。
4.给环环境变量Path的值添加内容;%JAVA_HOME%/bin;%ANT_HOME%/bin;%CATALINA_HOME%/bin
5.安装一个数据库。Hibernate支持多种数据库,但是我们只在MySQL、MSSQLServer(jTDS驱动)和Oracle上测试过。

测试与部署:
1.从http://sourceforge.net/projects/powerstone下载PowerStone最新版本,解压到某个目录,下文用$PS_HOME表示。
2.为PowerStone新建数据库workflow。
3.编辑$PS_HOME/web/WEB-INF/classes下的ps_database.properties,修改配置令其符合你的数据库环境;MySQL4.1和MSSQLServer的驱动程序已经存在于$PS_HOME/web/WEB-INF/lib中,如果用其它种类数据库,拷贝其驱动到$PS_HOME/web/WEB-INF/lib。
4.编辑$PS_HOME下的build.properties,修改Tomcat参数和JDK版本已符合实际环境
5.打开命令行工具,进入$PS_HOME,运行命令ant test,如果不出意外测试会全部通过,此时数据库中所有表已建好。
6.运行命令ant deploy
7.启动Tomcat。
8.Tomcat启动完成以后,运行命令ant test -Dtestcase=InitDreamBikeDriver为系统初始化。
9.访问http://localhost:8080/ps_console,用户名密码均为admin。

你可能感兴趣的:(tomcat,工作,ant,配置管理,项目管理)