2.2 SF-PLM 工作流管理系统的体系结构
根据WFMC 的工作流参考模型,SF-PLM 工作流管理系统将由四个主要模块组成,分别是建模工具、管理工具、客户应用和工作流执行服务。因为SF-PLM 系统采用基于CORBA 分布式B/S 三层网络结构,所以其工作流管理系统也将基于CORBA,采用分布式三层结构。
建模工具、管理工具、客户应用都将放在客户端,根据用户类型,提供相应的应用。如终端用户是流程工程师,系统将提供建模工具,使其方便地制定和修改工作流程;如终端用户是流程管理和监控者,系统将提供管理监控工具,使其方便地进行流程分析、流程监控等管理工作。由于系统基于CORBA 平台,所以客户端具有跨平台的机制,这些客户端的应用能够在异构的客户平台上为不同的用户服务。各个异构的客户平台将通过客户端ORB 请求服务器端的工作流执行服务。
工作流执行服务将作为整个P L M 系统应用业务逻辑的一部分,放在中间层。它通过访问位于存储层的数据库服务器(本系统采用Java 的JDBC 连接数据库)取得相应的人员角色数据、流程控制数据及其他流程相关数据。在中间层,工作流执行服务还可以调用其他的外部应用服务,以扩展其功能。
在此基础上建立的SF-PLM工作流管理系统的三层体系结构如图3所示。由于客户端采用Java 图形界面的Web 技术,所以客户端仅需要一个web 浏览器,这样极大地增强了整个系统部署的灵活性。从图3 中可以看到,客户层和中间层是通过CORBA的IIOP 协议和WEB 的HTTP 协议传输的,这使系统能够自如地穿梭于Internet/Intranet,不受空间地域的限制。

3 工作流管理的对象模型
本文采用面向对象分析方法对工作流管理系统进行具体分析,并用UML(Unified Modeling Language,统一建模语言)来表示分析的结果。
面向对象分析的第一步是定义用况(Use Case),并建立系统的用况图(Use Case Diagram)。用况用来描述一个参与者(一个外部的主动者)使用系统完成某个过程的事件发生顺序。它能够体现系统的需求情况。用况是一个描述型文档,而用况图则直观地用图形表示出系统的一组用况、用况的参与者以及用况和参与者之间的关系。
根据已经构建的SF-PLM系统工作流管理的体系结构,分析得到User,Monitor和MFCreator三个参与者和八个用况,他们分别是QueryProcess(查询流程用况),EnactProcess (执行流程用况),AnalyseProcess(分析流程用况),MonitorProcess(监控流程用况),ManageWfUseRole(用户角色管理用况),DefineProcess(流程定义用况),ModifyProcess(流程修改用况)。它们之间的关系可以用用况图直观的表示出来,如图4 所示。

参与者User是指一般用户,可以查询流程和执行角色相关的流程,是QueryProcess和EnactProcess两个用况的发起者。其中,User发起的EnactProcess用况的执行顺序为:User 登入工作流管理子系统后,获取相应的角色信息,然后系统会列出该用户相应的任务列表。User 选取其中的一个任务项,并请求服务器端的工作流引擎执行该任务,工作流引擎执行任务项,更新相应的过程数据库并记录系统日志,然后把执行结果返回给客户端的User(如图5所示)。

参与者Monitor是指具有系统管理和监控权限的高级用户。从图4中可以看到,Monitor是EnactProcess,AnalyseProcess,MonitorProcess,ManageWfUseRole 四个用况的发起者。系统将为Monitor用户提供工作流监控管理工具,流程执行分析工具及用户角色管理工具,以便于Monitor用户能够对工作流的执行状态、运行情况进行管理和监控。