基于XML的标准设计资源管理平台的研究
2014-06-04房亚东杜仲
房亚东,杜仲
(西安工业大学机电工程学院,陕西西安 710021)
在工程设计过程中,标准件会被大量重复使用。如何方便地建立网络环境下的标准设计资源库[1],并进行有效的管理,实现已有设计资源及成果最大限度地重用,一直是工程设计人员所关心的问题。机械设计中,诸如铆钉、螺栓、螺母等标准件有着种类繁多、结构迥异的特点,如何基于Web环境轻松安装、部署、显示、操作设计资源,并且达到结构与数据分离的目的,是网络环境下设计资源知识库构建的关键技术[1]。文中针对该问题,重点探讨如何利用XML技术通过半结构化的XML文件和结构化的关系型数据库实现设计资源结构和数据在动态页面上的显示和操作。
1 系统体系结构
企业设计资源[2-3]分散化和动态开放的特征决定了管理平台是一个开放的系统,其体系结构也必须是开放的和可扩展的。为此提出如图1所示的标准化设计资源管理平台体系结构[4-5]。由图可知,该系统共分为四层,由上至下分别是客户层、请求接受层、应用服务层以及数据存储层,各层的具体功能及作用如下:
(1)客户层
工程设计人员需要数据交互时通过Web服务器以及企业JavaBean(Enterprise JavaBeans,EJB)服务器提供的接口对设计资源管理平台进行访问,调用平台提供的各项功能。
图1 设计资源平台的体系结构
(2)请求接受层
主要用于接收从浏览器传来的请求并将其交给底层进行处理,同时将请求处理结果发送给浏览器。该层可对数据进行一些简单的逻辑处理,如数据校验、客户端浏览器检验等。
(3)业务逻辑层
业务逻辑层是平台的核心,运行于Java应用程序服务器中,所有事务处理逻辑均封装于EJB组件中,应用服务器为EJB组件提供一个优化的执行环境。
(4)数据存储层
数据存储层主要为快速扩散制造链构建提供基础支持,由设计资源数据库、设计资源结构XML文件以及基础数据库等几部分组成,主要负责数据的存储、查询和备份,维护数据的一致性和安全性,为应用服务层提供数据服务。
2 系统实现关键技术
2.1 基于dom4j.xml文件生成解析算法
以下尝试利用dom4j[6]对设计资源XML文件进行解析。Dom4j是一个易用的、开源的组件库,用于XML、XPath和XSLT的解析,它应用于Java平台,采用了 Java集合框架并完全支持 DOM、SAX和JAXP[7]。它的主要类和接口都在org.dom4j这个包里进行了定义,如表1所示。
表1 dom4j的主要接口和类
通过XMLOperate.java文件实现了XML文件操作算法,图2所示为实现的关键类图,从图中可以得知,XMLOperate类调用了org.dom4j.io包中的SAXReader和SAXWriter类以及org.dom4j包中的 Attribute、Document和Element类,XMLOperate类调用了 DataOperationBean类访问设计资源模块信息和总体数据信息。在XMLOperate类中,getDocumentLocation()方法负责从管理平台中获取设计资源模型信息,setXMLLocation()方法用于设置读取XML文件的路径。initParse()和init-Generate()方法分别解析XML文件和产生入口,get-NodeQuick()方法用于获取节点,所有的叶子节点的选择是由travelSelectedNode()确定的,其返回值是向量,treewalk()方法用于高效快速地遍历指定的XML文件。
图2 设计资源关键类图
2.2 基于Dtree的动态树状结构生成
Dtree是一个由JavaScript编写成的免费开源的树形菜单组件,可以从其官网http://destroydrop.com/javascripts/tree/下载。Dtree在多数浏览器如Internet Explorer 5+,Netscape 6+和Mozilla等下支持,可以在框架下使用,也可以在没有框架的页面中使用[8]。该组件中包括一些很重要的方法,如添加树节点的add()方法,其参数依次为 id,pid,name,url,title,target,icon,iconOpen和open。add()方法的参数及含义如表2所示,id,pid,name是必选参数,其余的是可选参数。动态树的所有节点通过openAll()方法打开,openTo()方法打开书的指定的节点。
表2 add()方法的参数和含义
3 系统实现
3.1 实现过程
该平台基于J2EE技术构建,其实现过程如图3所示,详细描述如下:
图3 设计资源管理平台的实现过程
(1)工程设计人员从主页面进行系统注册,并进入设计资源操作页面;
(2)resDisplay.jsp文件中的标签<jsp:useBean>调用RegQuery类创建具体的一个对象;
(3)从数据表 productinfo中获取设计资源的数据信息 (资源模型名称,用户名,密码,数据出口,资源模型路径和描述等);
(4)XMLOperate.jsp件中的标签<jsp:useBean>调用XMLOperate类创建具体的一个对象;
(5)XMLOperate.java文件中,通过setXMLLocation()方法设置被操作的XML文件的路径;
(6)根据第二步的操作,设计资源管理平台中的资源信息XML文件通过dom4j组件中的initParse()和initGenerate()方法解析和生成;
(7)设计资源生成的数据从其选择的设计资源模型相关的数据库中获取;
(8)根据DTree组件的规则,通过add()方法添加设计资源动态树节点。
3.2 设计资源动态树信息显示的实现
基于上述关键技术及系统的分析与设计,应用JSP和EJB实现了B/S模式的设计资源管理平台。系统数据库为MySQL Server 5.0,Web服务器为Apache Tomcat/5.5.25,对应的某个资源数据库的XML文件结构信息如下所示,其显示和操作界面如图4所示。
图4 设计资源管理平台的界面
4 结束语
标准设计资源是网络制造等先进制造模式中十分昂贵的消耗性资源,也是产品设计活动中最主要的辅助工具,因此在企业生产过程中的灵活性、高效性和正确性等方面扮演着越来越重要的角色。在企业信息化建设过程中,如何快速有效地获取企业资源信息是企业亟待解决的问题。文中根据制造企业标准化设计资源的特点研究了设计资源管理平台框架,并讨论了设计资源显示和操作的实现及典型界面,希望文中所述的方法能为我国制造企业设计资源信息化、网络化的建设提供一些参考。
[1]FANG Y D,KANG P,ZHANG L.Research and Application of Machine Tools Life-cycle Management System Based on Web[C].2009 Second International Colloquium on Computing,Communication,Control,and Management(CCCM 2009),IEEE Press,2009(8):117 -120.
[2]FANG Yadong,HE Weiping,DU Laihong,et al.Research of Enterprise Resource Management Supporting Networked Manufacturing[J].International Journal of Plant Engineering and Management,2005,10(4):196 -203.
[3]房亚东,杜来红,康萍.支持网络化制造的制造资源集成系统的研究与实现[J].机械设计与制造,2009(8):260-262.
[4]张长英.航空结构件热处理工艺资源库的规划与应用[J].机械设计与制造,2012(7):103 -105.
[5]房亚东,何卫平,杜来红,等.基于多维度分析的制造资源集成与共享[J].计算机集成制造系统,2006,12(7):1047-1053.
[6]BUSATTO G,LOHREY M,MANETH S.Efficient Memory Representation of XML Document Trees[J].Information Systems,2008,33(4):456 -474.
[7]ZHOU Q,LI Y,XU Y D.A Way of Creating XHTML Page from XML by Introducing Dom4j[J].Computer Techonology and Development,2010(1):43 -49.
[8]张伟华.基于Dtree实现知识显示方法的研究[J].硅谷,2010(16):94-95.