工作流产品三大系列

作者:杨洪波

工作流一直是实施BPM的重要环节,以往的开源与闭源的划分已经不适合如今的工作流局势,开源已经渗透到了各个领域,如今的工作流已是三分天下的大局。

图1 工作流参考模型基本部件接口

一般在划分工作流产品时,会按是否开源分为商业产品和开源产品两大类。时至今日,业内人士都会同意这样的一个观点:漠视开源是非常可怕的一件事情。所以本文中不再按这样的标准进行划分,而把工作流产品分为如下三大系列:纯工作流系列、BPM系列和融合系列。

纯工作流系列

工作流管理联盟(workflow management coalition, WFMC)定义了工作流参考模型,图1描述了该模型的基本部件和基本接口。

纯工作流系列的产品都是遵循工作流参考模型的,包括OMG/BPMI等组织制定的标准也是如此,很多人都知道OMG是从CORBA开始的。CORBA的思想很超前,但不是很实用。OMG的Workflow Management Facility也秉承了这两大特点,在追求高效轻量的今天,它们注定不是很顺应发展。

BPMI在纯工作流系列处于很尴尬的地位,现在已经销声匿迹,当然它的BPML与XPDL做到了协同发展。XPDL是纯工作流系列剩余力量中最强的,虽然地位一步步削弱,但仍然在靠以前积累的用户数维持着发展。

纯工作流系列并没有产生比较有代表性的作品,而且发展也并不是很好。OsWorkflow的版本更新也很慢,至今没有一个很规范的流程定义工具,流程辅助功能也基本没有。OpenWFE的关注点非常的少。YAWL在学术界有部分人在做研究,因为它是基于PetriNet实现的产品。jBPM被jBoss收购后,jBoss又被Red Hat收购,目前已经进入了融合派角色。OBE很快就不见了影踪。Ofbiz已经基本脱离了工作流领域,在该行业已经没有太多的发言权。下面专门对Shark进行讲解。

Shark是Enhydra系列产品中的一个,所以它的持久层采用了Enhydra DODS来实现。基本上没有什么人使用DODS,也没有人了解它,而且它的表现并不很优秀。在Shark1.0阿尔法版中,有外界人士提供了Shark的Hibernate实现,但Shark并没将该实现集成到产品中,也无计划在将来的版本中转向支持Hibernate。

这不是很符合开源的思想,也在使用和推广中出现了很多的问题。很多人在使用Shark时就花费了很多时间研究学习DODS,本期望后续版本中会支持已经全球流行的Hibernate,但等来的是一次又一次的失望。Shark的版本更新比较慢,代码的更新也没有按照开源的方式完成,k在1.0版本后直接就发展到了2.0版本。

 BPM系列局势

BPM系列标准发展非常快,在三年时间内出现了9大标准,如图2所示。

WSCI的几个领导人物如BEA/SAP/Sun等均已经投靠到BPEL,WSCI基本上没有了发展的空间。ebXML只能在电子商务领域发展,由于它的体系结构的全面性,目前还有部分学术界人士在研究ebXML,但应该不会有很大起色。

BPEL在这两年得到了大力的发展。2002年8月9日,BEA/IBM/MS提出BPEL标准。

2003年4月6日,OASIS组织用WS-BPEL的名字吸纳了BPEL标准(ebXML也是该组织旗下的大将,OASIS开始并不同意接收BPEL)。2003年5月3日,SAP/SIEBEL加入并共同推出WS-BPEL1.1版。2003年5月16日,Sun和ORACLE也加入了BPEL标准的领导者行列。WSCI被瓦解,而WS-BPEL2.0的草案也在当时被纳入议事日程。

BPM系列中的几个领导者都是同时支持BPEL和非BPEL的,他们的产品并不独立地实现BPEL,我们称这样的产品为融合派,融合派基本是以前的BPM系列中的大项目。本文的BPM系列指比较独立的BPEL或者ebXML实现,这样的产品基本是以前的BPM系列中的寒门。

由于这些寒门没有财力支持,发展都比较缓慢。Open ebXML处在不仅没有财力,也缺乏用户的境地。Twister依然没有很大起色。ActiveBPEL由于有后台公司的支持,有一定的发展,但Active Endpoints也缺乏足够的财力支持,所以ActiveBPEL发展也不迅速。

 融合系列产品局势

融合系列是新发展出来的派系,它的来源有两个:一是BPM系列中的大户人家,如IBM;二是纯工作流系列中的成员,如jBPM。下面以点带面,分别讨论。

1.IBM Websphere系列

说到IBM的业务整合野心,我们不得不提起2002年IBM的两次收购。2002年1月,IBM用1.29亿收购CrossWorlds软件公司,宣称通过CrossWorlds公司的软件增强IBM的WebSphere中间产品线的自动商务处理程序。

