《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于動態模型的系統架構及建模平臺實現
基于動態模型的系統架構及建模平臺實現
2015年電子技術應用第2期
郝 俊,常 青,張 剛,王耀力
太原理工大學 信息工程學院,山西 太原030024
摘要: 傳統的基于靜態模型的系統開發方法難以解決業務規則的快速擴展及變更帶來的資源浪費等問題,工作流支持對工作內容進行良好的劃分,并進行具體部署。結合SOA架構的業務流程再造能力,提出一種新的以三層模型為核心的支持快速、平滑、可重用的應用系統開發架構,對流程引擎和建模平臺完成詳細描述和設計,完成建模平臺搭建工作,并以卡銀行業務為例進行了基于三層模型的建模。結果表明,該系統開發架構具有很好的業務流程再造能力,可保證業務系統的持續穩定,達到提高生產組織水平和工作效率的目的。
中圖分類號: TP311.5
文獻標識碼: A
文章編號: 0258-7998(2015)02-0171-03
A new workflow system architecture and modeling platform
Hao Jun,Chang Qing,Zhang Gang,Wang Yaoli
College of Information and Engineering,Taiyuan University of Technology, Taiyuan 030024,China
Abstract: The traditional approach to systems development based on the static model is difficult to solve the waste of resources caused by the rapid expansion and change of business rules and other issues. Workflow supports for the work of good content division and specific deployment. Combining with business process reengineering capabilities of SOA architecture, this paper puts forward a new development framework with three-tier model as the core to support fast, smooth and reusable application, completes the detailed description and design of process modeling platform and the engine, completes construction work of modeling platform, and realizes modeling with banking card as an example and based on the three-tier model. The results show that the system development framework has good ability BPR, ensures sustainable and stable of business systems, and improves the level production and work efficiency of organization.
Key words : three-tier model;application system architecture;modeling platform;SOA;workflow

  

0 引言

  企業通常通過實施“升級改造”完善其應用系統功能來適應信息技術的快速變革。傳統的SOA模型采用“需求+服務”的兩層結構,業務需求被劃分為一系列業務服務,服務定義一個與業務功能或業務數據相關的接口并實現,屬于靜態模型,沒有能夠反映應用系統動態的運行時特征。這種開發方法從項目立項開發到部署實施耗時冗長,而且這種“傷筋動骨”的系統變更耗費大量資源,帶來企業業務系統的不穩定和不連續性,增加企業的運營、管理和維護成本,難以解決業務升級與業務連續性之間的沖突。

  工作流[1]是實現業務過程自動化的核心技術,主要實現業務過程的建模、優化、仿真、管理和集成并賦予業務管理系統高度的靈活性,而工作流技術與面向服務的架構(Service Oriented Architecture,SOA)[2]的結合可實現業務邏輯和流程邏輯的分離,通過對業務流程的分析和規范化定義實現對系統運行時特征的動態描述,基于構件[3]的業務單元亦可實現自動組裝,在實際應用中具有重大意義。

1 業務模型

  傳統的SOA模型采用“需求+服務”的兩層結構,業務需求被劃分為一系列業務服務,一個服務定義了一個與業務功能或業務數據相關的接口,服務直接針對某一個需求定義并實現,屬于靜態模型,沒有反映應用系統動態的運行時特征。本文在傳統靜態模型基礎上進一步細化,提出一種新的包含語義流程的三層動態模型及其建模方法。在需求和服務中間加入對具體應用實現的流程描述,并將服務細化為針對具體應用的基本構件和原子構件,分別將其定義為概念模型、邏輯模型和物理模型,其對應關系如表1所示。其中概念模型用來定義一個應用的內涵,描述該系統可以提供的全部價值,與需求對應;物理模型定義具有完備性和獨立性的原子構件,封裝為實施具體操作的提供相應價值的服務;邏輯模型對應語義流程,由不同的構件序列或服務序列組合來完成具體需求,是概念模型到物理模型之間的關系映射。該方法通過建模平臺對應用領域的概念、邏輯、物理三層建模,規范化表述流程描述,提取基本構件及原子構件,并由流程引擎[4]調用執行。

006.jpg

  其中原子構件是業務功能實現不能再細分的最小單元,具有獨立性和完備性。獨立性強調原子構件自身不可再分,也不能由其他原子構件組合產生;完備性指出任何一個流程都可由不同的原子構件組合而成。兩者通過業務流程聯系起來完成具體的業務功能,構件模型的實現不依賴于具體的實現環境,只需提供接口機制即可使用,而且構件是高度可擴展的,而引入業務流程可以實現系統更加快速、靈活的開發,大大增加了系統的可擴展性。

2 系統架構

  基于動態模型的系統開發方法,本文提出了一種新的系統開發架構,如圖1所示。

