APP下载

基于XML的电子器件模块化管理系统的设计与实现

2010-09-14陈富军

天中学刊 2010年5期
关键词:电子器件引擎模块化

陈富军,熊 娟

(黄淮学院 电子科学与工程系,河南 驻马店 463000)

基于XML的电子器件模块化管理系统的设计与实现

陈富军,熊 娟

(黄淮学院 电子科学与工程系,河南 驻马店 463000)

文章分析了用XML进行工作流建模的可行性和优势,给出了电子器件模块化管理系统的工作流建模方案,并设计了一种基于XML的电子器件模块化管理系统.

XML;电子器件;建模;模块化管理系统

在电力电子领域,企业新产品研发加快,产品也日益丰富,这些新变化都对企业内部现有的知识库管理系统提出了挑战.特别是在金融危机形势下,为了争取在竞争激烈的电力电子市场获得长远发展,企业迫切需要降低研发成本,提高研发效率.在企业内部实现电子器件管理的标准化,加强研发行为的规范化、流程化,是降低研发成本和风险、提高研发效率的有效手段,是建立自主研发生产管理体系的必要措施.

1 系统实现的技术支撑

XML是Extensible Markup Language的缩写,即可扩展标记语言,是 W3C协会推出的新一代数据交换标准.XML是一种可创建新的标记语言的元语言,其应用层面具有无限延伸性,主要用于定义Web网页上的文档元素和商业文档[1].XML最大的特点是将数据结构化,能实现数据共享,能在不同平台间进行信息交换.只要在相互传递信息的系统上装有 XML解析器,就可以解读经过标记的数据,得到正确的信息.XML建立在Unicode之上,文档能够以不同的语言进行呈现.

本文研究的电子器件模块化管理系统采用基于XML的工作流技术,主要有以下优点:研发过程可跟踪、管理;管理策略灵活、强大;支持各种复杂流程;B/S结构可实现纯浏览器应用;表单功能强大,扩展便捷;具有丰富的统计、查询、报表功能.

1.1 XML的文档结构

XML文档由许多不同作用的标记构成.从逻辑结构上来看,一个 XML文档由文档头和文档实体两部分组成.文档头包括 XML的必要声明、Schema或DTD声明、处理指令(Process Instrument,PI)等要素;文档实体是存放数据的地方.

1.2 工作流和可视化建模工具

工作流是一系列能够部分或全部自动执行的业务过程,包括相应的过程规则、文档、任务以及任务的执行者等元素[2].工作流建模是工作流管理系统中一个重要的组成部分,也是实施工作流的起点.本文所设计电子器件模块化管理系统的工作流建模通过可视化工作流程设计器 Silverlight2.0来实现.建模工具Silverlight2.0使用图形化的描述工具定义流程实体的各个元素,过程定义的结果可作为模板(节点的处理规则)直接存到数据库中,也可保存到本地 XML文件中,便于修改和重建;它遵循国际工作流管理联盟制定的工作流标准,能实现诸如顺序流程、条件流程、分支流程、循环流程、子流程等多种流程方式;同时,它采用拖拉的方式使得定制流程变得更为简便,用户只需了解本单位的业务流程就可轻松定制复杂的工作流程.

1.3 XML与工作流建模

以往使用的建模语言在描述工作流元素的能力上存在许多不足.XML完全可以描述组成工作流的各种数据元素,基于 XML构建工作流模型是一种可行的技术解决方案[2].随着XML的正式颁布,XML自身强大的描述能力,为工作流建模开辟了新的实现途径.XML能满足描述一个工作流模型所需要的基本要求,这主要体现在:(1)能自定义标识元素,具有可扩展性和自我解释能力,能够描述组成工作流模型中的任意元素、属性及其关系,而且它定义的标识元素在概念上不会重叠,能实现多层嵌套.(2)文档可重复使用且容易理解.(3)具有很好的跨平台性.XML正在成为Internet上数据传输和交换的标准,基于XML的工作流模型可直接在各种平台之间传输和交换,为开发基于 Web的分布式工作流管理系统提供了方便.(4)无论是基于XML Schema还是基于DTD开发的XML文档,XML解析器都可以对数据进行有效性验证.

2 需求分析

本设计即基于 XML的电子器件模块化管理系统主要包括3个部分,分别是功能电路管理模块、元器件选型管理模块和PCB制版工艺规范化管理模块.限于篇幅,这里主要介绍功能电路管理模块.

功能电路管理模块的主要作用是为研发人员在新产品的开发过程中,针对研发的具体参数要求,在系统中选择已有的、经过实践检验的、已成功应用于公司其他产品的功能电路模块,为产品开发人员提供参考.一方面,该管理模块可将公司长期以来的技术积累进行归纳总结,以供公司研发人员学习交流,实现知识经验共享,减少新产品研发过程中不必要的重复开发;另一方面,该管理模块可减少研发过程中的风险和盲从,尽量避免因为研发人员水平不足导致拖延产品研发进度甚至产品研发失败.功能电路管理模块以公司现有产品分类为基本类,按照各功能模块划分基本组,再根据具体性能要求和应用环境确定最终选用的功能电路模块的具体参数配置.通过可视化流程设计器,可以对整个功能电路管理模块的流程实现工作流建模,如图1所示.

