在线观看日产精品_成人性生交大片免费看中文网站_神马影院午夜我不卡_亚洲国产精品久久久久久

中文核心期刊咨詢網權威的中英文核心期刊目錄大全,最新2023中文核心期刊目錄查詢,英文論文期刊發表學術咨詢服務。
中文核心期刊咨詢網

通信論文基于Petri網的SOA架構應用

作者: 石編輯2016-03-05閱讀:文章來源:未知

  針對自動工作流系統使用傳統SOA建模工具存在的效率低下等問題,提出了一種基于Petri網思想進行SOA架構應用的方法,并從使用Petri建模進行服務識別和使用Petri中間件進行流程管理這2個方面詳細闡述了SOA架構應用的具體內容,為此類工作流系統進行SOA架構應用改造提供了參考。

  【關鍵詞】面向服務的體系結構 服務識別 Petri 工作流 中間件

  SOA(Service-Oriented Architecture,面向服務的體系結構)是構造分布式計算的應用程序的方法,它將應用程序功能作為服務發送給最終用戶或者其他服務,通常認為 SOA是一種技術架構或者架構風格。基于這種架構,業務流程或業務的變化可以通過服務編排調整快速適應,實現業務的敏捷性。隨著SOA的快速發展,基于 SOA架構的中間件產品也成為網絡化商業系統的主要設計思路。

  由于企業的業務現狀、遠景需求及IT系統現狀等的差異,SOA架構存在不同的構建思路,但一般來說,SOA的開發、維護和使用的基本原則可以歸納為:

  (1)可重復使用,模組性,可組合性,構件化以及具有交互操作性;

  (2)服務的識別和分類,提供和發布,監控和跟蹤;

  (3)符合開放標準(通用的或行業的)。

  從基本原則可以看出,SOA架構的重點是要找到可重用的服務,同時這些服務滿足離散、自治和無狀態等基本條件;其次是服務本身可以組合和編排,以滿足流程整合的需要。

  2 SOA服務識別的難點

  SOA參考架構可總結為業務能力組件化及組件能力的服務化。服務識別的過程是通過自頂向下的分析,可以將流程的功能點逐層細分,直到最后一級的原子能力,再通過原子能力按照SOA架構的思想自底向上逐層組裝,分析出可以重用的能力,重新編排為服務。

  服務識別是SOA架構實施的難點之一。因為當實施SOA架構時,業務系統一般已經具有一定規模,業務人員以及技術人員對業務系統的系統劃分、模塊劃分已經有一定約定俗成的概念,容易先入為主。無論是往下的逐層細分,還是向上的逐層組裝,都需要參考SOA架構做出思維上的改變。

  因此,需要引入一些成型的流程建模工具來引導這個過程。目前SOA的服務識別有很多成型工具和模式,比如BPM(Business Process Management,業務流程管理)和BPEL(Business Process Execution Language,業務流程執行語言),但是這些工具和模式也并非適合所有的系統。一方面,建模工具本質上是用于輔助設計,這些企業級別的工具和模式覆蓋面過于大,復雜程度高,分析的周期也較長,對于自動工作流較多的系統,輔助設計過程中往往需要較為簡單輕巧的工具;另一方面,純設計層次的建模與有工作流引擎參與的建模實際是存在不同的,完成服務識別后,再轉化為可以為工作流引擎使用的服務也比較困難。

  3 Petri網思想在SOA架構中的應用

  SOA架構設計本身是一種思維改變的過程,已經成型的系統會存在很多固定的模塊劃分和功能劃分,造成SOA實施困難,需要采用一些建模工具來輔助思維。使用建模工具進行建模時,應該覆蓋2個要點:首先,建模工具是輔助設計的過程,選擇合適的建模工具是必要的;其次,純設計方式流程建模和SOA 的建模方式是有所區別的。建模工具既要符合SOA的設計模式,也要貼近目前的業務實際,更要讓建模的結果在SOA工作流引擎中能夠無縫銜接。

  Petri網是分布式系統的建模和分析工具,可以清晰地描述系統中的進程和功能模塊的順序[1]。研究領域趨向認為Petri網是所有流程定義語言之母,理論上所有的流程建模工具使用的方法都可以用Petri網的概念來表達。由于Petri網相對BPM和BPEL這些工具更為簡單及靈便,因此用于描述流程上相對簡單的自動工作流系統,則更具有明顯的優勢。

  相對于BPM和BPEL這些工具,Petri建模的優勢在于:一方面,建模元素比較簡單,更加注重流程本身;另一方面,代碼邏輯和Petri圖能夠一一對應,可以更加有效地利用原有的應用實現而不用擔心全部推倒重來。

  3.1 Petri建模介紹

  Petri網是對離散并行系統的數學表示[2],作為一種能夠用來有效地分析系統的并發、異步和不確定行為[3],并能有效描述系統靜態和動態的圖形化模型,Petri網被廣泛應用于生產制造領域、計算機領域、過程控制和專家系統等領域。Petri網既有嚴格的數學表述方式,也有直觀的圖形表達方式。

  Petri網是過程模型,由庫所和變遷兩類節點、有向弧以及令牌等元素組成。

  (1)Petri網的元素定義

  ◆庫所(Place):圓形節點;

  ◆變遷(Transition):方形節點;

  ◆有向弧(Arc):庫所和變遷之間的有向弧;

  ◆令牌(Token):庫所中的動態對象,可以從一個庫所移動到另一個庫所。

  (2)Petri網的規則

  ◆有向弧是有方向的;

  ◆兩個庫所或變遷之間不允許有弧;

  ◆庫所可以擁有任意數量的令牌。

  如果一個變遷的每個輸入庫所(input place)都擁有令牌,該變遷即為被允許(enable)。一個變遷被允許時,變遷將發生(fire),輸入庫所(input place)的令牌被消耗,同時為輸出庫所(output place)產生令牌。

  3.2 使用Petri建模進行服務識別

  Petri網模型本身具有子網的概念,可以將變遷逐層下轉到最底層的原子變遷,也可以將所有Petri子網模型合成一個更大的Petri網模型,用來描述整個系統的動態行為模型[4],這與SOA服務識別的過程是高度契合的。

  (1)子網逐層向下分解

  用Petri建模的思想,可以通過“映射”的思想和方法,按目前的詳細設計或者代碼邏輯將應用模塊用Petri圖畫出。Petri網中的庫所元素映射為程序數據,Petri網中的變遷元素映射為程序函數和方法,系統模型中的各對象子網映射為程序中的類[5]。對主要以數據驅動的自動工作流的程序,按照程序的狀態,Petri網的建模一般如圖1所示:

  圖1 數據處理程序狀態的建模

  Petri網的每個變遷都可以理解成子網,特別是針對圖1的數據處理的變遷,也可以按照代碼的實際邏輯,分解成如圖2所示的子網:

  圖2 數據處理子網的建模

  上圖的每個變遷也可以繼續理解成子網的概念,按照代碼邏輯繼續往下建模,直到變遷不可再繼續細分,這正符合了SOA逐層細分的理念。

  (2)變遷組裝成服務

  SOA服務要求具備可重用性,需要將可重用的組件能力開放為服務,這個可以映射為Petri可重用的子網。將每個變遷細化到“原子”級別的變遷后,首先需要對變遷進行分析,通過對變遷的輸入輸出令牌進行抽象,將能抽象成相同輸入輸出令牌的變遷視為一種服務,則這個變遷具備了SOA要求的可重用性。

  重用度最高的同時也最容易分析的是系統底層的原子能力,如操作系統資源、數據庫操作的服務,這些服務目前已經有成型的模式,此處不再贅述,主要難點在于業務級別的服務分析。對于業務級別的服務分析,重點應關注應用處理數據的狀態。

  圖1示意了進程級別程序狀態的建模,如果將數據狀態的部分抽離出來,進一步考慮這個數據在整個應用中的狀態,可以形成如圖3所示的處理過程(忽略了異常處理):

  圖3 Petri針對系統中數據狀態的建模

  圖4是進程級別數據狀態的建模,結合前文第一步子網逐層往下分解的結果,可以將整個數據處理的過程形成一張大的Petri網模型,然后對這張Petri網模型進行分析,就可以進行服務的識別。

  圖4 服務按照服務狀態和數據狀態的建模

  服務識別的過程可以按照以下步驟進行:

  ◆可重用性分析:橫向與其他數據的處理邏輯比較,通過Key-Value的方式對變遷輸入輸出的抽象,整理出可以重用的變遷,也就是可以轉化為服務的變遷。

  ◆服務粒度設計:服務是需要通過工作流引擎來進行流程控制的,變遷的粒度不應該太細。如果太細,可能會影響整個數據處理的性能,需要在流程監控與性能之間做權衡的考慮。

  ◆數據流程監控分析:有些變遷雖然不可重用,但由于需要對數據的流程進行監控,需要將它轉化為服務。

  ◆服務的校驗:完成服務的識別后,可以通過Petri建模對服務進行建模。一方面,需要對模型本身進行校驗,Petri可以提供形式化方法,以數學為理論基礎,為系統設計的正確性、安全性提供了一種有效的驗證手段[6];另一方面,需要考慮是否滿足工作流引擎的需要,對于自動工作流的系統,服務的Petri模型一定是同時關注服務狀態和數據狀態的(見圖4),如果不滿足這個條件,那么服務是無法被工作流引擎所調度的。

  使用Petri建模將變遷組裝成服務,可以很好地貫徹SOA組件能力開放為服務能力的理念,可重用的組件能力映射為可重用的子網,服務接口的抽象可以映射為輸入令牌和輸出令牌的抽象。由于Petri網建模的本質就是事件驅動的概念,因此能夠符合工作流中間件的邏輯,也便于工作流中間件對服務控制和監控。

  3.3 使用Petri中間件進行流程管理

  使用Petri的另外一個優勢就是可以采用引入中間件的概念,構建內部的流程管理平臺。Petri的令牌驅動模式能夠很好地抽象自動流程較多的系統。對于流程管理,其核心是判斷流程中的每個環節下一步該做什么,這點可以通過Petri圖令牌的當前位置來體現,如果某變遷的上游庫所都有令牌,則接收上游庫所的令牌,觸發變遷點火,再由變遷將下游所有庫所的令牌屬性賦值。

  按照上述思路可以構建一個Petri中間件,在界面上進行Petri建模,并定義好變遷的輸入輸出。應用(HLA)使用中間件提供的API進行研發。實際運行時,應用通過中間件的Agent與Master進行交互,完成流程控制與流程監控的目的,如圖5所示:

  圖5 Petriware中間件體系架構

  (1)Petri中間件的功能架構

  由于Petri本身就是使用事件驅動的概念來進行建模,所以在SOA服務用Petri完成建模后,直接可以為Petri中間件服務,不需要考慮設計層面的服務與有中間件參與的服務的轉變。Petri的建模圖形也完全可以表達應用邏輯,通過應用與中間件的交互,做到對于流程和應用的監控。

  Petri中間件的功能架構如圖6所示:

  圖6 Petri中間件的功能架構

  Petri中間件由Petri網建模、Petri網調度控制、Petri網接入服務、監控服務組成,各功能模塊的功能簡述如下:

  ◆Petri網建模:以Petri網數據模型為基礎,提供Petri網設計與配置的可視化設計管理工具;

  ◆Petri網調度控制:以Petri網設計與配置為依據,驅動令牌在庫所間進行流轉的同時實現業務邏輯控制與實現;

  ◆Petri網接入服務:以標準化的API接口,統一規范應用的接入,降低系統應用與控制的耦合性;

  ◆監控服務:以Petri網為基礎,對系統進行抽象并分層監控與管理,展示系統運行態全境。

  (2)Petri中間件調度控制

  在系統流程的開發中,中間件可將應用作為令牌(業務數據)的處理者,應用負責消耗中間件分配的令牌,完成指定的業務邏輯,并生成新的令牌反饋業務處理結果。因此,在流程的處理中,可以認為變遷是業務能力在Petri圖中的表示元素,其與應用之間存在特定的對應關系。

  在流程的設計階段,根據業務流程控制的需要,設計者需為流程中不同的變遷指定待實現的功能,并為其指定輸入與輸出的內容。即設計者需為業務能力,也就是變遷指定輸入內容(輸入令牌屬性)、輸出內容(輸出令牌屬性)。

  在流程的運行階段,中間件根據已設計流程配置,驅動令牌在不同變遷間的流轉,以完成業務功能。即中間件負責指導應用接下來的變遷,并將上游變遷輸出的令牌發送給應用程序;應用程序接收到中間件發送的應該執行的變遷以及發送的令牌后,從令牌中獲取設計時指定的令牌屬性,進行相應的業務處理。應用程序業務處理結束后,中間件負責告知應用程序,新增令牌并設置設計時指定的令牌屬性后,將令牌發送給中間件。

  4 結束語

  由于自動工作流較多的系統偏向于數據的流轉,在這類系統中使用目前常用的建模工具會使服務識別過程過于復雜和繁瑣。Petri建模是從子網到原子變遷的逐層分解、再由變遷組裝成服務,其整個過程符合SOA架構設計的原則,將Petri建模應用于SOA服務識別,可簡化分析過程,提高架構設計的效率;同時,在開發過程中可以用Petri構建中間件,直接用于SOA的流程監控和業務監控。因此,基于Petri建模在自動工作流較多的系統中存在優勢。如果進一步考慮Petri與SOA架構中ESB理念結合,Petri網也可以在ESB模式中有相當廣闊的前景。

