UML软件工程组织

物流信息系统中分布式工作流模型设计与软件实现
作者:刘树成 马秀红 赵林 邢建平

摘要 本文提出了一种新的物流信息系统工作流程;利用工作流进行物流管理的自动订货、验证、配送等业务调度;分析了物流信息系统中分布式工作流模型的设计、工作流流程设计以及工作流的核心—工作流引擎软件设计的关键技术。最后比较了工作流相对于传统的MIS系统用于物流软件的优点。

关键词 物流;工作流;分布式

1 引言

工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。

随着工作流技术的发展和成熟,接合数据传输技术和网络技术,应用工作流技术制定特定的订货和配送流程,利用网络进行订货和配送成为可能。本文在此基础上,提出了物流信息系统中分布式工作流模型的设计和实现。

2 物流信息系统工作流程

基于分布式工作流的物流信息系统根据定制好的工作流程进行业务的处理,其工作流程如图1所示。

物流中心的客户向物流中心发送订货信息,订货信息包括客户信息、所订商品的名称和条码信息、所订商品的数量信息等。这些信息符合统一的EDI规定和格式,可以多种方式通过信息网关处理后,传送给物流中心的基于工作流引擎的物流信息系统,物流信息系统启动一个业务工作流的流程。

物流信息系统将上述订货信息自动发送给事先定义好的下一级业务流程,即检查订货信息并计算货物价格,再由相应的工作人员,即财务审核人员验证用户信息,并通过网络银行验证用户帐户和余额。如果帐户上余额较订货款项多,则形成用户订单数据,同时转入下一步业务流程;否则,形成一个余额不足的任务交由呼叫中心系统或人员的流程进行处理,可通过自动短消息、传真或电话联系客户。

用户的订货信息和帐户信息确认之后,系统将用户订单数据自动转发到配送中心业务流程,以便配送中心调度车队安排送货。进行配送安排时,根据GIS地理信息系统对订货客户的地址进行分析选择合适的存贮仓库,同时根据路径最短/时间最短/费用最低的原则生成配送路线。将配送路线和选择好的仓库信息传送给运输管理系统,运输管理系统根据配送路线安排车辆调度人员进行车辆的调度,调度人员将调度好的车辆派往选取好的仓库。同时,系统形成的出库订单自动转发给仓库管理系统,形成分拣配送单据。分拣流程业务人员按照转发的分拣配送单据进行商品的分拣,并将分拣好的商品装载到车队调度系统调度好的物流车辆上,同时生成送货单。

物流车辆与送货人员最后将商品运送给销售商用户,用户在送货单上签字确认。送货人员返回物流中心后将送货单交给运输管理人员,由其完成业务工作流的结束工作。上述过程即为一个典型的物流信息的处理过程,它将物流、信息流和工作流紧密结合,根据定制好的工作流流程进行电子订货与配送。其中最重要的是流程的定制,即分布式工作流的设计。

图1. 基于分布式工作流的物流信息系统的工作流程

3 分布式工作流模型设计

工作流是针对工作中具有固定程序的常规活动而提出的一个概念,在计算机支持下可以实现整个或部分过程的自动化。物流作业也是一个工作流程,因而也可以采用工作流技术驱动物流信息系统的业务流程,实现物流作业自动化。

3.1 分布式工作流系统模型规划与设计

工作流系统模型中包含的三类对象:文档对象,工作流对象,操作员对象。这三种对象相互作用,共同完成工作流的运转。

⑴ 文档对象(Document):文档对象是物流信息系统中订货数据、配送路线等信息流转的载体。主要由三个字段(属性):ID号、文档名、文档内容。ID号:GUID字符串,作为系统中文档的唯一标识符。通过ID号就可以存取文档。文档名:文档的中文标识,可以由用户任意来命名,是文档的说明。文档内容:采用XML文档定义文档,包含有具体的物流信息。可对文档进行录入、浏览、打印三种操作。

⑵ 操作员对象(User):操作员对象是标识登录系统的每个客户端的对象。操作员对象与权限设置密切相关。操作员对象采用多级分组设置,即操作员分为两种类型:个人用户操作员、小组用户操作员;其中分组操作员用户中至少有一个缺省操作员,作为接收文档的个人用户操作员。操作员采用树状结构管理;分组级数没有限制;在工作流中,操作员与部门是平等的关系,通称为操作员对象。

⑶ 工作流对象(WorkFlow):所谓工作流对象是指当前正在运转的工作流程。这里的工作流对象是每一个具体的、实际的流程,而不是工作流的定义(模板)。

⑷ 三种对象之间的交互关系:利用工作流对象将文档对象与用户对象关联起来。工作流定义中,结点就是用户对象;数据载体就是文档对象;整个系统的核心就是文档根据工作流的定义在用户之间不断的流动。

3.2 工作流流程设计

⑴ 控制模型概念:所谓控制模型是指系统究竟如何控制操纵工作流,如何推动工作流的运行,如何与操作员进行交互。控制模型可以分为“工作流控制中心”、“流向控制中心”、“活动状态控制中心”、“文档派发中心”、“任务处理中心”、“文档提交中心”、“文档检测中心”7部分组成,如图2所示:


图2. 工作流控制中心模型示意图

⑵ 工作流控制中心:工作流控制中心是整个工作流引擎的最外层控制部分,所有的正在运行中的工作流程都将处在该中心的控制之下。控制中心具有管理所有工作流程的权利。主要包括:(1)启动、暂停、取消、终止工作流实例。(2)查看工作流的当前状态、历史运行记录。

⑶ 工作流向控制中心:从起始点到终点的所有路径的控制都由控制中心解决,包括:(1)判断活动的后续活动。(2)判断活动的返工路线(3)记录文档的流转路线。