2002年9月,IBM又收购了软件制作公司Holosofx,并计划将Holosofx的技术集成到自己的WebSphere商业集成软件中。收购后,IBM对原有的Websphere系统体系结构根据“On Demand”的要求进行了调整,图3是IBM对Websphere平台的描绘,从中我们可以看到IBM公司对于WebSphere平台的设计蓝图。

现在,IBM已经把Websphere作为整合的代名词。Websphere MQ Workflow实现流程整合,Websphere Business Integration Server实现业务整合。而收购的两个产品,改造为自己整合中间件的建模/管理/监控工具。

使用过上述软件的朋友都知道,这些产品都和IBM自己的其它产品比如:Websphere MQ 或者IBM DB2有直接关系。比如,我们使用MQ Workflow,只能使用DB2数据库,而无法使用Oralce的数据库。

目前,IBM的流程管理工具是市场上占有率最高的,大致为24%左右。

2.BEA AquaLogic系列

BEA收购了一系列的公司,它收购的产品为BEA创造了巨大的财富和影响力。在2006年的3月1日,BEA收购了Fuego,Fuego的产品组合将加入到BEA的AquaLogic产品阵容中,成为BEA新的AquaLogic商业服务互动产品线的基础。现在,Fuego已经发展成了BEA Aqualogic家族的Workspace产品线的BPM Suite系列产品,支持BPMN/BPEL/UML等标准实现。

在收购Fuego前,BEA已有的过程处理工具是BEA Weblogic Integration,它对面向服务技术并不是特别适合,而面向服务技术是AquaLogic的根基。BEA董事会主席兼首席执行官Alfred Chuang曾经表示,BPM细分市场是SOA软件市场增长最快的部分,把Fuego加入到BEA的AquaLogic产品线意味着BEA能够供应集业务流程、应用和传统环境于一身的统一的基于SOA的软件。BEA在流程管理工具方面的市场上占有率约为15%。

3.Microsoft Biztalk Server

使用过BPEL的朋友都知道,BPEL的前身是WSFL和XLANG,其中XLANG是Microsoft提出的规范。Microsoft Biztalk Server就是依赖于XLANG实现的产品。Microsoft Biztalk Server 2000基本是XLANG的完全实现;Microsoft Biztalk Server 2004中加入了HWS(Human Workflow Service),实现了人工交互的流程,并且加入了Infopath表单实现表单定制。但是HWS的使用效果并不太好,在Microsoft Biztalk Server 2006中,没有对HWS做任何的改进。

Vista中Microsoft Biztalk Server是基于WWF实现的,按计划去掉了其中的HWS功能,可见BPEL与HWS的发展还是不太协调。

4.jBoss jBPM Server

在融合系列产品中,目前只有jBoss的 jBPM是开源产品。jBPM是从自由派发展而来,最初只实现了jPDL标准,我们先看看jBPM的野心:“JBoss jBPM is a powerful workflow, BPM, orchestration (BPEL) and web application pageflow platform that enables the creation of business processes that coordinate between people, applications and services。”

从中我们就能看出,jBPM融合了4大功能:Workflow、BPM、BPEL和PageFlow。通过这四大功能,实现了与流程开发人员,旧有系统,管理员和普通用户的协调交互,如图4所示。

jBPM自身有个功能全面的Workflow Engine,有个BPEL扩展,采用jBoss Hibernate实现,集成了jBoss seam,规则引擎准备采用jBoss rules,并准备集成jBoss Messaging。

Red Hat已经收购了jBoss,也就是说,以后安装了Red Hat,就可以直接使用jBPM提供的服务了,这样的特性也为jBPM的普及起到了促进作用。

5.国内工作流

国内工作流软件公司其实是比较多的,但发展都不太好。工作流项目竞争激烈,公司层面也是按最初级的项目开发思路一个一个为用户定制。这样开发速度慢,成本高,也不能适应用户需求多变的特性。

部分用户会要求开发公司使用工作流方式进行开发,这样迫使软件公司采用了工作流开发模式。但由于时间、资金投入、重视程度等因素的制约,一直发展非常缓慢。

可能与行业背景有关系,国内工作流技术人员的生存环境不容乐观。公司层面一般以普通的技术来看待工作流技术,不认为这个是和行业认知密切相关的。

其实工作流是一个技术的同时,更是一个行业,它是需要积累的。部分技术人员自己也有问题,只是浮在表面,不能深入进去,所以使用工作流都成问题。还有很多人,因为这个行业不好生存,在有了很多年的工作经验后,转行到其他行业,也是非常可惜的。

图2 BPM系列标准发展历程

图3 IBM对Websphere平台的描述

图4 jBPM实现的协调交互功能

BPM与ERP集成的六大前提:

● 组织具有集成的意愿;

