信息技术已改变了企业内部和企业之间的业务流程。越来越多的工作流运行依赖于流程模型驱动的信息系统,如工作流管理系统Staffware、企业资源计划系统SAP和Bann,还有许多领域特殊的信息系统。
难以想象与流程无关的企业信息系统。尽管运用信息技术来帮助业务流程的管理早已被咨询顾问和软件开发人员炒作,但一个更基本的方法则却被忽略了。直至90年代,研究人员才开始研究业务流程管理系统的基础。结果有许多问题有待解决。此外, 网络服务(Web Services)之类的新技术发展也引出了新问题。
趋势
为了将工作流管理置于合适的环境来讨论,先看看它的发展趋势。60年代,信息系统基于小型的操作系统,功能也有限。由于既无通用,也无领域相关的软件,这些系统主要由特定的应用程序构成。从那时起,每年都有提供新功能的软件产品出现。如今的操作系统比60年代提供了更多的功能,数据库管理系统提供了定制应用的功能。
这种趋势导致从注重程序设计转向复杂软件系统的集成。挑战不再是单个模块的编程,而是把四个层面的软件模块连接,使其协同工作。另一个趋势是从数据到流程的转移。70和80年代是数据驱动的方法占主流,信息技术主要用作存取信息,结果数据建模成为信息系统构造的始点。
业务流程的建模经常被忽视,流程不得不适应信息技术。业务流程重组等管理理论的发展体现了对流程的重视,使得系统工程师更趋向流程驱动的方法。最近值得提及的趋势是从仔细规划设计转向重新设计和组织增长型的方式。由于因特网及其标准的无处不在,信息系统也不断变化。很少有系统从头构建。已有的部分应用经常会在新的系统中使用, 使得软件开发更加动态化。
业务流程管理系统是一种面向流程的信息系统,即超越单个任务自动化的系统。如工作流管理系统Staffware、MQSeries和 COSA,案例处理系统FLOWer。值得注意的是主要的ERP系统也提供了工作流管理的模块。SAP、Baan、PeopleSoft、Oracle和 JD Edwards的工作流引擎可被视为集成的业务流程管理系统。
把业务流程的管理独立成一个单独的组件的思想是与以上三个趋势一致的。业务流程管理系统可避免把工作流固化在定制的应用程序中,支持从程序设计到应用组装的转变。此外还支持面向流程、流程再设计以及组织增长(organic growth)。目前的工作流管理系统可用来集成已有的应用,支持通过仅改变流程图的流程变化。
工作流管理系统
尽管工作流管理联盟(WfMC)做了很大的努力,但基于不同范例(paradigms)的工作流管理系统仍使用多种语言和概念。大多数的产品使用专用而不是一种工具无关的语言。一些工作流管理系统是基于Petri网的,但增加了产品相关的扩展和限制。其他的系统使用了一种完全不同的机制。如IBM的MQSeries工作流使用主动和被动的线程,而非拖肯(token)传递。不同的工具的差别是明显的。导致工作流规范不能达成共识的原因之一是业务流程的描述方式的多样化。
缺乏通用的组织“理论”和标准商务流程建模概念解释了工作流语言间差别的合理性。更重要的是,不同工作流产品的比较更多促进产品的发布(dissemination),而非对工作流语言能力的指责。在艾恩德霍芬工业大学(Eindhoven University of Technology)和昆士兰州工业大学(Queensland University of Technology)的共同努力下,一个新的用来比较和评价工作流的系统被开发。这个框架基于一个全面的模式(pattern)集,考虑了对工作流管理系统更客观的评价。
我们已收集了大约30个工作流模式,并采取其中的20个比较15个工作流管理系统(COSA、Visual Workflow、Staffware、Verve Workflow、I-Flow、InConcert、Changengine、 SAP R/3 Workflow、 Eastman和FLOWer)。如果您需要更多的信息,请访问http://www.tm.tue.nl/it/research/patterns.
网络服务组件语言(Composition Languages)
在电子商务领域同时出现了两个趋势,它们引发了实现跨组织业务流程自动化的机遇和压力。一个趋势是技术的推动力,产生于基于XML的标准和因特网的使能技术。另一个趋势是从商务角度改善流程效率的需要。网络泡沫后,通过自动化跨企业的业务流程来充分利用因特网技术的潜力变得紧迫起来。网络服务的目标就是利用XML和互联网集成能在web上发布、定位和调用的应用。
一个网络服务的典型实例是Galieo系统,它将42,000多个旅行代理连接到37个汽车租赁公司、47,000个旅馆和350个旅游承办商。为了真正集成跨企业流程,利用标准的消息和协议支持简单的交流已不能满足需求。商务交流需要由直观的流程模型驱动的长时间(long-running)交互过程。这就需要Web Services组件语言,如BPEL4WS、WSFL、 XLANG、WSCI和 BPML。
采用网络服务组件语言的开发主要是由IBM、Microsoft、Sun、BEA、 SAP和Intalio等软件提供商驱动的,结果出现了许多功能重复的标准。当更仔细地考虑这些标准时,它们很明显都基于现有的产品,如WSFL基本上是IBM的Flowmark/MQ Series工作流语言的复制品。许多软件供应商参与的标准往往是不同观点的一种妥协,这样的标准导致不精确以及不必要的复杂。如工作流管理联盟的XPDL使软件供应厂商有各自的解释标准(使标准变得毫无用处)。BPEL4WS融入了WSFL和XLANG两种标准,使得这种语言十分复杂。
通过这些观察,寻找一些比较网络服务组件语言的客观测度是有用的。对于这些语言的控制流方面,可以利用工作流研究的一些结果。比较BPEL4WS、BPML、WSCI、XLANG和WSFL等标准的一种方法是使用http://www.tm.tue.nl/it/research/patterns上的工作流模式。最近此站点在20种基本工作流模式的基础上,增加了对BPEL4WS、BPML、WSCI、XLANG 和 WSFL等多种语言的评价。
结论
BPMI是提出网络服务组件标准的组织之一。BPMI.org定义了业务流程建模语言BPML (Business Process Modeling Language)和业务流程查询语言BPQL (Business Process Query Language)等开放的规范,它们利用即将推出的企业流程管理系统BPMS(Business Process Management Systems),促进电子商务流程标准化管理,就象SQL使用现有的数据库管理系统实现了企业数据的标准化管理。
类似SQL的网络服务标准是雄心勃勃的目标。如历史展示的那样,这样的标准不会在厂商推广自己产品的过程中出现。想当初Chen提出的实体-关系模型(Entity-Relationship model)和Codd的关系模型(Relational Model)促进了SQL等语言的产生。虽然存在集表示、简单、形式语义(Petri网和过程代数)于一体的流程建模技术(比较.Petri网和过程代数),软件行业却忽略这些技术。结果世界面临着太多的标准,它们主要由具体产品和/或商业利益驱动的。结束这种状况的唯一途径是忽略那些不使用已有流程建模技术的标准提议。这使软件提供商重视实际问题而非产生新的问题。
原文作者:Wil M.P. van der Aalst,著名的工作流专家、教授
4/27/2004
|