PDM/PLM/CAPP |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
PDM工作流程管理研究 |
|
作者: |
|
引言
PDM (Product Data Management,产品数据管理)是以产品为核心,通过计算机网络和数据库技术,把企业生产过程中所有与产品相关的信息和过程集成起来进行管理的技术。即对产品、部件及零件的各种信息进行描述,包括基本信息、各种文件和图文档信息、人员的管理信息和整个的工作流程(包括信息的审批和发放过程等)[1]。PDM系统中工作流程管理是系统顺利运行的关键部分,但基于工作流的应用系统大多根据特定业务流程定制开发,其灵活性和移植性都比较差,因此本文在WFMC(Workflow Management Coalition,工作流管理联盟)的工作流参考模型上,结合web技术、Java及JavaBean技术开发了灵活且移植性强的工作流程管理模块。
1 PDM工作流程管理模块设计[2,3]
PDM工作流程管理主要包括4个操作模块:工作流定义、工作流实例、流程管理和工作流监控。图1为工作流程管理模块总体结构。工作流模块中的操作分别是使用相应的类来封装实现的。
图1 工作流程管理模块总体结构 1.1 工作流定义模块
工作流定义是实施工作流管理的起点。系统通过流程定义工具将工作流直观地、图形化地建立起来,便于操作人员理解工作流程各个元素之间的关系。流程定义可以通过图形化的界面来对一个实际工作疏程中的各个元素进行描述,使工作流引擎能够解释流程定义生成的结果,以作为工作流执行的依据。流程定义的结果被存到数据库中,这些结果称为工作流模板。在工作流定义时期只是指定与业务流程相符的通用的工作流模板,而并不指定执行的任务以及任务负责人。每个模板都是可以允许具有特定操作权限的用户引用的通用模板。
定义的工作流只是包含了该流程的基本信息,还不能表示出一个业务流程中各个任务的先后次序以及并行或串行等。为了表示各个任务,引入了“节点”的概念,一个节点就对应着一个任务。工作流定义过程中添加一个节点就相当于定义了一个任务。定义工作节点包括定义节点的名称、节点与节点之间的顺序关系(即工作流的先后次序以及并联和串联工作流等)和对每一节点进行说明。
1.2 工作流实例模决
工作流实例模块就是将定义好的工作流模板应用到实际工作中。在工作流实例过程中选择了工作流模板后,需要指定工作流的任务(即选择、设计、审批文件),指派每个节点任务的执行者以及完成时限等。工作流执行引擎将根据定义好的任务时限通知设计人员设计文件,设计人员完成后将文件提交,工作流引擎依据工作流中的任务次序将文件传到下一个任务执行者处,并通知相应的审批人员进行审批,如此直到整个流程完成。
1.3 流程管理模块
流程管理模块可以看作是工作流程管理系统与用户进行交互的主要工具。除了流程建模和监控外,用户与工作流程管理系统之间就是通过任务表管理器进行联系。工作流程服务器在对流程模型进行实例化时,动态地向用户配置了资源、指派了任务。任务执行人员打开任务管理器可以接受任务、下载任务说明书和下载相关的文档,并在完成任务后提交任务。
1.4 工作流监控模块
工作流监控模块一方面可以提醒相关用户完成任务,例如,如果一个工作流实例启动后,某一任务没有在规定的时间内完成,工作流引擎就会给出报警,提示用户完成任务;另一方面工作流引擎提供了记录工作流程中每一个节点的执行情况及执行者传递的信息。在可视化流程界面通过不同颜色的图标表示节点任务的执行状态,用户可以通过点击工作流实例图中的节点链接图标查看每一节点任务的执行情况,这样项目负责人可以随时查看工作流实例每个节点任务的执行情况。
2 工作流程管理数据库设计
流程管理系统的数据模型可通过关系数据结构来表达。这样可以降低工作流引擎开发过程中的技术难度,减少工作量,而且同样能实现必须的功能[4]。具体表现在:①与工作流引擎相关的各种控制数据可以存储在数据库管理系统中;②与此相关的数据的完整性可以由数据库管理系统来维护;③利用关系结构可方便地定义工作流引擎中的各种数据格式和数据结构;④可以方便地利用操纵工作流引擎所需的各种数据。
在UML中,需要将实体类映射为可以被数据库识别的数据结构。从类到关系数据库的映射是相当直接的,只需要将类中的私有属性映射为数据库相对应的数据结构,并可进行数据结构优化[5]。
本文通过]ava类和Oracle数据库的结合应用建立了工作流程管理数据库(即WorkfIowDB),其中包括了工作流定义表、工作流节点表、工作流实例表和节点实例表等数据表,下面具体介绍主要的数据表结构:
(1) Workflow表(即工作流定义表)见表1,它包含了工作流模板定义的基本信息,存储的是工作流定义时期的内容。表1 工作流定义表 (2) Node表(即工作流节点表)见表2,这张表记录了工作流模板中每个节点的信息,包括节点名称、节点次序等。表2 工作流节点表
(3) Warkflowtnstanee表(即工作流实例表)见表3,该表记录了工作流实例时的相关信息,包括实例名称、创建人、所属项目、设计审批的文件名等。表3 工作流实例表
(4) NodeInstance表(即节点实例表)见表4,该表记录了工作流实例中每个节点的信息,包括节点的任务、节点任务执行人、执行时间等。
表4 节点实例表
3 结束语
PDM系统中的工作流管理是对产品设计流程进行定义并实现对产品过程的控制,是为实现产品开发过程的自动管理提供必要支持;它也是对生产过程按一定规则进行计算机可处理的形式化定义的模型。因此工作流程的设计是企业实施PDM的一个重要环节。
目前,PDM系统正以较快的速度向前发展。随着各种技术的成熟和用户要求的不断提高,PDM系统中的工作流程管理模块也必须进一步完善自身的功能,提高通用性,扩大使用范围,从而达到更好地为用户服务的目的。同时,随着并行工程、协同设计、人工智能、基于知识库的推理的新思想的引入,基于理论与反馈机制的工作流建模方法及管理系统也成为流程管理发展的新方向。
参考文献
[1] 童秉枢.产品数据管理技术[M].北京:清华大学出版社,2001
[2] 刘东,张志雄,唐力.一种应用了PDM的工作流程管理系统[J].组合机床与自动化加工技术,2004(2):66-68
[3] Yeongho Kim,Suk-Ho Kang,Soo-Hong Lee. et al. A distributed,open,intelligent product data management system[J].International Journal of Computer Integrated Manufacturing,2001.14(2);224-235.
[4] 王行言.Oracle数据库应用开发基础[M].北京:清华大学出版社,2002.
[5] 雷之宇,孙颖,雷鸣宇,等Java项目开发实践——网络篇[M].北京:中国铁道出版社,2005.(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(7/24/2009) |
对 PDM/PLM/CAPP 有何见解?请到 PDM/PLM/CAPP论坛 畅所欲言吧!
|