0 引言
PDM(Product Data Management)是用来管理所有与产品相关的信息(包括零件、配置、图文档、结构、类别、变更、权限等),和所有与产品相关的过程(包括过程定义和过程管理)的技术。目前随着企业需求的扩大,信息技术的逐步发展,PDM技术的研究与开发已经越来越普遍。通过由信息技术主导的制造模式的发展趋势可以看出,制造业要想提高生产效率,实施信息化战略是唯一选择;而在众多的先进设计与制造技术中,实施产品数据管理是信息化过程中最核心的内容,因为PDM管理的是一个企业的核心竞争力——产品的相关数据,而这些数据是其他管理技术(ERP/MRP)赖以生存的根本所在。其他管理技术更多的是充当企业价值链上的服务环节,PDM则处于企业管理的核心位置。
工作流管理联盟(WFMC)对工作流的定义:工作流是一类在计算机技术的支持下能够完全或者部分实现自动执行的经营过程,它根据一系列过程规则,使信息、任务能够在不同的参与者之间传递与执行。
采用PDM与工作流技术相结合,能有效地实现产品数据在概念设计、计算分析、详细设计、加工制造、销售维护直到产品消亡的整个生命周期内按一定的管理模式加以定义、组织和管理,使得产品数据在整个生命周期内保持一致、共享和安全,同时可按照预先定义的业务流程,自动流转于各个环节,从而提高企业运作的效率,增强企业的竞争力。
1 基于有向图的工作流模型设计
PDM系统中的工作流程管理主要是对产品设计、工艺、生产及销售全过程的管理,在工作流概念下实现业务过程集成管理则是通过定义不同任务之间相互关系的工作流模型来实现的。工作流模型是对工作流的抽象表示,是整个工作流管理系统的基础。在工作流模型中,无论是具体的物料转移、实际物理装置的操作,还是抽象的信息处理与决策过程,都可以用工作流的基本组成元素——任务(活动)来统一地进行描述。同样,反映不同任务之间的关系,无论是具体的车间中零件加工顺序、办公自动化中的文件批转,还是抽象的决策流之间的关系都可以用工作流的基本组成元素——连接弧来统一地进行描述。连接弧反映了企业业务经营过程的一种控制逻辑,定义了活动之间的连接关系和执行顺序。
有向图模型是一种被广泛采用的流程定义模型,它的优点是比较直观、容易理廨,因此工作流模型建立在有向图的基础上,采用有向图对具体的工作流程进行描述建模。下面给出作者采用的有向图的一些基本定义:
定义1 设定有向图G=(V,E),V、E中的元素分别表示图的节点与弧。e=(u,v)∈E,则称u为e的起点或头,v为e的终点或尾,又称u为v的前驱,v为u的后继,前驱域为,Γ-(v),后继域为Γ+(v)。
定义2 给定一个有向图G=(V,E),在V中指定了一点为发点vs,另一点为收点v1,其余是中间点;对于每一个弧(vi,vj)∈E,对应有一个c(vi,vj)≥0,称为弧的容量。通常把这样的G称为网络,记做G=(V,E,C)。
下面在上述图和流的基本定义的基础上做一些扩展和调整,以简化对实际工作流程的建模:
定义3设G'=(V,E,ψ)。其中V是非空有限集合,它的元素为工作流的节点,令V=(v1,v2,…,vn),其中指定v1为起始节点,vn为终止节点;T也是非空有限集合,它是边的定义域,其元素通常为自然数,每一自然数代表了一条边;ψ是表示V之间关联关系的映射。
作者采用有向图理论对具体的工作流程进行建模,图1为某模具企业产品设计发布的基本工作流程图。
图1 产品设计发布流程图
图2 设计发布流程对应的有向图
图2是基于有向图的定义为以上工作流程建立的一个有向图实例,其中V=(v1,v2,v3,v4,v5,v6,v7),v1~v7代表了图1中的各个圆形节点中的内容,也即工作流程的具体任务(活动);E=(1,2,3,4,5,6,7),用带箭头的连接弧代表了工作流程中任务的连接关系、执行顺序;v之间的影射关系ψ则如图3所示。
图3 任务(活动)映射图
在对上述设计发布工作流程建立好相应的有向图模型后,将把具体的工作流及对应的节点模型信息作为一个工作流程模板存人数据库,供工作流引擎调用。
2 工作流管理模块的设计与实现
工作流管理系统WFMS(Workflow Management System)是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流运行逻辑来推进工作流实例的执行,是在企业业务背景下对工作流技术的具体应用。
2.1 工作流引擎的JAVA类和数据模型设计
工作流引擎是工作流管理系统的核心,是工作流程的状态转换机和路由控制器。文中的工作流管理模块的工作流引擎是基于JAVA技术开发的,主要由3个方面的模块来实现:工作流模板、工作流实例和工作流监控。
(1)工作流模板包括两个JAVA类和两个数据模型:WorkFlow类和Node类,WorkFlow数据模型和Node数据模型。其中WorkFlow类和WorkFlow数据模型用来完成定义工作流模板时基本信息的记录,Node类和Node模型记录定义好的工作流模板中每个节点的属性。工作流模板的数据模型对应上述采用有向图为具体工作流程建立的模型。
(2)工作流实例包括2个JAVA类和2个数据模型:WorkFlowInstance类和InstanceNode类,WorkFlowInstance数据模型和InstanceNode数据模型。WorkFlowInstance类和WorkflowInstance数据模型用于记录工作流实例的具体信息。InstanceNode类和InstanceNode数据模型记录了工作流实例中每个节点实例的属性,并同时包括每个工作流节点指定的具体用户的信息。
(3)工作流监控需要1个类和1个数据模型:HistoryRecord类和HistoryRecord表。工作流监控实际就是记录工作流实例每个节点执行时的信息,包括节点的执行时间、执行人和执行人所做的操作。
图4描述了工作流引擎模块中定义的各个实体类(只列出了类的主要属性和方法)及其相互关系,工作流引擎中数据模型的定义将在下面详细介绍。
图4 工作流引擎JAVA类图
2.2 应用服务器及数据库系统设计
工作流管理系统模块是在PDM系统的基础上开发的,以Tomcat5.0作为应用服务器,数据库则采用现有PDM系统使用的关系数据库MYSQL5.0。基本的数据E-R(ENTITY-RELATION)图如图5所示。
图5 工作流管理模块基本E-R图
图5中每一个实体(ENTITY)基本对应数据库中一张表,用来存贮工作流引擎执行所需要的数据模型及其他相关信息。
2.3 工作流管理模块的实现
工作流模块是在现有PDM系统的基础上,采用3层体系的B-S结构开发的:表示层采用Jsp、JavaScript、Ajax技术实现对业务的显示,完成与用户的交互;控制层采用JAVA技术,利用JAVA类实现对具体工作流程的控制、管理等操作,满足各种具体业务的需要;数据层采用MYSQL数据库对相应的工作流模板、工作流实例、监控记录等相关内容进行存储。
3 结束语
工作流程管理是PDM系统中实施业务过程管理与过程控制的一项关键技术。为了提高产品设计的效率,降低产品设计的成本,迫切需要将工作流技术与产品数据管理技术紧密结合,将工作流技术应用到现有的PDM系统中来,改进提高PDM系统中的不够完善的工作流程管理功能,从而从整体上提高企业管理经营的自动化水平,为企业在未来的竞争中建立优势。东莞某企业在使用PDM系统工作流管理模块后,大大提高了该企业产品开发的效率,缩短了产品上市的时间,降低了产品开发的成本,提升了该企业的竞争力。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:PDM系统中工作流技术的研究与应用