001.jpg

  在該系統中,建模平臺采用“概念模型+邏輯模型+物理模型”的三層架構建模方法[5]針對具體應用領域建模,分別得出具體應用的概念層次隸屬劃分、業務流程的指令化描述及底層功能實現的基本構件和原子構件,其中后兩部分分別作為流程引擎的輸入和基本業務庫及原子業務庫的輸入;界面平臺提供與用戶的交互,支持將用戶提交內容轉化為業務流程的指令化描述并反饋給流程引擎;引擎接收指令流程,從基本構件庫或原子構件庫調用基本構件或原子構件執行,通過報文的方式與核心數據庫或其他業務接口完成數據交互。

  該架構具有SOA架構的特征,符合工作流管理聯盟WfMC提出的工作流參考模型。業務流程作為流程引擎的輸入數據,業務改變時,通過引入新的流程數據并針對性地對基本構件庫和原子構件庫進行維護擴展,可實現新流程的快速部署。在該架構中,流程引擎和建模平臺作為系統的運行和建模工具,分別進行詳細描述和設計實現。

3 流程引擎

  流程引擎類似于一個CPU,指令化的業務流程相當于CPU中執行的程序,每一個業務都對應著相應的一個流程。對于發起的任何一個業務,流程引擎從應用服務器中調出相對應的業務流程驅動執行[6]。流程是以構件為步驟節點的業務行為序列;執行一個業務流程時,流程引擎分析確定該流程執行的步驟順序,并分析當前的步驟節點,根據分析結果從構件庫選出恰當的構件執行。

  流程引擎確定輸入流程的執行順序,具有同CPU的程序控制器相似的結構,如圖2所示。

002.jpg

  流程引擎由流程計數器、流程隊列、構件計數器(Counter)、構件隊列(Queue)、構件譯碼器等基本部件組成。流程隊列存儲流程的ID,流程ID由流程計數器確定,每一個流程ID對應一個構件計數器,構件計數器則指向執行系統操作的構件隊列。當流程引擎驅動一個流程執行時,流程計數器指定流程ID,流程ID對應到構件計數器并由構件計數器指針指定當前構件。該構件完成譯碼后提交到服務總線,同時構件計數器指針指向下一個將要執行的操作(構件)。針對流程引擎邏輯結構,設計其基本物理結構如圖3所示。

003.jpg

  圖中所示的流程引擎實現主要包括一個主處理節點和若干從處理節點,并且由總線將各部分聯系起來??偩€由一組上行線、一組下行線和一組狀態檢測線構成;主處理節點對應構件計數器,獨占一組下行線,通過該總線向所有從處理節點發送通信消息;從處理節點對應原子構件或基本構件,根據給定的特定輸入得到相應的需求輸出,所有從處理節點共享一組上行線,通過狀態檢測線解決數據競爭沖突問題;其中所有節點通過統一節點接口(UNI)掛接在總線上。

