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等开元框架

解决方案 »

  1.   

    对于流程的定制是否是GUI界面呢,能否进行联办事宜,进行并联审批么?
      

  2.   

    作过一段工作流,以开源项目shark为基础的
    学习
      

  3.   

    以开源的工作流编辑器——Enhydra JaWE(http://jawe.objectweb.org)作为流程定义工具,是GUI界面,通过拖拽、连线就可以设计出想要的流程,因此可以作为需求分析的辅助工具
      

  4.   

    Little_qd(四年)你好,能说说用shark开发工作流应用的一些经验吗?
      

  5.   

    开源协议是什么?GPL?BSD??
    偶现在在用osworkflow,虽然比较灵活,感觉很是不爽,如果可以,研究一下先,然后用到项目里来看看。
      

  6.   

    正在学习工作流,那位能给个jbpm最新版本的部署?