PDM系统分析及软件技术框架

发布时间:18-05-08

PDM系统分析及软件技术框架

    PDM系统是一类大型管理软件,涉及的业务与技术都比较广泛,依靠个人或单个团队来完成开发都比较困难。因此,在开发PDM项目时需要运用软件的工业化生产方式,使用分层方法及组件技术以提高软件的开发效率及降低项目管理及系统维护的复杂度。
 
    首先,将整个软件应用分解为较小的功能单一的模块,不同模块之间具有较低的依赖关系,将不同的模块交给不同的成员或不同的团队按照一定的规范进行设计与开发,最后将各个子模块组装、集成为完整的应用系统。为了保证模块间的低藕合性,功能模块的划分必须建立在对需求充分理解、定义的基础上,以保证不同模块的负责人员能够独立完成该模块的开发任务。
 
2.1PDM系统的体系结构
    通过对PDM系统需求的深入调研,可以搭建图2-1所示系统体系结构:从上至下依次分为四层,包括用户界面层、功能模块及开发工具层、数据访问层及系统支撑层。

2-1.jpg

   (1)用户界面层:向用户提供交互式图形界面,用户可以再界面中直观方便地完成管理系统中各种对象的操作。用户界面直接与用户交互,处于系统的最上层。
 
    (2)功能模块及开发工具层:PDM系统为用户提供的主要功能模块包括:系统管理、电子仓库与文档管理、工作流管理、权限管理、版本管理、文件检索等。另外,此层需要提供功能模块的集成工具与集成平台。
 
    (3)数据访问层:数据访问层对数据库数据进行包装,支撑了PDM各功能模块与数据库的交互。通过该层,PDM系统对象管理框架能够支持异构的操作系统、网络及数据库。用户在使用PDM系统的各项功能时,能够实现对数据的透明化操作、对服务的透明化调用和对过程的透明化管理。
 
    (4)系统支撑层:以目前主流的关系型数据库系统作为PDM的支撑平台,使用关系型数据库提供的数据操作支持PDM系统对象对底层数据的管理。
 
PDM系统的体系结构是整个系统得以实现的理论基础。同时,以体系结构作为出发点开发PDM系统符合软件工程“自顶向下”的软件开发原则。
 
2.2文件管理模块功能分析与大型制造企业的需求特征
    电子仓库与文件管理是PDM系统的核心功能,文件的上传、存储与下载方式的控制以及数据的备份与恢复成为其中重要的技术关键点,这些功能点的实现直接影响系统的可用性、一致性、数据安全性以及企业信息系统的整体性能。
 
    电子仓库,即文件管理模块的基本服务单元,维护着PDM系统的整个数字化文档实体系统(即文件柜及其中的所有文件),并向PDM系统的其他模块提供文件上传、下载、删除,以及文件系统管理等基本服务。
 
    PDM系统文件管理模块的主要功能包括:
    ◇基于Web的文件资源的浏览
    ◇基于Web的部分文件的在线阅读或编辑
    ◇在B/S结构中实现大文件上传
    ◇在B/S结构中实现大文件下载
    ◇文件或文件夹的基本操作
    ◇用户文件空间管理
    大文件上传在Web应用中是一个常见的问题,以大型制造企业的产品数据管理(PDM)系统为例,它管理着大量设计、生产相关的数字化文档,例如市场分析报告、可行性分析报告、设计图纸、加工图纸、各种规格说明书等,并优化这些数字化文档的管理流程。以航空航天与船舶制造企业为例,其单个文档的规格往往很大,在几兆至上百兆之间。因此,实现大文件传输,并且在高并发环境中提供稳定、安全、可靠的服务成为大规模制造型企业PDM系统中一个关键的需求。
 
    文件存取技术是PDM系统文件管理模块中一个重要的技术关键点。通常情况下,文件存储可以采用两种模式完成,即文件柜存储模式与数据库存储模式。如表2-1所示,两种存储模式各有其优缺点及其适用范围。即使数据库存储模式具有较高的安全性能及管理效率,并且较容易控制数据的一致性,但是并不足以支撑大规模制造型企业PDM系统庞大的文件规模,因此,文件柜模式成为PDM系统文件存取方案的唯一选择。
 
    如何设计文件系统的存储结构,如何控制文件系统的存储容量,如何设计存放规则及命名规则,以提高系统存取文件的效率成为一个重要的大规模制造型企业PDM系统中另一个关键的需求。与此同时,针对文件柜模式的缺点一一即安全性能及一致性控制等方面存在的缺陷设计合适的解决方案,也是一个函待解决的难题。
 