4 建模平臺

  建模平臺是一個依照本研究提出的動態模型來輔助支持應用系統建模的軟件系統。建模平臺通過對系統的建模為整個系統提供需求分析、語義描述并確立對應構件集合,在建模平臺基礎上,系統只需實現原子構件,而基本構件和其他所有業務步驟均由邏輯模型映射為原子構件的工作流程并由流程引擎調用執行。建模平臺針對具體應用領域的建模是整個系統實現的基礎,也是重要的組成部分。

  4.1 實現工具

  建模平臺使用MVC模式[7]設計,該模式很好地做到了解耦,使代碼和界面分離,數據庫操作與Servlet操作分開,這樣能夠方便開發和以后的維護。開發工具選用Myeclipse,客戶端選用IE瀏覽器,服務器端選用mysql數據庫和輕量級WEB應用中間件Tomcat(Appach的一個免費、開放源碼的項目,它是支持JSP和Servlet技術的容器)。

  4.2 概念建模

  建模平臺將概念建模等價于建立一個動態樹形菜單dTree,由JSP頁面顯示。dTree通過層次分明的索引確立了概念的外延與內涵以及相互之間的隸屬關系,直到分解為不可再分的業務用例場景,從自然語言出發一步步建立抽象化和形式化的概念模型。dTree的實現使用了JQuery AJAX,即異步JavaScript和XML技術。

  $.ajax({

  …

  success: function(xml){

  tree.add(nodeId,parentId,nodeName,hrefAddress,

  "","","","",false);  …

  document.write(tree);

  JQuery Ajax()方法[8]在不重載整個頁面的情況下,從后臺加載數據并在頁面顯示。Success()函數定義了由jsp頁面[9]調用JQuery請求servlet讀取XML數據對象,通過遍歷XML文件,獲得樹形菜單節點的屬性和文本數據,再循環添加到dTree的節點中,形成樹形菜單的概念模型。

  4.3 邏輯建模

  概念建模確立的動態樹形菜單中,葉子節點與某一業務文檔(邏輯)相對應,邏輯建模通過為每一個業務步驟標記屬性,并通過序號、前件集合、后件集合等對業務用例場景流程數據進行確切表述,并以文檔形式保存管理。

  邏輯建模參照流程引擎結構完成了業務流程數據結構和流程指令的設計。業務流程數據設計將流程數據通過序號(Number)、業務名(BusinessName)、構件ID、屬性(Attribute)、類型(Type)、前件集合(FrontSet)、后件集合(NextSet)及數據(Data)完整描述了業務步驟的各方面信息。流程指令設計部分包括通用控制類指令和數據搬移類指令,分別舉例如下:

  JMP Number;  //無條件調轉類指令;

  意指將PC指針指向Number指定的構件

  DETZ Attriute Number;  //條件跳轉類指令;意指判斷

  Attribute屬性,如為0,則PC調轉至Number

  指定的構件;否則順序向下執行

  MOV Number NextSet;  //數據搬移類指令;

  意指將后件集合中內容賦予Number

  邏輯建模實現從用自然語言描述的業務流程到流程核心內容的提取,并通過控制指令及數據搬移指令集合形成業務流程的完備描述,可通過流程引擎調用執行。

  4.4 物理建模

  物理建模為每個具體應用確立一個原子業務庫和一個基本業務庫。針對流程文檔中的每一個步驟節點確定其屬性分別納入原子業務庫或基本業務庫。構件的提取、錄入通過JSP表單實現,表單通過編輯javascript函數控制步驟錄入,利用DAO[10](數據訪問對象)模式實現與mysql數據庫的操作,分別通過executeUpdate()和executeQuery()執行數據庫更新和查詢操作:

  public int executeUpdate(String sql){}

  public ResultSet executeQuery(String sql){}

  所有的步驟節點全部標記錄入完成,以表單的形式存儲在數據庫中。在該結構中,原子業務庫和基本業務庫支持更新和擴展,構件可由軟件或硬件實現,并且可以為不同的應用領域建模,具有很高的靈活性。

  本文使用建模平臺完成以卡銀行核心業務為例的建模,建模平臺概念建模實現卡銀行業務菜單界面如圖4,數據庫表中原子業務及基本業務表如圖5。

5 小結

  本文充分結合了工作流及SOA思想的特征,以流程引擎和建模平臺為基礎,提出了基于動態模型的應用系統架構,詳細描述了流程引擎部分并搭建了建模平臺。采用了“概念模型+邏輯模型+物理模型”的動態架構建模方法,有一定的抽象但又利于理解,建立了分層結構但又獨立于具體技術?;趧討B模型的業務系統架構為業務流程再造提供了便利松弛的環境,結合流程引擎特別容易實現對新、舊業務的平滑過渡,成為業務持續性管理的理想架構,可實現業務系統的快速開發和重構,是一種具有重要實際意義的系統開發方法。

參考文獻

  [1] 陳儒,肖剛,張元鳴,等.基于事物規則的面向服務工作流模型研究[J].計算機應用與軟件,2014,31(6):5-7.

  [2] 管紅杰,王珂,江海峰,等.SOA架構的工作流管理系統的研究與應用[J].計算機工程與設計,2011,32(5):1654-1657.

  [3] 張功萱,陳瀚,王永利,等.一種消息驅動的SOA系統集成方法[J].計算機系統應用,2012,21(6):86-90.

  [4] WfMC TC210162X.Workflow management coalition interface 1:Process definition interchange Q&A and examples[S].1999.

  [5] 曾誠,何克清,李兵.一種用戶驅動的服務資源建模方法[J].計算機應用與軟件,2012,29(8):21-23.

  [6] 吳益爾,蔡鴻銘,步豐林,等.基于語義的三維元素的概念關系建模的研究[J].計算機應用與軟件,2011,28(3):8-12.

  [7] 張婷.基于Extjs+Spring MVC的WEB系統開發架構的研究與實現[J].計算機技術與發展,2013,1(23):147-149.

  [8] 陳莉莉,張麗,劉正龍.搜索引擎中基于狀態的Ajax動態網頁提取研究[J].計算機應用與軟件,2013,30(7):217-220.

  [9] 甘勇.JSP程序設計技術教程[M].北京:清華大學出版社,2010.

  [10] 陳丹丹,李銀龍.Java開發寶典[M].北京:機械工業出版社,2012.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 在线网站黄色 | 青青青在线视频播放 | 日韩永久在线观看免费视频 | 波多野吉衣 免费一区 | 一级一级黄色片 | 中文字幕一区二区三区在线不卡 | 午夜男人剧场 | 亚洲一二三在线 | 天天看天天射天天视频 | 午夜影院一级片 | 99精品在线视频观看 | 婷婷六月综合网 | 热re66久久精品国产99re | 天天干伊人 | 成人免费黄色大片 | 国内精品久久久久不卡 | 久草视频在线资源站 | 欧美成年网站 | freexx性日本| 青青青青久久精品国产h | 欧美国产在线视频 | 中国免费毛片 | 免费一级毛片在线播放视频 | 日韩免费伦理片 | 中文字幕有码视频 | 2018天天干天天操 | 香港三级日本三级人妇网站 | 国产精品福利午夜h视频 | 成年人免费观看的视频 | 香蕉视频污污在线观看 | 国产一级片观看 | 日鲁夜鲁鲁狠狠综合视频 | 亚洲人成黄网在线观看 | 激情婷婷成人亚洲综合 | 午夜小视频男女在线观看 | 91精品日韩 | 天堂v亚洲国产v一区二区 | 一级做a爰全过程免费视频毛片 | 夜夜添夜夜添夜夜摸夜夜摸 | 激情欧美一区二区三区中文字幕 | 最近中文字幕完整视频大全版 |