《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于動態模型的系統架構及建模平臺實現
基于動態模型的系統架構及建模平臺實現
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思想的特征,以流程引擎和建模平臺為基礎,提出了基于動態模型的應用系統架構,詳細描述了流程引擎部分并搭建了建模平臺。采用了“概念模型+邏輯模型+物理模型”的動態架構建模方法,有一定的抽象但又利于理解,建立了分層結構但又獨立于具體技術。基于動態模型的業務系統架構為業務流程再造提供了便利松弛的環境,結合流程引擎特別容易實現對新、舊業務的平滑過渡,成為業務持續性管理的理想架構,可實現業務系統的快速開發和重構,是一種具有重要實際意義的系統開發方法。

參考文獻

  [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網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美视频网站| 亚洲精品美女久久7777777| 欧美成人小视频| 欧美一区二区三区啪啪| 亚洲视频在线一区| 亚洲黄色毛片| 久久精品国产第一区二区三区| 亚洲综合电影| 亚洲视频一二| 一区二区三区欧美| 99精品久久| 99综合在线| 99精品视频免费全部在线| 亚洲精品色图| 99精品欧美一区| 一本色道综合亚洲| 一本久久a久久免费精品不卡| 亚洲精品一区二区在线观看| 亚洲日本免费电影| 亚洲精品之草原avav久久| 亚洲黄色在线| 亚洲乱码国产乱码精品精可以看| 亚洲精品久久嫩草网站秘色| 99精品视频免费在线观看| 一道本一区二区| 亚洲自拍偷拍色片视频| 性色av香蕉一区二区| 欧美主播一区二区三区| 欧美资源在线观看| 亚洲电影欧美电影有声小说| 91久久精品国产91久久| 亚洲精品五月天| 国产精品99久久久久久有的能看| 亚洲一区欧美一区| 久久国产精品99国产精| 久久久久久午夜| 免费成人黄色片| 欧美日韩福利在线观看| 欧美亚洲成人免费| 国产女主播一区二区三区| 国产一区二区三区在线免费观看| 1024欧美极品| 99精品国产在热久久| 亚洲免费在线| 亚洲第一在线视频| 亚洲精选在线| 午夜精品久久久久| 久久天天躁狠狠躁夜夜av| 欧美xx视频| 欧美午夜在线一二页| 国产亚洲福利一区| 亚洲国产一区二区三区青草影视| 9国产精品视频| 午夜精品美女自拍福到在线| 亚洲国产一区二区视频| 亚洲视屏一区| 久久精品动漫| 欧美精品大片| 国产日产欧美一区| 亚洲高清在线精品| 亚洲一区视频在线观看视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产欧美精品| 亚洲国产成人久久综合一区| 亚洲一区二区高清视频| 久久精品成人| 亚洲免费一在线| 欧美不卡视频一区发布| 国产精品国产馆在线真实露脸| 尤物在线观看一区| 亚洲视频专区在线| 亚洲三级观看| 久久精品亚洲精品| 欧美性淫爽ww久久久久无| 精品999在线播放| 亚洲校园激情| 亚洲裸体俱乐部裸体舞表演av| 欧美在线免费观看亚洲| 欧美日韩免费一区二区三区| 精品99视频| 亚洲欧美在线网| 亚洲午夜高清视频| 欧美成熟视频| 黄色另类av| 亚洲欧美激情诱惑| 亚洲视频一二三| 欧美韩国在线| 在线成人亚洲| 欧美一区二区在线| 亚洲欧美精品在线| 欧美日韩一区二区免费视频| 亚洲国产精品久久久久秋霞影院 | 久久国产一区| 欧美一区二区三区成人| 欧美日韩一区二区三区高清| 亚洲第一毛片| 亚洲第一狼人社区| 久久精品在线观看| 国产精品一区二区你懂的| 一本久久a久久精品亚洲| 99热在线精品观看| 欧美gay视频| 伊人久久婷婷| 久久精品99无色码中文字幕| 久久激情综合网| 国产视频精品免费播放| 亚洲在线黄色| 欧美亚洲一区二区三区| 国产精品久久久久一区| 中日韩男男gay无套| 中文精品视频| 欧美日韩久久精品| 亚洲人成网站影音先锋播放| 亚洲人www| 欧美成人嫩草网站| 亚洲第一区色| 亚洲美女91| 欧美精品一级| 日韩午夜在线观看视频| 亚洲色诱最新| 国产精品久久久久影院亚瑟| 夜夜爽av福利精品导航| 亚洲在线观看免费| 国产精品网站一区| 午夜伦欧美伦电影理论片| 欧美综合第一页| 国产一区二区三区在线观看网站| 久久精品91| 美国三级日本三级久久99| 亚洲国产99| 一区二区三区国产| 欧美私人啪啪vps| 亚洲五月六月| 欧美一区免费视频| 狠狠操狠狠色综合网| 亚洲国产天堂久久综合网| 免费的成人av| 亚洲精品国精品久久99热一| 中国成人在线视频| 国产精品日韩欧美一区二区| 欧美一区二区三区免费在线看| 久久免费观看视频| 在线观看亚洲视频啊啊啊啊| 亚洲精品在线二区| 欧美视频不卡| 午夜激情久久久| 久久一日本道色综合久久| 亚洲黄页视频免费观看| 亚洲私人黄色宅男| 国产女人水真多18毛片18精品视频| 欧美一区中文字幕| 欧美aaa级| 一区二区三区欧美日韩| 久久久高清一区二区三区| 亚洲高清在线精品| 亚洲一区在线观看视频 | 亚洲激情在线视频| 亚洲综合首页| 红杏aⅴ成人免费视频| 另类人畜视频在线| 欧美精品久久久久久久久老牛影院| 日韩一区二区精品视频| 先锋影音网一区二区| 国外成人在线| 在线中文字幕日韩| 国产乱码精品一区二区三区忘忧草| 亚洲电影下载| 欧美视频免费看| 亚洲成色777777在线观看影院| 欧美日韩午夜精品| 性刺激综合网| 欧美巨乳在线观看| 亚洲欧美日韩国产| 欧美成人一区二区| 亚洲男同1069视频| 欧美成人一区二免费视频软件| 亚洲一区二区三区在线观看视频| 猛男gaygay欧美视频| 一区二区日韩欧美| 久久尤物电影视频在线观看| 99一区二区| 麻豆freexxxx性91精品| 亚洲一级片在线看| 欧美福利视频一区| 午夜精品剧场| 欧美日韩国产成人| 亚洲国产二区| 国产精品免费一区二区三区在线观看| 亚洲第一免费播放区| 国产精品高清在线观看| 亚洲精品久久久久久久久久久久久 | 欧美金8天国| 欧美一区激情| 国产精品高潮久久| 亚洲精品一区久久久久久| 国产小视频国产精品| 亚洲中午字幕| 亚洲精品综合久久中文字幕| 久久久人人人| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ |