O 引言
以往MES系統項目的開發都是各個項目獨立地進行設計和開發,而這些項目中有一部分需求和功能有相同的地方,這樣,就會在一定程度上造成重復勞動和資源浪費。為此,筆者將業務需求轉化為模型,開發了一套基于模型驅動的系統平臺,同時搭載多種行業模型包。這樣,當項目應用時,就可以根據需要對模型進行簡單修改,然后直接滿足項目需求。另外,此平臺依舊保留有快速的二次開發接口,這樣不但可以縮短整個系統的開發周期,而且可以大量節約人力物力資源。該系統平臺主要包括系統管理、建模平臺、工作流、業務系統等。本文主要講述建模平臺的設計與實現方法。
功率電感 1 DSL概述
Visual St udio DSL(Domain-Specific Language,電感參數特定領域語言)工具是微軟公司針對特定領域開發而專門設計的。特定領域開發是一種用于解決重復發生的問題的方法,是可以使用DSL工具作為自動生成相電感生產廠家同或相似代碼的一種方式。DSL是指軟件開發中出于某特定考慮而設計的比較小的、目標明確的語言。它們的作用是使用某特定領域里慣用的符號或者表示法對該領域的實體或者流程進行建模。
DSL工具提供有一種圖形化的操作方式。開始創建領域特定語言(DSL)是圍繞DSL設計器進行的,設計器的功能是設計和產生DSL,或者設
計依附于可生成代碼DSL的模型。
域模型(domain model)是DSL定義的核心部分。域模型就像DSL的語法,它定義了域類(domain class)和域關系(domain relationship),即定義了組成模型的要素,并給出了將這些要素互相聯系在一起的規則。域模型和表示是分離的,它僅定義了DSL所要處理的概念層上的內容,而并沒有給出如何在圖中表示這些概念。在DSL設計器中,圖形和域類的對應關系是非常直觀的,有多種基本的圖形和連接線類型可供選擇,在定義了一組圖形之后,還要定義一組圖形的映射關系,也就是定義用哪個圖形或者連接線來顯示某個域類或者域關系。表示層和底層模型相分離的設計,可以在不改動模型的情況下,合理改變域模型的表示方式。
在用DSL設計器完成DSL的定義后,將從這個DSL定義生成編輯和處理DSL實例工具的代碼,然后就可通過寫一些附加的代碼,來增強所產生的設計器的功能。
2 模型驅動的建模平臺設計
模型驅動就是對企業的業務需求進行分析后,通過友好的圖形化用戶交互界面將企業電感生產廠家的業務需求轉化為模型,圖1為其建模平臺示意圖。這樣,通過實現各種業務模塊(例如功率電感:設備管理)系統功能(例如:設備停用)的建模配置,系統就可將其自動轉化為機器可讀和高度抽象的平臺無關模型,這些模型獨立于實現技術和語言,并以標準化的XML方式儲存。系統可根據模型生成基于SOA的運行代碼,并可通過發布解決方案的方式來將建立好的業務模型集成到系統運行平臺之中,最后在系統運行平臺上運行。建模平臺可支持使用過程中動態調整流程、動態配置業務和展示信息,可實現軟件的配置與信息管理的一體化應用。當業務發生變化后,也可以在系統中修改原有的業務模型并重新發布。其方便地改變特點,可以真正實現快速滿足客戶業務變化的需要。
建模平臺的設計主要分為三部分:數據模型、后臺服務和前臺頁面,圖2所示為建模平臺的模型圖。
數據模型的元素包括表模型和視圖模型,是對業務功能單元的底層功能的封裝,它針對數據庫表和視圖映射對象,包括常用的增刪改查等基本操作和屬性。元素的建立可以通過圖形化的方式配置數據庫表和視圖,并調用數據庫生成模板生成到數據庫,也可以從數據庫中添加已存在的表和視圖。數據模型文件的存儲格式為XML文件格式。數據模型配置完成后,即可根據當前生成引擎創建數據模型對應運行代碼文件,即讀取表或視圖模型對應的模板,并根據數據模型配置文件中的配置信息替換模板相應信息,等生成的代碼準備好后,可對其進行編譯,編譯成功,則可在指定位置生成相應的動態鏈接庫。
大功率電感廠家 |大電流電感工廠