谁是业务流程流所涉及的参与者?他们担任什么角色?他们是如何被组织的?分组是灵活而动态的?还是更为固定而静态的?不仅是人,更多实体可以成为工作流参与者。组织、应用程序、员工、Web 服务和其他工作流可以是谁这个问题的答案。把参与者抽象为角色将使一个工作流更为健壮。举例来说,您不必冒着在工作流中产生瓶颈的危险来指定员工 A 或员工 B 必须做某项任务,或者忍受每次有人调任或晋级时都必须修改特定员工名单时令人头痛的维护工作,您可以允许任何具有管理员(Supervisor)角色的人来执行该任务,这样会减小产生瓶颈的风险,还能降低维护成本。
2、2 什么?
参与者要做哪些工作?他们如何来做他们的工作?他们要批准什么事情吗?他们执行事务吗?他们创建文档吗?跟踪库存吗?向供应商询价吗?开展商业活动吗?把信息传递给其他参与者吗?有些工作流是完全自动的,而有些则由必须通过人来执行的手工任务组成。更为常见的是,工作流是这两种类型的结合。例如,向供应商询价可以是一组由人来执行的人工任务之一,但也可以变为一个对 Web 服务的编程调用,该服务根据供应商和向其提供的物品信息返回价格。
我们在这里仍然可以看到两种观点。编制将顺序和节拍分别强制施加在一组 Web 服务及其输出上,从而产生期望的流程结果,这正如一个音乐指挥者把顺序和节拍分别强制施加在一组演奏者和他们奏出的音乐上,从而产生期望的音乐效果。演奏者奏出的音乐中如果有走调或错误将使指挥者很不高兴,但这不会改变演奏过程的顺序和节拍。Web 服务的编制反映了工作流的自动化根。
相对比,从同样的比喻角度而言,编排比编制更为复杂,编排定义的是处理一组 Web 服务之间的各种不可预测的交互的行为。一群舞蹈者和一个交响乐团的演奏者都以相互合作的方式各司其职地演出,与此同时,舞蹈者按编排好的动作在舞台上运动,彼此的身体会相互影响。某个舞蹈者动作的变形或出错会引起其他舞蹈者的动作发生改变,这接着就会改变舞蹈表演本身。Web 服务的编排反映了工作流的基于人的根。
5、工作流和企业应用程序集成
工作流软件应该完成以下四个主要功能(这些功能是企业应用程序集成(Enterprise Application Integration,EAI)的一部分):充当垂直应用程序的组件;与应用程序集成软件很好地一起工作;成为协作应用程序的"粘合剂";适应 Web 服务体系结构。
工作流应用程序应该适用于 Web 服务结构体系。工作流可以作为 Web 服务来提供。举例来说,工作流 Web 服务可以被提交报价请求的外部供应商调用。创建请求后,工作流应用程序可以自动创建并添加以前存储在文档管理系统中与提交者建立的合约的链接,然后根据这些以前的合约以及目前市场情况生成一些推荐报价,再把提交发送到合适的人(们)。当要去满足该请求的人收到提交时,他能够得到作出一个有充分信息根据的决定所需的一切信息,知道应该向供应商提供什么样的报价。工作流也可以控制一组构成应用程序的 Web 服务流。
6、Web服务应用系统中工作流的调用
在一个由 Web 服务构建而成的合作应用程序里,应用程序中的业务流程的确是一组任务,这些任务的参与者是 Web 服务,而工作流控制极为重要,完全不同的工作流之间的交互也不可避免。然而,在您的工作流可以调用我的工作流并被其理解(互操作)之前,我们需要一个标准去描述公共流程、组合、专用工作流和其他常见的工作流构件。尽管现在已经有了一些被提议的工作流标准,但这种工作流互操作性还未被人们确定。人们编写了其他一些这种建议和文档。
WSFL
IBM Web 服务流语言(IBM Web Services Flow Language):指定了 Web 服务组合的两种类型 1)一个被认为是流模型(flowModel)的可执行业务流程,和 2)一个被认为是统一模型(globalModel)的业务合作。与 SOAP、UDDI 和 WSDL 兼容。
BPEL4WS
用于 Web 服务的业务流程执行语言(Business Process Execution Language for Web Services)是用于 Web 服务编制、工作流和组合的 WSFL 和 XLANG 的协作合并。该语言还尚未被提交到 IT 标准组织。
ebXML BPSS
电子商务过渡工作组(eBusiness Transition Working Group)继承了业务流程规范方案(Business Process Specification Schema(BPSS))的 ebXML 层中的工作流对话和编制,ebXML 定义了许多基于 XML 的电子商务的协议和层。
WSCI
Sun/BEA/Intalio/SAP 联盟的 Web 服务编排接口(Web Services Choreography Interface)“是一种基于 XML 的接口描述语言,该语言描述了参与和其他服务的编排交互作用的 Web 服务所交换的信息流。”
WSCL
W3C 的 Web 服务对话语言(W3C's Web Services Conversation Language):Hewlett-Packard 向 W3C 的提交,该提交允许定义 Web 服务的抽象接口(也就是,Web 服务支持的企业级对话或公共流程),以及交换的 XML 文档及其文档的排序。
PIPs
RosettaNet 的伙伴接口流程(Partner Interface Process ):定义了贸易伙伴与指定的系统到系统(system-to-system)的基于 XML 的对话之间的业务流程。许多 PIP 被用来定义各种伙伴情况。
Margie S. Virdell 是一名位于德克萨斯州奥斯汀的 IBM Developer Relations Technical Consulting 的电子商务设计师,为 IBM 商业伙伴提供教育、授权和咨询。她从德克萨斯州威尔克丝-巴里的 Midwestern State University 获得历史学士学位和计算机科学硕士学位,并且在 IBM 工作了 15 年,她大部分时间都花在软件开发上。当她不在思考电子商务的下一步时,她通常更多地学习超大黑洞和超级火山。您可以通过 virdell@us.ibm.com联系 Margie。 (end)