0 引言
产品数据管理(PDM) 系统主要包括以下几个功能:电子仓库和文档管理、产品结构配置管理、工作流程管理、分类与查询管理和项目管理等。其中电子仓库处于PDM结构的核心位置,它一般是建立在关系型数据库(如Oracle) 的基础上,能够保证数据的安全性和完整性,并可支持各种查询与检索功能。文档管理模块为企业宏观管理提供功能并为所有与产品相关信息和产品生命周期内产生的全部信息提供功能。同时,各功能模块的实现,如产品结构配置管理、工作流管理等模块的实现都与文档管理密切相关,因此,合理设计文档管理模块是确保PDM系统其他模块顺利完成的基础。
本文要解决如下实际问题: ①给出PDM系统的体系结构; ②介绍PDM 系统的三个功能模块:电子仓库和文档管理、工作流程管理、系统管理,并论述三者间的关系,重点解决如何建立文档管理模块的功能模型和如何描述文档与产品的关系等问题; ③结合在系统软件设计过程中遇到的实际问题,从工作流程管理的角度,论述在J2EE 体系结构下,如何实现文档管理模块的设计和记录版本状态的变迁。
1 体系结构
1-1 PDM系统的体系结构
设计的PDM 系统采用J2EE 三层体系结构,因此,该系统有一个表现层,用于提供用户接口;一个业务层,提供客户机服务和商业逻辑;最后是企业信息系统存储层,提供对数据的管理。中间层采用的是BEA WebLogic Server 应用服务器,它能够支持企业级的、多层次的、完全分布式的Web 应用。根据当前PDM系统应具有的功能要求,本文以Web和J2EE 技术为集成框架,构建了基于客户机/服务器体系结构的PDM系统结构,如图1 所示。

J2EE 提供了一个框架,用来开发和实施分布式的商务逻辑,它可显著地简化可伸缩性和高度复杂的企业级应用的开发。系统设计时,首先需要配置EJB 服务器,包括与数据库的连接,对线程池的调整等,然后把创建好的ejb - jar 文件部署到容器上,容器就会提供操作系统的进程或线程,使得该EJB 组件响应用户请求。
1-2 文档管理的组件层次
在上述J2EE 体系结构下,文档管理的组件层次如图2 所示。在文档管理模块的编程中,主要使用两个会话Bean ,其中第一个会话Bean 用于访问若干实体Beans (根据文件类型的不同,每个实体对应一个不同的表格) 。通过文件的类型来增加或修改数据库不同表格中的记录,实现诸如文件的签入、签出、复制等操作的数据库记录属性值的改变;第二个会话Bean 用于访问系统管理模块的有关实体Beans ,通过查找工作空间、电子空间等表格,实现文件实际物理存储位置的变化。

2 文档管理
2-1 文档的生成和归档
项目主管将项目分解为若干子项目、子任务并分发下去后,各个子项目都要经过一系列相关工作流程。在工作流开始运转以前,先将电子周转文件夹分配给第一个活动。在该周转文件夹中,只包括一份文档或一个文档结构,随着流程的逐步推进,随之生成更多的文档,伴随着版本、版次的变迁,不断地描述着项目的进展情况,这些文档包括图形文件、文本文件、数据文件、表格文件和多媒体文件等企业生产中与产品相关的信息文件。当一个工作流程结束后,在产品模型中就增加了一个新的零部件,这样,产品的结构随着项目的进展变得越来越完整,当项目结束时便得到了完整的产品数据。流程完成后,项目阶段由工作状态转变为归档状态,此时,这个阶段所产生和处理的文件数据都要进行归档。在一个设计流程中,只有当所有的文档全部归档后,才意味着流程的结束,完成了该流程所描述的子任务。文件归档应当按照文件的不同类型分类归档,各类文档在系统中不再是杂乱无章的,而是按照文档类型有序管理,从而使得产品信息的描述更直观、更清晰。产品及其所属的所有零部件、零部件的描述文档都与该项目存在着联系,所以,在进行查询时,可将项目名称或项目编号作为索引键,从而提供快速、有效的信息访问,实现信息透明。