摘 要:工作流技术能否有效地管理业务过程是网络化制造平台成功实施的关键问题。在分析了网络化制造平台中存在既定业务过程经常变动,业务活动之间信息交互通信量与通信资源之间存在矛盾等问题的基础上,提出了一种基于对等网络和统一描述、发现和集成协议的网络化制造平台动态工作流管理模型。重点阐述了该模型基于统一描述、发现和集成协议的工作流端目录管理服务、工作流服务端和端通知机制。最后,通过网络化制造平台工作流管理系统的企业实际应用对该模型进行了验证。
关键词:网络化制造平台;对等网络;工作流管理;统一描述、发现和集成协议
引言
随着网络技术、信息技术、通信技术及相关管理思想的迅速发展,以企业动态联盟为主要特征的网络化制造正成为当今制造企业生产的主要模式之一 [1,2]。网络化制造平台是支持网络化制造系统构建和运行的集成平台,通过支持企业动态联盟的构建和运行,能提供面向企业的应用服务,实现不同企业间应用软件和制造资源等的集成。网络化制造平台采用工作流管理技术对企业动态联盟的协同工作进行管理。由于企业动态联盟的产品设计生产过程、资源共享甚至成员都在不断变化,导致整个业务过程也随之动态变化,增加了业务过程管理的难度。由于动态联盟多企业协同工作的范围主要集中在多企业协同设计、多企业协同采购以及客户与联盟之间的产品定制等方面,不同于一般的分布式工作流管理的交互信息仅限于图文档以及驱动信息交互的情况,网络化制造平台要支持各企业之间存在的大量动态信息交互,如物料清单(Bill of Marterial,BOM)信息、各种电子图纸信息,甚至音视频信息,加深了通信量的不断增长与通信资源匮乏之间的矛盾。此外,动态联盟多企业间的协作还涉及到Internet环境中跨企业异构服务之间的互操作问题,也增加了集成的难度。总之,网络化制造平台工作流管理存在业务过程动态变化、大量动态信息交互和Internet环境中跨企业异构服务互操作3个难点,要求其工作流管理系统能有效处理复杂的业务流程,支持异地、异步的大通信量的协作,并具有较高的灵活性和可扩展性。目前,国内外在工作流管理联盟(Workfolw Management Coalition,WfMC)发布的相关规范的基础上,对工作流管理技术开展了许多研究,如文献 [3]提出了一种基于事件的分布式工作流框架,文献 [4]提出了一种支持协同产品开发的工作流管理体系结构,文献 [5]提出了一种基于多Agent的供应链工作流框架,文献 [6]提出了一种基于Web的工作流管理系统,等等。这些研究虽然对工作流管理中异构应用的互操作及动态业务管理问题都提出了一些解决方案,但都没有解决协作中的大通信量问题。针对上述问题,本文提出了一种基于P2P和统一描述、发现和集成协议(Universal Description,Discovery and Integration,UDDI)的动态工作流管理模型。该模型能够满足网络化制造平台运行过程中业务过程动态变化、大量动态信息交互及Internet环境中跨企业的异构服务互操作的要求。
1 网络化制造平台动态工作流管理模型
基于P2P和UDDI的网络化制造平台工作流管理模型主要由工作流Peer管理目录服务、工作流中的服务Peer和服务Peer通知机制3要素组成。工作流中的服务Peer代表一个或多个本地应用服务的提供者,工作流Peer管理目录服务是一个管理能够参加网络化制造平台工作流活动的所有Peer相关信息的目录管理系统,Peer通知机制是建立分散工作流管理之间联系的方法。
网络化制造平台工作流模型不同于大部分现有的工作流结构,不需要集中的服务器对其过程定义和运行进行统一管理,只需在网络化制造平台中设置动态工作流Peer管理目录,为各服务所在的Peer提供注册和查询服务。Peer作为应用服务的提供者,封装了P2P的执行功能以及工作流的管理功能,由于抛开了集中服务器的束缚,使对等体之间可以直接进行文件交换、数据下载、资源共享和协同工作等,从而充分利用带宽资源,减轻服务器负载,较好地支持工作流中的大量动态信息交互。工作流管理模型中的管理Peer,参与Peer的动态角色与工作流通知机制的的联合作用,是业务过程动态变化的支持基础。工作流管理模型通知机制中的通知信息和工作流程描述信息,以封装在可扩展标记语言(eXtensible Markup Lanauage,XML)文件中的形式,传递到各Peer中,由Peer进行解析,执行本地的服务,进而由同一流程中的上一Peer驱动下一Peer中的服务,是一种分布式的工作流管理方式。在这种基于P2P和UDDI的工作流管理模型中,Peer之间的通信不是通过中介而是直接互连。因此,随着工作流运行过程中执行相同任务的Peer数量的增加,其执行效率会更高。该模型能够简化工作流的管理过程,并为所有参与工作流程的Peer提供一个更开放和可扩充的运行环境。通过这些Peer的协同工作以及与模型中其他要素之间的合作来完成工作流的过程管理。网络化制造平台工作流管理模型如图1所示。
2 网络化制造平台动态工作流管理模型的组成要素
2.1 工作流服务Peer
工作流中的服务Peer是一个动态的角色,分为工作流管理Peer和工作流参与Peer两种类型。发起和管理一个工作流过程的Peer是工作流管理Peer;而只是参与该工作流过程,被工作流管理Peer所管理的Peer是工作流参与Peer。这两种Peer在本质上是同一种Peer,具有相同的功能,只是由于在工作流中的角色不同决定了其功能使用的范围不同。在某流程中,某一Peer是工作流参与Peer;而在另一流程中(或者是子流程中),该Peer可能又是工作流管理Peer。下面阐述这两种角色工作流Peer的主要功能:
(1)发起工作流的功能 工作流管理Peer发起一个工作流过程,并调用该工作流中所有参与的Peer集合。工作流管理Peer在通过使用工作流Peer管理目录服务了解其他Peer的可用性、状态和服务质量等信息的基础上,识别定位其他可用的执行工作流Peer。
(2)过程管理功能 工作流管理Peer负责维护工作流过程的当前状态、总流程运行时间、当前活动的等待时间、当前任务完成时间下限和当前的流程名称等状态信息。
(3)通知功能 工作管理Peer和工作流参与Peer发送通知消息到其他Peer,或从其他Peer接收通知消息。消息的内容包括活动的时间限制、活动的状态(完成与否)以及流程的状态等。nextpage
(4)任务的重新分配功能 当某一工作流参与Peer不能完成工作流安排的活动时,该工作流参与Peer就会及时通知工作流管理Peer,由管理Peer重新分配另一可用的Peer执行该任务。
(5)任务的接收和解析功能 工作流参与Peer被工作流管理Peer或其他工作流参与Peer调用执行,该工作流参与Peer接收的执行信息是一个基于XML的工作流描述文件,该工作流描述文件由各Peer独立解析。在任务完成后,工作流参与Peer发送通知消息到工作流管理Peer,该通知消息附加了已经更新的工作流描述文件。
(6)任务代理功能 由于工作流中存在子工作流的情况,某一工作流过程中的工作流参与Peer能够充当该流程中的子工作流管理Peer的角色,来执行该子流程的管理工作。
(7)调用应用服务和资源功能 在上述各项功能的基础上,Peer执行本地服务和使用本地资源,进而完成工作流分配的任务。
上述功能都以组件的形式封装在各工作流服务Peer中,并部署在异地,统一对外提供应用服务。同时,根据P2P规范中点到点的通信过程无需中间服务器的特性,采用基于P2P的工作流管理方式能够适应大通信量的信息交换要求。
2.2 工作流Peer管理目录服务
由于Peer分别代表不同的应用,并且通过互联网建立连接,一方的信息必须为另一方所识别,所以,当前互联网上关于数据描述和交换的协议,如XML、简单对象访问协议(Simple Object Access Protocol,SOAP)和UDDI等,都是一个完善的P2P系统实现的基础。由于UDDI规范的核心组件商业注册机制具有较强的注册和发现服务的功能,因此,网络化制造平台工作流目录管理服务运用P2P技术,并基于UDDI的原有功能进行开发,位于多个网络化制造平台服务器上。工作流中的某个Peer通过在该目录管理系统中注册其能提供的服务和相关资源的信息,并在工作流的执行过程中,通过该目录服务帮助某一Peer定位其他的Peer,来使用其资源和服务。该服务保存所有工作流Peer的IP地址、各个Peer能够提供的服务列表以及相关的管理数据。它能够通过不断询问这些保存的Peer状态信息,确定这些Peer的服务是否可用,动态地反映了各个Peer的可用状态。在目录管理服务询问某一服务Peer的状态时,目录管理服务与Peer之间是P2P通信方式;而Peer向目录管理服务查询其他Peer信息时,其通信方式则基于UDDI的相关功能实现,封装成通信组件的形式部署在平台上。
网络化制造平台面向不同区域、不同行业企业间的协同,针对不同行业类型的服务Peer提供注册和查询服务。如果把所有的注册信息和查询工作都集中在一个网络化制造平台的服务器上,则服务器和通信资源的负荷过大,不利于不同区域、不同行业之间的Peer信息的混合管理,因此,将网络化制造平台的工作目录管理服务器按区域进行物理分布。但考虑到工作流的跨区域运行,分布的网络化制造平台之间提供了一个Peer状态的互查询机制,某地区网络化制造平台管理的服务Peer可以通过该平台的Peer目录管理服务查询其他平台目录管理服务所管理的Peer的状态信息,为进行跨区域的工作流协同提供基础。在网络化制造平台Peer目录管理服务之间进行Peer状态互查询时,每一目录管理服务是一个大Peer,以P2P的方式进行通信。其原理如图1所示。
2.3 工作流通知机制
由于基于P2P的工作流管理引擎不同于传统的客户机/服务器(Client/Server,C/S)结构集中式的工作流引擎,其工作流的驱动和管理分散到不同的Peer中,工作流管理Peer需要实时了解每一个服务的活动状态,因此提出一种Peer通知机制来建立分散工作流管理之间的联系,并驱动工作流的顺序执行。通知机制主要由两个要素组成:基于XML的通知消息和基于XML的工作流描述文件。在传输过程中,基于XML的工作流描述文件附在通知消息XML文件的后部,作为其中的一部分进行传输。传入Peer后,由Peer根据区分标签分别解析。通知消息和工作流描述文件的实例如图2所示。
2.3.1 基于XML的通知消息
通知消息是基于XML文件来描述的,文件中的元素包括发布者、任务活动ID、时间、通知的类型和消息的接收者等信息。其中,能够反映服务活动执行状态的关键元素是通知的类型。通知分为6种类型:
(1)任务的完成消息 某一Peer完成自身的服务活动后,通知管理Peer的消息。
(2)无法执行任务的消息 某Peer通知工作流管理Peer,它无法完成工作流管理Peer安排的活动。
(3)任务的再分配消息 工作流管理Peer通知该工作流中的某一参与Peer,其任务被取消,同时通知另一Peer执行该任务。
(4)任务的终止消息 工作流管理Peer通知参与Peer,其任务被终止。
(5)时间警告消息 管理Peer通知参与Peer,其任务结束时间快到达。
(6)不接受任务消息 参与Peer通知管理Peer,它不执行该分配任务。
这6种类型的信息是Peer之间联系的基本信息,随着应用的不断深入,可以进行扩展。由于采用了基于XML的通知消息的形式来驱动各Peer执行本地任务,而不是通过直接的远程调用来驱动本地服务,避免了Internet环境中异构服务互操作复杂和不稳定的情况。
2.3.2 基于XML的工作流描述文件
基于XML的工作流描述文件中包含了关于工作流过程的基本信息,用来推进整个工作流程的执行,包括过程中活动执行的顺序、活动执行所需的文件和数据资源的链接信息、活动执行后产生的文件和数据的链接信息等。该文件不是固定在某一处进行解析和更新,而是在每一参加流程Peer中对该文件进行解析,并按要求执行任务后,再更新该文件传到下一Peer中。该文件在点到点发送通知消息的过程中,作为消息的一部分附在通知消息XML文件中传输。通过这种动态的工作流描述文件传输形式,可以避免各Peer频繁地访问网络化制造平台的集中服务器,减轻了通信量。同时,工作流描述文件中并没有携带执行任务所需的大量数据信息,而是以链接的形式提供给Peer解析并使用,有效地提高了通信效率。图2中的工作流过程内容也描述了存在两个并列任务的子工作流信息。通知机制能够适应业务流程管理中流程动态变化的情况,基于XML的工作流描述文件中的工作流执行信息可以由所在Peer动态改变,增加或删除执行的节点任务,结合基于UDDI的工作流Peer目录管理服务查询动态的Peer信息,使动态业务流程管理成为可能。nextpage
2.4 功能实现
在网络化制造平台的工作流管理系统的开发过程中,采用Jxta,jUDDI(UDDI注册库的一个开放源代码实现)和UDDI4J(UDDI客户端的开放源代码实现)混合,实现了该模型的功能。针对Peer与Peer之间直连的协作,使用Jxta2.0软件开发了P2P系统。工作流Peer目录管理服务器提供的注册和查询功能,是基于UDDI的相关功能开发的。由Peer向工作流Peer目录管理服务器发起的注册、查询的通信程序,在工作流Peer目录管理服务端使用jUDDI开发服务器端,在Peer处使用UDDI4J开发通信程序的客户端;而由工作流某个Peer目录管理服务器发起的向某个Peer以及向其他目录管理服务查询可用状态的通信程序,也是基于Jxta2.0平台的功能实现。可见,在Peer端和工作流Peer目录管理服务器端各自封装了两部分,基于Jxta和UDDI开发不同类型的通信程序。
3 应用案例
根据该模型开发了网络化制造平台工作流管理系统,并将该系统应用于重庆某增压器厂的协同设计和协同采购过程中。该企业生产的船用涡轮增压器是单件小批量的定制型产品,其个别关键部件的协作设计研究所及协作设计厂商分布在异地,大部分零配件的供应生产商也分布在全国,设计和生产的周期较长。由于经常存在轮船靠岸需要紧急维修增压器整机和备件的情况,对增压器供给的响应速度要求比较高,原有的设计和生产模式不能满足现有的需求。由于历史原因,该企业地处偏僻,从吸引人才的角度出发,该企业将研发设计中心设在了大城市中,并将一些部件的设计工作委托给其他多个有实力的同行企业,各个机构在接到订单后存在大量的协作,包括协同设计、协同采购等,需要交互大量的设计信息和生产管理信息,但目前大部分依靠原始手段进行协作设计和生产,无形中又延长了增压器交付用户的时间。
针对上述情况,将网络化制造平台提供的工作流管理系统运用到实际的设计和采购过程中。设计和采购过程的角色包括该增压器厂、协作设计中心、协作设计厂商和协作供应生产商。协作设计中心、协作设计厂商和协作供应生产商的角色都是网络化制造平台工作流管理中的参与Peer,增压器厂的角色是工作流的管理Peer。网络化制造平台把相应的Peer功能组件分布到上述四方,与位于网络化制造平台本地服务器上的工作流目录管理服务构成一个动态工作流服务过程,其运行过程结合其增压器VTR254系列机型的设计和采购过程来说明(如图3),具体描述如下:增压器厂通过平台提供的工作流定义界面(如图4),定义好初始(扩展前的流程)的工作流过程实例,确定要执行的活动,包括企业为主的整机设计活动、研究开发中心的部件协作设计、同行厂商的协作设计和零部件的供应生产状况监控。由于研究开发中心的部件协作设计由多个设计小组组成,每个设计小组都是一个Peer;同行内协作设计厂商和零部件生产供应商也是多个可选的,因此,每个厂商也是一个Peer。工作流执行时,增压器厂(管理Peer)首先向网络化制造平台的目录管理服务器查询,各确认一个可用的研究开发中心的协作设计小组、协作设计厂商和零部件生产供应商的Peer,并分配任务,这三个任务是并行的。由协作设计小组、协作设计厂商(参与Peer)各自设计一主要零部件,增压器厂(管理Peer)与这两个参与Peer进行频繁、大量的设计信息交互。由于协作设计厂商承担的是某一部件的设计工作,在设计过程中,该Peer发现不能按照时间进度完成整个部件的设计,需要将其中某一部件的设计工作委托给其他厂商,于是该Peer就向平台中的目录管理服务器查询可用的协作设计厂商Peer,并对其分配任务。此时,分配任务的原协作设计厂商Peer的角色就由参与Peer转为管理Peer,它对另一协作设计厂商参与Peer的管理是一个子流程,在原有流程的基础上动态扩展了一个子流程,实现了业务流程的动态扩充。同时,各协作厂商之间的任务驱动通过工作流通知机制来实现,解决了异构互操作的问题。这种基于P2P的网络化制造平台动态工作流管理系统在该企业的应用,提高了该企业协同设计和采购的效率,及其对订单的反应速度。
4 结束语
本文提出了一种基于P2P和UDDI的网络化制造平台工作流管理模型。该模型由基于UDDI的工作流Peer管理目录服务、工作流中的服务Peer和服务Peer通知机制三要素组成,能够管理网络化制造中业务过程的动态变化,适应工作流管理过程中大量动态信息的交互,以及实现Internet环境中工作流的跨企业异构应用的互操作。提出的管理Peer和参与Peer的动态角色,能够解决工作流的动态扩充问题;通过模型通知机制中的通知消息和工作流描述文件在各Peer中的流动,来实现工作流的分布式驱动; Peer目录管理服务对Peer重要信息进行管理,是实现上述其他服务的前提。本文提出的网络化制造平台的动态工作流管理模型,为网络化制造的深入发展提供了基础。