● 良好的组织内部环境、企业文化;

● 组织最高管理者的决心和推动力;

● 务实、专业、高效的流程"诊治"团队,包括外部专家和组织内部业务骨干;

● 流程存在不断优化的可能;

● 具有平台化技术的ERP系统。

宏天BPM X3软件平台是一个易于部署和使用的新一代业务流程管理平台,能够以最快的速度帮助您梳理、设计、执行、监控分析和优化业务流程,从业务和IT相结合的完美视角为用户组建长期而久远的卓越BPM流程管 理架构。通过实施BPM方案让您的企业在运营效率、透明度、控制力和敏捷性方面迅速受益。 BPMX3是基于J2EE开源、轻量级的企业业务开发平台,基于代码重用、组件重用、业务逻辑重用、组装重用,结合快速开发平台中的工具,将开发人员从重复的代码编写中解放出来,把更多的精力集中解决客户的业务逻辑处理上。 BPMX3是支持流程管理、监控、优化、再造的全套IT管理开发平台,并且集单点登录、企业单位门户、业务流程管理、开发、整合、业务分析及重构等多重职能于一身的软件开发工具和企业IT架构平台。 BPMX3是企业管理业务的创新关键,可以帮忙用户更科学、更有效管理企业业务的各个环节,企业通过BPMX3可以明显实现业务的高效运营。同时,由于其架构的开放性,采用业界开放性的技术及流程标准,使其能够成为企业SOA架构的流程基础平台及开发平台,越来越多的企业更偏向采用开源的平台来解决其内部的信息化平台的要求,BPMX3却允许更多的平台系统接入及自身扩展更多的功能,以满足更多的企业不同的个性化的需求,以达到最大满足最终的客户使用要求。 【图一】工作流引擎中心 1.BPMX3的特点 1.是一个开放式、轻量级的开发平台 2.BPMX3多层系统架构 3.基于模板代码生成 4.丰富的报表展示 5.跨数据库的数据访问支持 6.简易的前端使用 7.参照最新的BPMN2标准设计 8.满足中国特色流程需求 9.在线的可视化流程设计、可视化的流程监控 10.完全独立的流程引擎服务,可与其他系统无缝集成 11.基于流行的JAVA 流程引擎Activiti 5.8扩展 12.灵活的在线流程定义 13.灵活的嵌入式部署、独立部署 14.灵活的在线表单定义及版本管理(支持按内表及外部表及视图生成表单) 15.灵活的第三方表单集成 16.开放式的流程体系 17.灵活的组织结构支持 18.流程的导入与导出 19.子流程支持 20.流程任务逐步回退处理(任务追回及多驳回 ) 21.流程自由跳转 22.流程跳转业务规则设置 23.多级分发任务与任务汇总 24.会签(并行与串行)、补签及投票处理 25.流程版本变更管理 26.流程催办(基于MQ短信及邮件设置) 27.流程任务的工作日设置(用于统计流程任务执行效率) 28.任务监控管理 29.流程委办、转办 2.BPMX3多层架构 系统采用多层的系统架构进行功能开发,有利于代码功能责任分开,同时有利于不同开发人员的分工及合作,也有利于代码的单元测试。系统总体结构如下图所示: 【图二】BPMX3多层架构 •数据访问层Dao: 负责与数据库交互 •业务处理层Service: 负责系统的所有业务逻辑处理 •数据控制层Controller: 负责系统的页面数据准备及跳转处理 •视图层View :负责数据的展示处理 整合的开源技术 1.Spring Core 3.0.4 2.Spring MVC 3.0 3.Spring Security 3.0.5 4.Spring AOP 3.0.4 5.Apache Active MQ 5.5 6.MyBatis 3 7.CKEditor 3.6 8.JQuery 1.8 9.CXF 2.0 10.Alfresco Activiti 5.8 11.Compass + Lucene 12.JasperReport 4.5 13.JavaMail 14.Other: Log4j,Velocity,Sitemesh,Jfreechart,Jforum,Solr 15.Maven 2 3.BPMX3的组件构建方式 BPMX3同时也是基于组件构构建,整个系统的构建如下所示: 【图三】BPMX3组件构建 系统提供在线流程设计器,在线表单设计器,代码生成器,结合BPMX3的基础组件,以实现复杂的流程业务应用。基础组件包括: Spring基础组件库,报表引擎,数据库访问模块,短信模块,后台定时任务调用组件,短信访问组件,搜索引擎组件,JMS消息组件,Activiti工作流组件,Cas统一用户认证组件,Spring安全认证组件。 4.BPMX3总体功能 1.多系统管理 BPMX3支持多个业务系统同时运行及切换处理,根据不同的用户授权允许用户进入不同的系统进行访问,而不同的业务系统的开发可以基于BPMX3平台上开发,也可以由其他开发框架开发再与BPMX3做整合。这种模式非常适合企业把BPMX3作为其内部的首先开发平台,以使后续的新应用系统都整合在一起进行管理及使用。 【图四】多系统管理 2.用户管理 BPMX3提供多种维度的用户人员管理,以支持各种类型的组织机构及人员的统一管理,目前可以支持内部组织、外部组织 、虚拟组织。而且还提供用户的属性自定义,允许对用户进行多种属性的扩展,以支持工作流中的任务节点的人员的复杂查找计算。 3.系统安全管理 系统的安全管理由Spring Security 3提供配置及管理,非常容易与第三方的用户或认证平台进行整合,如与CAS服务器作统一认证,只需要加上新的配置模块即可实现,不影响系统现有的功能模块。大大满足了各种不同系统的安全管理认证的需要。 同时系统可以支持URL访问权限、数据权限、列权限及页面按钮权限的统一配置管理。系统的安全认证机制如下所示: 【图五】系统安全拦截原理 4.动态表单管理 BPMX3提供了基于数据库内部表、外部表、视图等来生成在线的流程表单的功能,其生成是基于模板,模板可由开发人员进行自定义,也可以采用BPMX3提供的默认模板。生成的表单后,系统管理员还可以对表单进行编辑管理以实现企业的业务要求,其中,还允许开发人员在表单上编写编写脚本,以实现更复杂的应用。 表单上支持系统中的大量组件,如角色选择,用户选择,角色选择,在线表单,套红在线Office表单,签章表单等。系统开发人员几乎不用作任何开发,可以设计出任何复杂的表单应用需求。 表单上支持系统中的大量组件,如角色选择,用户选择,角色选择,在线表单,套红在线Office表单,签章表单等。系统开发人员几乎不用作任何开发,可以设计出任何复杂的表单应用需求。 【图六】在线动态表单 5.流程管理 BPMX3提供了基于BPMN2标准的流程管理,包括流程版本变量,流程节点表单设置,表单的权限设置,流程任务通知,催办,代办,转化,并行会签、串行会签、补签,子流程,同步任务,多实例任务,人工任务、消息任务、邮件任务等,任务多级分发与汇总、任务追回、任务层层驳回,任务自由跳转等中国特色的流程需求。能满足企业复杂的流程应用需求。 BPMX3在流程管理上,不但能结合在线设计的复杂表单,还能结合本系统或其他系统其他模块的功能表单一起进行业务审批的工作。这大大方便了业务流程在所有的系统中进行流程开发的工作,简化了以往开发流程业务的代码固死的做法,把程序员或业务员真正从流程业务中解放出来。 【图七】在线流程管理 【图八】在线流程设计 6.报表管理 系统的报表管理是基于模板来进行设置管理的,目前支持FineReport及Jasper Report两种报表引擎,前者是商业报表,其功能非常强大,可以实现多样式数据呈现方式,支持HTML、PDF、EXCEL、Word、TXT、Flash样式呈,能完美解决中国式报表难题,无论数据库内原始数据是以何种样式的表结构存储,无论最终用户要求数据以何种表格样式显示,FineReport报表软件独创的多数据源关联查询、公式动态扩展计算等强大的功能,在无需改变表结构,无需改变用户的要求的基础上,完全按照用户的需求制作出报表模板。 【图九】报表管理 7.系统基础组件 系统的基础组件如用户模块一样,是系统的业务功能的基础,在其他业务模块中被大量使用。 ◦定时任务管理 通过配置以实现某时刻重复执行的系统任务,如配置每月最后一天进行库存清算任务,并且启动库存清算审批流程。 ◦系统日志管理 记录进入系统中的每个用户访问的每个功能 ◦数据源管理 可以设置多种数据源,为在线表单设计及展示提供数据来源 ◦资源管理 管理系统的所有资源,包括URL,业务方法等,提供给安全管理进行极限配置 ◦流水号管理 用于产生业务的一些处理流水单号 ◦数据字典管理 用于管理所有的业务中常用的数据字典的数据 ◦附件管理 管理系统中所有的上传附件。 ◦桌面管理 管理用户的桌面布局及常用的功能展示 ◦邮件、短信模板管理 用于配置系统的发送邮件、短信的模板 ◦工作日历管理 用于配置系统的工作流的待办事项的处理工作时间的计算处理 ◦动态脚本管理 用于为流程任务节点或事件中可被调用的逻辑计算代码 ◦短信收发管理 基于USB短信猫的短信模块或短信网关,以实现收发手机短信功能。 ◦外部邮件管理 支持POP3,IMap协议的邮件服务收发功能,允许用户设置多个外部邮箱。 ◦内部短消息收发管理 在系统中用户之间可以收发短消息,如工作流任务的通知也采用短消息进行实时提醒。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值