陳富軍,熊 娟
(黃淮學院 電子科學與工程系,河南 駐馬店 463000)
基于XML的電子器件模塊化管理系統的設計與實現
陳富軍,熊 娟
(黃淮學院 電子科學與工程系,河南 駐馬店 463000)
文章分析了用XML進行工作流建模的可行性和優勢,給出了電子器件模塊化管理系統的工作流建模方案,并設計了一種基于XML的電子器件模塊化管理系統.
XML;電子器件;建模;模塊化管理系統
在電力電子領域,企業新產品研發加快,產品也日益豐富,這些新變化都對企業內部現有的知識庫管理系統提出了挑戰.特別是在金融危機形勢下,為了爭取在競爭激烈的電力電子市場獲得長遠發展,企業迫切需要降低研發成本,提高研發效率.在企業內部實現電子器件管理的標準化,加強研發行為的規范化、流程化,是降低研發成本和風險、提高研發效率的有效手段,是建立自主研發生產管理體系的必要措施.
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解析器都可以對數據進行有效性驗證.
本設計即基于 XML的電子器件模塊化管理系統主要包括3個部分,分別是功能電路管理模塊、元器件選型管理模塊和PCB制版工藝規范化管理模塊.限于篇幅,這里主要介紹功能電路管理模塊.
功能電路管理模塊的主要作用是為研發人員在新產品的開發過程中,針對研發的具體參數要求,在系統中選擇已有的、經過實踐檢驗的、已成功應用于公司其他產品的功能電路模塊,為產品開發人員提供參考.一方面,該管理模塊可將公司長期以來的技術積累進行歸納總結,以供公司研發人員學習交流,實現知識經驗共享,減少新產品研發過程中不必要的重復開發;另一方面,該管理模塊可減少研發過程中的風險和盲從,盡量避免因為研發人員水平不足導致拖延產品研發進度甚至產品研發失?。δ茈娐饭芾砟K以公司現有產品分類為基本類,按照各功能模塊劃分基本組,再根據具體性能要求和應用環境確定最終選用的功能電路模塊的具體參數配置.通過可視化流程設計器,可以對整個功能電路管理模塊的流程實現工作流建模,如圖1所示.

圖1 功能電路管理模塊可視化工作流建模
通過可視化流程設計器,可以清楚地看到功能電路管理模塊中的參與者和信息反饋路線,以及每一步在處理后的可能分支.
工作流引擎是工作流管理系統的核心,為工作流實例提供執行環境.工作流引擎能夠解釋流程定義生成的結果并將其作為流轉的依據,它關系到整個工作流系統的執行效率與可擴展性.工作流引擎數據模型中的信息模型部分具有很強的層次性、結構性,使用單純的關系難以描述清楚,而且會存在很多冗余信息[3].基于XML的獨特優勢,工作流引擎的核心部分最適宜用 XML來描述,從而做到關系與層次的有機結合.因此,電子器件模塊化管理系統用 XML進行流程信息描述,在需要擴展到分布式工作流管理系統應用時,可以采用傳遞基于 XML的流程實例信息,來達到在工作流引擎各組件之間相互通信的目的.
本文系統工作流引擎設計的功能結構如圖 2所示.引擎各部分的主要功能是:用戶在啟動工作流運行時,系統先運行 XML解釋器,根據工作流模型定義的ID號,從工作流模型表中讀取流程定義的XML文件,將其解析為結點序列、存入轉移表,并為每個結點初始化其狀態信息;由分配器為每個結點分配結點處理、運行執行條件、到達時間、處理時間以及處理結果等;由流程路由器根據相應的ID號選擇要轉移的下一結點.在流程運行的過程中,用戶可通過流程監控器訪問工作流的運行狀態.該系統的工作流引擎采用以數據庫為中心的設計思路,所有重要信息都存儲于數據庫.

圖2 工作流引擎結構圖
本文的系統體系結構采用B/S框架,見圖3.應用服務器屬于業務邏輯層,又稱為中間件,它起溝通客戶端(業務表示層)與數據庫服務器(存儲層)的作用.客戶端對數據庫的所有連接請求都需要通過應用服務器,然后遞交給數據庫服務器.通過中間件技術屏蔽了并發查詢訪問對數據庫系統的沖擊,解決了直接訪問數據庫所帶來的數據安全問題[4].電子器件模塊化管理系統可以提供權限管理、遠程登錄、并發查詢、排序篩選、系統維護等基本數據庫功能,并能夠批量導入導出數據列表,生成采購信息單、生產物料單等.

圖3 電子器件產品模塊化管理系統體系結構
在使用驗證工具對工作流模型檢驗通過之后,建模工具就會以*.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―),男,河南太康人,助教,華中科技大學碩士研究生.