表2-1两种文件存储模式对比

表2-1.jpg

    诸如航空航天及船舶制造等大规模制造型企业对数据的安全性、保密性要求具有较高的要求,这为文件管理模块的实现提出了更多的挑战。在B/S结构中访问文件系统通常通过图2-2所示流程进行。

2-2.jpg

    通过以上流程,用户通过Web服务器直接与文件柜交换文件,文件系统的安全性难以得到保证。如何改进访问流程,增加文件系统的安全性保障也是大规模制造型企业PDM系统的关键难题之一。
 
    综上所述,诸如航空航天、船舶制造等大规模制造型企业对PDM系统的文件管理模块提出了更高的要求,包括:
    ◇更大容量的文件
    ◇更庞大的文件规模
    ◇更频繁的并发请求
    ◇更高的数据安全性要求
    ◇更复杂的系统集成等
    基于以上特定需求,为了保证系统能够提供高效率的服务,本文将文件管理模块的实现问题划分为以下子问题:
    ◇文件传输方式的实现方法
    ◇文件存储结构的设计
    ◇文件转存方案的详细过程
    本论文将针对以上几个子问题进行详细分析,并通过实验与比较的方式对每个子问题进行研究,设计高效的解决方案。
 
2.3基于.NET的Web应用开发技术
    .Net平台是当前最为流行的Web应用开发框架之一,其强大的功能及便捷的开发、维护方式使它深受开发人员的青睐。.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。从层次结构来看,.NET框架又包括三个主要组成部分:公共语言运行时(CLR:Common Language Runtime)、框架类库(Framework Class Library)和上层应用模板一一传统的Windows应用程序模板(Win Forms)和基于ASP NET的面向Web的网络应用程序模板(WebForms和Web Services。
 
    公共语言运行时(CLR)是一个运行时环境,管理代码的执行并使开发过程变得更加简单。在CLR之上的是.Net框架类库,它提供了一套开发人员希望在标准语言库中存在的基类库,包括集合、输入/输出、字符串及数据类。
 
    但是,在基于.Net平台的Web项目中实现大文件传输功能仍存在各种问题,例如并发情况下服务器CPU使用率过高,内存占用过大,传输速度过慢,网络不稳定时容易造成传输失败等。但是企业应用对大文件传输的需求日益增大,并且并发情况越来越频繁,如何在.Net平台中实现大文件传输功能成为一个重要的课题。本节将对基于.Net平台的主流Web应用开发技术进行介绍,这些技术在PDM系统文件管理模块的实现过程中有着重要的应用。
 
2.3.1ASP.NET MVC框架
    ASP.NET是微软推出的新一代建立动态Web应用程序开发平台,具有许多优点及新特性:例如采用了页面脱离代码技术,即前台代码保存到.aspx文件,后台代码保存到.cs文件,这样不但提高了代码的可读性,让代码的管理更为简单高效,而且系统编译时可以将后台代码编译为.dll文件,Web应用程序在服务器运行时可以直接运行编译好的.dll文件,从而提高系统的性能;另外,ASP.NET的功能易于扩展,可以轻松地将自定义功能集成到应用程序中,加上其丰富的控件资源及便捷的控件扩展方式,使Web应用的开发更加简易、灵活、高效。
 
    ASP.NET的运行原理如图2-3所示,当一个HTTP请求到服务器并被IIS接收之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后经过一些HttpModule的处理,用于获取当前应用程序的模块集合,再将这条请求发送给能够处理这个请求的模块HttpHandlero HttpModule处理的作用,一是为了处理一些必要的过程,二是为了增强安全性,三是为了提高效率,四是为了用户能够在更多的环节上进行控制。

2-3.jpg

    ASP.NET MVC是微软官方提供的MVC模式编写ASP.NET Web应用程序的一个框架,它把一个Web应用分成了三个部分:model、 view和controller,提供了一个可以代替ASP.NET Web窗体的基于MVC的应用。
 
    MVC设计模式,即模型--视图--控制器模式是一个经典的应用于用户交互程序的实现模式,至今已被广泛使用。它实现了显示、逻辑与控制的分离,强制地把应用程序的输入、处理和输出分开,使事件驱动的用户交互编程变得简单而明了。MVC的工作原理如图2-4所示。

2-4.jpg

    MVC模式不仅实现了功能模块和显示模块的分离,还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
使用ASP.NET MVC框架最大的优点在于:严格的MVC概念分离;通过测试驱动开发使Web应用程序的可测试性成为可能;直接通过HTML以及JavaScript构建细粒度的控件。但是相对于ASP.NET WebForm搭建Web应用程序的方法,它也存在一些缺点,例如开发不如WebForm简单,服务端控件的使用也较不方便等。为了提高项目的维护效率及可测性,本文尝试使用ASP.NETMVC框架搭建PDM系统典型场景的Web架构。
 
2.3.2AJAX与ExtJS
    Ajax,即“Asynchronous JavaScript and XML”,中文译为“异步Javascript和XML”,是一种创建交互式网页应用的网页开发技术。根据Ajax的提出者Jesse James Garrett建议,它使用:
    ◇XHTML+CSS来表示信息
    ◇Javascript操作DOM进行动态显示及交互
    ◇XML和XSLT进行数据交换等操作
    ◇XMLHttpRequest对象与Web服务器进行异步数据交换
    ◇Javascript将所有元素绑定在一起
    ◇SOAP以XML的格式来传送方法名和参数

    类似于DHTML或LAMP、Ajax不是指一种单一的技术,而是一系列相关技术有机地结合运用。
    Ajax最大的优点在于其局部刷新功能,它能让Web应用程序能够更快、更友好地响应用户请求,节省响应时间及网络带宽资源,提高系统前后端交互的效率。同时Ajax不需要任何浏览器插件,只需要浏览器允许JavaScript的执行即可。
 
    与此同时,Ajax最主要的不足之处在于它可能破坏浏览器后退按钮的正常行为,当用户动态更新页面后,无法通过后退按钮回到前一个页面状态。另外,Ajax应用程序交互过程中对网络延迟现象需要进行特殊处理,以避免页面已经动态刷新,但是交互没有实际完成的现象发生,例如借助一些可视化组件或页面效果来提示用户等待系统交互的完成。Ajax还存在一些其他不足,例如部分智能终端(例如手机、PDA等)不能很好的支持Ajax;对流媒体的支持没有Flash和Java Applet强; Ajax的无刷新重载容易给用户带来困扰----用户不太清楚现在的数据是新的还是已经更新过的。
 
    本文介绍的文件分块传输方法便是基于Ajax技术的一个能够实现断点续传、能够支持多用户同时上传的大文件传输解决方案。同时,本文实现的PDM系统典型场景中也多处使用了Ajax技术进行页面刷新。
 
    ExtJS可以用来开发RIA也即富客户端的Ajax应用,是一个用javascript写的,主要用于创建前端用户界面,与后台技术基本无关的前端Ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种平台的应用开发中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。
 
    在使用ExtJS之前,需要下载ExtJS库文件。ExtJS是一个开源资源,可以从官方网站免费下载。库文件中包含Ext的全部源码、核心组件、所有第三方底层库、API帮助文档以及ExtJS实例等。
 
    ExtJS能够创建绚丽的页面元素,例如表格、按钮等,并扩展它们的功能,本文的原型系统正是运用ExtJS技术实现文档的树结构,通过它可以再文档树中方便地通过右键对该节点选择各种操作。当然,与其强大的功能相应,带来的缺点就是效率的降低,例如页面加载时间增加,跳转反应变慢等。但是随着计算机性能的快速提高,这些缺点的影响变得越来越小。
 
2.4本章小结
    本章对PDM系统体系结构进行研究,对电子仓库与文件管理模块的基本功能进行分析,并对大型制造类企业PDM系统的特定需求进行调研,初步提出了问题的研究方向及系统的实现思路。本章还对基于.Net平台的主流Web应用技术进行了介绍,初步搭建系统开发的技术体系。



本文为御云清软英泰PLM软件原创文章,如想转载,请注明原文网址摘自于
http://www.plmsoft.com.cn/news/gsxw/148.html,否则,禁止转载;谢谢配合!