⑷ 活动状态控制中心:当一个工作流的实例启动之后,最初所有的活动都处于休眠状态。随着工作流的不断进行,活动陆续被激活。活动状态控制中心是该系统的独特之处,它充分的模拟现实中的工作场面,兼顾了智能性与实际工作流的复杂性和灵活性。该控制中心主要用来: ( 1)自动激活、完成某一活动。(2)手动激活、完成某一活动。(3)查看工作流中所有活动的状态。(4)记录活动状态轨迹。

⑸ 文档派发中心:文档分发中心是当某一订货活动开启之后,负责管理将文档分配给某个人(组)的功能模块。文档的分发依靠“文档派发规则”。

⑹ 任务处理中心:该中心并不具体执行业务,它只负责记录在当前活动的运行过程中用户的所有操作,以供查看之用。所谓“任务处理”是指每个活动用户针对文档进行操作。是一种前台操作,主要是录入、修改文档。

⑺ 文档检测中心:该中心的功能比较单一,而且比较直观,相当于一个自动审表人。它负责检验文档是否合格。检验方法由文档检验规则确定。

⑻ 文档提交中心:在某一订货活动中,参与人员完成文档操作之后就进行提交。是否提交完成由提交规则确定。文档提交中心负责暂时保管所有文档中已完成的部分。当根据“提交规则”,所有必须提交的文档全部完成之后,提交中心就将文档全部发送给活动控制中,再发送给流向控制中心,然后再回来由文档派发中心分给其他活动中的人员。

4 分布式工作流系统实现

分布式工作流采用三层结构,分别对应客户端和服务器端。

4.1 服务器端设计与实现

服务器端包含两部分功能,一部分是各种具体服务;另一部分是工作流引擎。(1)具体服务包含各种服务,包括数据录入,查询检索等各种功能。(2)工作流引擎是服务器端的核心工作组件,也是整个系统的核心运行组件。

整个工作引擎的结构可分为功能模块和数据模块两部分,如图3所示。其中,图中左侧为功能模块,右侧为数据模块。

图3. 工作流引擎的结构架构

⑴ 功能模块结构划分为三个层次:(1)步骤管理CPU:专门管理和执行不同的步骤(Step),负责启动步骤、执行步骤、结束步骤等功能。(2)文档提交代理:在一个步骤处理的内部,根据文档的提交规则,判断什么时候文档提交完成,等全部的文档提交完成以后,该步骤完成,同时通知步骤管理CPU。(3)文档发放代理:在一个步骤内部,根据文档发放规则,将文档分发给指定的客户端。

⑵ 数据模块结构:保存每个步骤的运行过程中的数据,也对应着数据库中的数据表。可以划分为以下几个层次:(1)工作流(步骤队列):对应着工作流实例数据表中的每个工作流实例。其中保存着该工作流实例中的所有步骤;(2)单个步骤:对应着步骤数据表,该数据表中保存着全部的正在进行的所有步骤。每一条记录对应着一个步骤。其中保存着关键数据:接收任务人员列表、任务中接收的文档列表、任务执行人指定下一步骤的执行人列表、下一步任务需要的文档列表。步骤结束的标志:任务分发给指定的人员,然后任务完成以后,完全全部的提交工作,此时标志着步骤的结束,也标志着下一个步骤的开始。(3)客户端缓存:代表着客户端正在编辑的文档,是一种中间结果,临时保存在服务端的缓冲区。客户端发送提交指令时,文档提交代理才将这些文档检验后提交给步骤管理CPU。

4.2 客户端设计与实现

整个系统分为三个层次,分别为:主窗体、子窗体、孙窗体;调用关系:主窗体调用子窗体,子窗体包含各个孙窗体,同时调用各个孙窗体。(1)主窗体:主窗体主要负责调用和管理各个子窗体,本身并不实现任何业务。同时,它还负责设置各种参数。(2)子窗体(模块):每个子窗体对应一个功能模块,每个功能模块之间都是独立的,彼此间没有任何联系。每个模块的初始参数都是从数据库中提取出来的。每次打开一个窗体,都必须访问数据库,从数据库中读取所有的参数,将内容显示在窗体上。(3)孙窗体(模块内部的功能):孙窗体是每个模块内部的各项功能。

系统功能:(1)任务管理:客户端的主要模块,负责任务的接收、处理和任务相关信息的查询。(2)短消息处理:端消息接收,端消息发送,端消息浏览,管理。(3)用户管理:用户的录入,浏览和删除。(4)文档浏览:文档浏览和查看。(5)工作流浏览:工作流浏览和查看。(6)文档模板管理:文档模板的浏览查看和模板的录入。(7)工作流模板管理:工作流模板的浏览查看和模板的录入。

4.3 工作流平台相对于传统MIS的优点

与传统的MIS系统相比,采用分布式工作流技术的物流信息系统具有以下特点:

(1) 扩展性好。由于采用了工作流技术,如果要增加物流流程的步骤,只需在定制的流程中增加结点,不需要修改或编写程序代码。

(2) 分布式特点。由于基于Intranet和Internet进行通信,物流平台和仓库配送可以在全球分布,订货可以分散进行,可以减轻物流中心的压力,增长物流流程的速度,提高效率。

(3) 可以应用于多行业物流,尤其是在第三方物流中,实现物流信息交换的统一。

5 结论

本文提出的物流信息系统工作流程可以用来进行物流中的订货、配送等业务,其模型以及工作流核心—工作流引擎完全适合物流信息系统的流程化、多业务、分布式的特点。基于上述思想设计的工作流系统核心平台运行情况良好。


版权所有:UML软件工程组织