首页 > 方案案例 > 正文

基于Web的PDM在中小企业的应用研究

2009-06-10 09:15:14  来源:万方数据

摘要:本文在详细分析了PDM在中小企业的应用需求之后,就PDM系统建设进行了详细研究和实施,为中小企业实施PDM系统建设提供了良好的借鉴和经验。
关键词: 基于Web PDM

  产品数据管理PDM(Product Data Management)技术以及相应的应用软件系统最早出现在20世纪80年代中期,其最初用选是解决企业大量工程图样和技术文档的计算机管理问题。此后不久,PDM系统逐步扩展到产品开发过程中的3个主要领域,即设计目样与电子文档管理、产品结构与技术状态管理,以及工程发放与变更管理。特别是,随着集成式产品开发IPD(Integrated Product Development)和并行工程思想受到企业界的广泛重视,对整个产品开发过程进行时间协调和进度控制的要求日趋强烈,PDM系统又增加了过程管理的功能。作为一项仍在蓬勃发展的管理思想和信息管理技术,2l世纪以来,PDM技术的内涵不断得到丰富和拓展。美国CIMdata公司调查的企业中,98%的企业都要实施PDM。我国也有很多企业已经实施了PDM。

  一 PDM系统功能分析

  本PDM系统在详细分析了企业需求和大量调查的基础上,确定系统分为六大功能模块如图1所示。

图1 PDM系统的功能模块图

  图1 PDM系统的功能模块图

  各功能模块的基本功能介绍如下:

  1:个人办公主要包括个人的当日任务,用户注册,个人资料修改和注销用户。

  2:文档管理主要包括文档上传,文档的分类管理和文档类型设定。

  3:产品结构管理主要包括产品结构管理,产品结构树根初始化管理,产品结构查询和BOM建模。

  4:工作流管理主要包括工作流建模,工作流模型维护,工作流程初始化和工作流监控。

  5:项目管理主要包括项目组织和项目监控。

  6:系统管理主要包括日志管理,角色管理,人员管理,部门管理和注销用户。

  二 PDM系统结构分析

  本PDM系统是采用多级分布式结构B/S模式,根据其功能及逻辑结构不同,可将其分为三层:用户层、中间处理层、企业数据层。采用该模式可使所有的开发、维护等工作集中在服务器端进行,大大简化了对客户端的要求。同时,因其界面具备一致性和友好性,程序开发和管理成本较低,是目前较为理想的模型。在用户层,通过审查用户登陆的账号授予用户不同权限,从而限制用户对数据的控制能力。最大权限可以查看所有信息并可修改除财会以外的所有信息,其它权限则可以查看、修改对应分支信息。在信息被修改的同时,其它相关数据都会依其关联性作相应变化。整个系统的功能实现是用J2EE+TOMCAT+ORACLE+XML完成的,因为是用了能够跨平台的JAVA技术,所以系统可以在不同操作系统上运行,不用担心因为操作系统为开发带来的局限性。开发中引入了组件技术、中间件,面向对象程序开发的建模技术,大大提高了程序的健壮性和可维护性。本系统体系结构图如图2所示。

图2 PDM系统体系结构图

  图2 PDM系统体系结构图

  三 数据库设计

  本系统选择Oracle数据库,它且有支持大数据库、多用户的高性能的事务处理,实施安全性控制和完整性控制,支持分布式数据库和分布处理,可移植性、可兼容性和可连接性,强大的数据库修复能力,同时提供更好的Java语言原生编译技术,可以更快速地编译Java程序,并且提供图形化管理接口OEM(Oracle Enterprise Mangement),降低数据管理的工作负担,提高管理效率,可以实时监控数据库。企业各种数据根据其使用范目不同分别存放在企业内部的服务器和工作站上,这样一方面能提高数据运行效率,又能减轻很多终端访问服务器给服务器带来的负担。

  为了提高资源的利用率,我们使用了数据库连接池技术。

  (1)数据库连接池的好处:

  ①使对数据库的操作很快。需要的时候从连接池中取来,不用的时候归还;

  ②避免反复的建立新的数据库连接,可提高系统性能和应该程序的伸缩性;

  ③即使连接教超过了连接池所提供的连接数的时候,它会等待某一个释放的连接。

  (2)在基于上述对数据库连接池认识的基础上,我们设计开发了DdataBaseAccessBean组件,把常用的功能封装在一起,提高了程序的可重用性,代码简要介绍如下:

  Public class DatabaseAccess

  {

  public void getConnect() throws

  Naming Exception,Exception{}

  /*方法getconnect()创建到Oracle数据库的JDRC连接,抛出错误,在JSP页面中处理错误。*/

  public void CommitTransaction()throws Exception{}

  /*方法CommitTransaction()用于提交事务*/

  public void RollbackTransaction()throws Exception{}

  /*方法RollbackTransaction()用于回滚事务*/

  public void DisConnect()throws NamingException,ExcepUon{}

  /*方法DisConnect()用于释放数据库连接*/

  public int ExecutelnsertSQL(String insertSQL) throws Exception{}

  /*ExecutelnsertSQL方法执行在SetSQLString()中得到的SQL语句,插入记录到数据库中。*/

  Public int ExecuteUpdateSQL(String updateSQL) throws Exception{}

  /*ExecuteUpdateSQL方法执行在SetSQLString()中得到的SQL语句,更新数据库中的记录。*/

  public int ExecuteDeleteSQL(String deleteSQL)throws Exception{}

  /*ExecuteDeleteSQL方法执行在SetSQLString()中得到的SQL语句,删除数据库的记录。*/

  Public ResultSet ExecuteQuerySQL(String querySQL) throws Exception{}

  /*ExecuteQuerySQL方法执行在SetSQLString()中得到的SQL语句,获取数据库中的数据。*/

  ……

  }

  四 本PDM系统的特点

  在用户查询或修改数据时,可能会因为操作不当导致系统出错,为了提高系统的稳定性,健壮性,该系统采用了脚本语言JavaScript进行数据验证。JavaScript的一种优势是能在web系统中高效运行,且在客户端执行,无需编译,可减轻网络负担。一旦用户操作不当(如因查询条件或输入数据类型不匹配等),系统会中止该操作的执行,同时给出消息提示。系统接入Internet后,往往会因访问量过大而出现系统运行速度大大减慢等现象,因此设置负载平衡控制是保证稳定性的一个重要环节。目前,调节系统速度的方式主要有两种:一种是通过软件提升客户端与数据库的连接速度,另一种是通过增设硬件性能,扩大允许访问的数量。在该系统中采用数据库连接池的方式,用户访问数据库时系统为其配置的资源,为下一个用户所使用,从而减少系统反复进行资源所带来的时间延迟问题,大大提高连接数据库的速度。

  五 结束语

  本文首先分析了PDM系统的基本功能,在此基础上给出了基于web模式的实现方案。实践证明实施本PDM系统的企业在工作中提高了工作效率,缩短生产周期,节约人力物力,文档、图档管理方便有有效管理,能够做到实时监控工作流、项目进展的情况,以在网络上发送产品企业的信息,解决了新产品开发进度缓慢的问题,为企业带来了良好的经济效益和社会效益。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。