相關論文

在线观看日产精品_成人性生交大片免费看中文网站_神马影院午夜我不卡_亚洲国产精品久久久久久
欧美一级专区| 久久看片网站| 亚洲一二三区在线观看| 久久午夜精品一区二区| 国产亚洲一区二区精品| 亚洲一区三区视频在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 国产日韩欧美综合一区| 午夜在线视频一区二区区别| 国产精品日韩电影| 亚洲图片你懂的| 欧美三级第一页| 99国产精品| 欧美承认网站| 亚洲国产日韩欧美| 美女主播一区| 亚洲高清在线| 欧美顶级大胆免费视频| 亚洲精品一区久久久久久 | 欧美国产丝袜视频| 精品福利av| 美女精品视频一区| 一区免费在线| 欧美在线观看网站| 国产亚洲激情| 亚洲欧洲av一区二区| 亚洲欧美日韩精品久久亚洲区| 在线看片成人| 欧美日韩p片| 免费一区视频| 久久久久欧美| 久久精品最新地址| 欧美在线一区二区三区| 亚洲欧美精品在线观看| 亚洲婷婷综合久久一本伊一区| 亚洲二区在线| 国产区精品在线观看| 国产亚洲人成网站在线观看| 国产精品久久国产精麻豆99网站| 国产九色精品成人porny| 欧美激情综合网| 免费在线观看一区二区| 亚洲裸体在线观看| 国产精品久久久久一区二区三区共 | 欧美国产日韩视频| 国产精品少妇自拍| 亚洲一区精品在线| 欧美日韩在线一二三| 亚洲精品永久免费| 欧美激情一区二区三区不卡| 狠狠色狠狠色综合日日五| 国产精品黄页免费高清在线观看| 免费视频一区| 国产精品第三页| 国产精品尤物福利片在线观看| 国产精品视频区| 国产精品欧美日韩久久| 国产精品久久久| 亚洲精品一级| 一区二区激情视频| 欧美吻胸吃奶大尺度电影| 一区二区三区高清在线| 欧美午夜片在线免费观看| 亚洲字幕在线观看| 韩国精品久久久999| 欧美福利视频一区| 一本久久a久久免费精品不卡| 欧美日产在线观看| 欧美日韩视频| 亚洲欧洲日产国产综合网| 国产精品99免费看| 亚洲欧美日韩一区二区三区在线观看| 狂野欧美一区| 精品电影在线观看| 国产一区欧美| 亚洲福利一区| 亚洲图片欧洲图片av| 亚洲国产欧美日韩| 黄色在线一区| 欧美日韩亚洲精品内裤| 国产精品国产三级国产a| 欧美激情第二页| 激情亚洲网站| 亚洲麻豆视频| 亚洲精品久久视频| 日韩亚洲欧美成人| 国产性猛交xxxx免费看久久| 国产欧美日韩一区二区三区在线| 欧美午夜视频在线| 国产欧美日韩在线视频| 国产欧美一区二区三区另类精品| 男男成人高潮片免费网站| 欧美日韩在线另类| 亚洲三级视频| 欧美日韩国产大片| 欧美成人午夜激情在线| 麻豆久久婷婷| 欧美成人高清视频| 欧美日韩亚洲一区二区三区在线| 欧美电影资源| 性欧美xxxx大乳国产app| 国产精品视频精品| 国产精品男女猛烈高潮激情| 国产精品每日更新| 国产精品露脸自拍| 国产欧美短视频| 国产三区二区一区久久| 狠狠色伊人亚洲综合成人| 韩国美女久久| 亚洲国产精品黑人久久久| 亚洲高清一区二区三区| 亚洲精品社区| 亚洲视频每日更新| 午夜天堂精品久久久久| 久久精品30| 欧美成人免费网站| 欧美日韩黄视频| 国产精品红桃| 国产午夜精品久久久久久久| 国外成人在线| 亚洲国产精品va在线看黑人动漫| 亚洲日本中文| 亚洲永久免费av| 亚洲永久网站| 午夜激情综合网| 欧美精品激情在线| 国产精品一区2区| 激情婷婷久久| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 国产在线播放一区二区三区| 一区二区亚洲精品| 日韩视频在线观看| 午夜日本精品| 美日韩精品视频免费看| 欧美精品在线看| 国产精品国产福利国产秒拍| 一色屋精品视频在线看| 亚洲美女免费精品视频在线观看| 亚洲一区尤物| 久久综合影音| 国产精品麻豆欧美日韩ww| 黄色成人av在线| 一区二区三区视频在线播放| 欧美一区二区三区久久精品| 欧美成人在线网站| 国产精品va| 尤物九九久久国产精品的特点 | 国产精品视频免费观看www| 一区在线视频| 一区二区三区久久久| 久久激情综合| 欧美视频一区二区三区四区| 精品88久久久久88久久久| 一本色道精品久久一区二区三区| 欧美制服丝袜| 欧美日韩国产限制| 狠狠色伊人亚洲综合成人| av不卡免费看| 久久深夜福利免费观看| 欧美午夜精品一区| 国内精品免费在线观看| 一区二区三区欧美亚洲| 久久国产精品久久久久久| 欧美揉bbbbb揉bbbbb| 亚洲国产日日夜夜| 欧美中文字幕在线播放| 国产精品av一区二区| 亚洲激情电影在线| 久久久久国色av免费看影院| 欧美成人精品一区二区三区| 国产精品一区二区三区久久久| 在线观看欧美日韩国产| 亚洲综合国产| 欧美视频免费看| 亚洲国产一区二区视频| 香蕉久久夜色精品| 性色av一区二区三区红粉影视| 国产精品日韩专区| 99综合在线| 欧美国产精品一区| 国产一二精品视频| 亚洲午夜精品网| 欧美日韩a区| 亚洲激情午夜| 蜜乳av另类精品一区二区| 极品少妇一区二区三区精品视频| 欧美一区二区三区免费观看| 国产精品久久久久久久第一福利| 99精品国产热久久91蜜凸| 欧美成人一区二区三区| 悠悠资源网亚洲青| 欧美在线精品免播放器视频| 欧美天堂亚洲电影院在线播放| 亚洲精品中文字幕在线| 欧美—级在线免费片| 一色屋精品视频在线观看网站| 久久久xxx| 国产精品久久久| 亚洲一二三区视频在线观看| 欧美日韩免费看|