图1 功能电路管理模块可视化工作流建模

通过可视化流程设计器,可以清楚地看到功能电路管理模块中的参与者和信息反馈路线,以及每一步在处理后的可能分支.

3 工作流引擎设计与实现

工作流引擎是工作流管理系统的核心,为工作流实例提供执行环境.工作流引擎能够解释流程定义生成的结果并将其作为流转的依据,它关系到整个工作流系统的执行效率与可扩展性.工作流引擎数据模型中的信息模型部分具有很强的层次性、结构性,使用单纯的关系难以描述清楚,而且会存在很多冗余信息[3].基于XML的独特优势,工作流引擎的核心部分最适宜用 XML来描述,从而做到关系与层次的有机结合.因此,电子器件模块化管理系统用 XML进行流程信息描述,在需要扩展到分布式工作流管理系统应用时,可以采用传递基于 XML的流程实例信息,来达到在工作流引擎各组件之间相互通信的目的.

本文系统工作流引擎设计的功能结构如图 2所示.引擎各部分的主要功能是:用户在启动工作流运行时,系统先运行 XML解释器,根据工作流模型定义的ID号,从工作流模型表中读取流程定义的XML文件,将其解析为结点序列、存入转移表,并为每个结点初始化其状态信息;由分配器为每个结点分配结点处理、运行执行条件、到达时间、处理时间以及处理结果等;由流程路由器根据相应的ID号选择要转移的下一结点.在流程运行的过程中,用户可通过流程监控器访问工作流的运行状态.该系统的工作流引擎采用以数据库为中心的设计思路,所有重要信息都存储于数据库.

图2 工作流引擎结构图

4 电子器件模块化管理系统的结构

本文的系统体系结构采用B/S框架,见图3.应用服务器属于业务逻辑层,又称为中间件,它起沟通客户端(业务表示层)与数据库服务器(存储层)的作用.客户端对数据库的所有连接请求都需要通过应用服务器,然后递交给数据库服务器.通过中间件技术屏蔽了并发查询访问对数据库系统的冲击,解决了直接访问数据库所带来的数据安全问题[4].电子器件模块化管理系统可以提供权限管理、远程登录、并发查询、排序筛选、系统维护等基本数据库功能,并能够批量导入导出数据列表,生成采购信息单、生产物料单等.

图3 电子器件产品模块化管理系统体系结构

5 电子器件模块化管理系统的运行实现

在使用验证工具对工作流模型检验通过之后,建模工具就会以*.xpdl格式存储流程定义的转换结果.当用户与工作流引擎系统建立“会话”后,就会把该文件转换结果部署到基于XML的工作流引擎系统中.基于 XML的工作流引擎对用户来说是透明的,用户对工作流引擎的操作通过其客户端来实现.当用户登陆系统后就可通过任务列表得知当前需要处理的任务和已完成的任务,同时也可启动一次新的流程.在进行新的电子产品设计时,可查找所需的器件,并对器件进行统一管理.

点击“器件库”,并选中要访问的器件,就会进入管理界面并显示出相应的基本信息,如图4所示.

根据执行的功能电路管理模块工作流程,管理者可查看功能模块管理中的表flow中的数据,如图5所示.表flow以NodeID为主键,描述整个功能模块管理流程图的每个节点的信息,包含每个流程节点审核未通过时应该返回的上一级流程节点、下一个流程节点以及对应的表单.通过这个表可以实现每个节点的自身描述以及表单与角色的对应关系,见图6.表task包含的信息为每个成员所参与的流程节点的角色信息.当流程进行到某一个节点时,管理者通过这个表格就可以找到流程所需表单,查到所参与人员的信息及角色.通过系统运行测试和查看执行流程可知,系统能够实现所需的基本功能.

图4 器件库管理界面

图5 表flow中的数据

图6 表task中的数据

[1] 顾兵.XML实用技术教程[M].北京:清华大学出版社,2007:6―15.

[2] 罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899―907.

[3] 赵政文.基于 XML数据库的工作流系统的研究与设计[D].西安:西北工业大学,2006.

[4] 黄祖敏.基于三层调度的工作流管理体系结构[D].哈尔滨:哈尔滨工程大学,2007.

〔责任编辑 牛建兵〕

TP315

A

1006-5261(2010)05-0032-03

2010-02-02

陈富军(1982―),男,河南太康人,助教,华中科技大学硕士研究生.

猜你喜欢

电子器件引擎模块化
《电子器件》期刊征订
模块化自主水下机器人开发与应用
《电子器件》期刊征订
模块化住宅
蓝谷: “涉蓝”新引擎
ACP100模块化小型堆研发进展
模块化VS大型工厂
电力电子器件及其应用的问题和发展
电子器件热防护技术及在核机器人中的应用
无形的引擎