詳解從UML到BPEL(1)

發表于:2007-06-11來源:作者:點擊數: 標簽:
本文描述了一種新工具,該工具是在alphaWorks網站上發布的Emerging Technologies Toolkit version 1.1 (ETTK),它采取用統一建模語言(Unified Modeling Language,UML)定義的流程并生成相應的BPEL和WSDL文檔來實現該流程。這種 性能 用于突出對象管理組

本文描述了一種新工具,該工具是在alphaWorks網站上發布的Emerging Technologies Toolkit version 1.1 (ETTK),它采取用統一建模語言(Unified Modeling Language,UML)定義的流程并生成相應的BPEL和WSDL文檔來實現該流程。這種性能用于突出對象管理組(OMGs)模型驅動體系結構(MDA)創始的一些優點:提高開發過程中的抽象水平,因此獲得更高的生產率, 更好的質量,能夠隔離于技術的根本改變。

如此多的XML ...

隨著面向服務的體系結構(SOA)的出現,應用程序開發經歷了一次徹底改變。這種架構合并了基于XML的標準,例如WSDL、簡單對象訪問協議(SOAP)、統一描述、發現和集成協議(UDDI)和現在的BPEL。然而,當您能做更多的事情時,開發任務的大小和復雜性已經提高,并且開發者會發現他們沉迷于文檔和語法中,而迷失了他們工作的主要目標。另外,開發人員的目標在發生變化,標準本身也處在發展之中。因而,為了能快速的采用Web服務,開發者正在尋找解決復雜、高效和技術改變問題的答案。

UML到BPEL的映射工具能夠獲得用UML工具(例如:IBM Rational的XDE或Rose)開發的流程模型,并且能將它們轉換為正確的BPEL和WSDL文檔來實現該流程。 Emerging Technologies Toolkit version 1.1 (ETTK)是測試有趣的新技術的環境,并且現在具有兩種格式:autonomic和webservices。本文重點介紹后者——webservices。

BPEL是什么?

BPEL提供了一種XML注釋和語義,用于指定基于Web服務的業務流程行為。使用合作伙伴的交互方式,定義了該BPEL4WS流程。合作伙伴可以將服務提供給流程,也可以向流程請求服務,或者參與到流程的雙向交互中。BPEL通過指定順序來編排Web服務,這對服務集合的調用來說意義深遠。BPEL還針對每個服務分配了合作伙伴的責任。您可以使用它來指定合作伙伴的公共接口和可執行流程的描述。

BPEL 1.1是該規范的最新版本。它除了澄清術語之外,還允許較好的變量范圍和附加的事件處理程序。有關該規范的最新版本和BPEL介紹,請參閱最前面的兩篇相關內容鏈接。

為什么使用UML?

UML是一種OMG標準,該標準提供了一種可視化的建模表示法,這對設計和了解復雜的系統很有效。

UML具有下列幾種通用優點:它是眾所周知的面向對象(Object-Oriented ,oo)建模表示法,具有非常容易理解的圖形表示法以及一套豐富的語義集來捕獲OO系統的關鍵特征。 UML廣泛地應用于面向對象的軟件開發,還常用于定制的、基于組件的軟件開發、業務流程建模和系統設計。這使大部分UML經驗能被應用到成熟的Web服務技術中。

擴展UML

擴展或定制UML的特性對MDA來說是很必要的;可以通過定制UML來支持系統建模,這種系統是需要完全或部分的部署到Web服務基礎架構上。本文主要介紹模板(stereotypes)。模板(stereotypes)是一種對模型的元素進行分類的方法。例如,如果您有一個表示顧客的類,那么您可以附加<<entity>> 模板(stereotypes)來表示它代表一個數據對象(或許是Entity Bean)。這種信息有助于人們對模型的可讀性,甚至可以用來改變表示CASE工具(例如Rational Rose)中類的圖標。然而,在這種情況下您可以使用它來指導模型的翻譯。要記住,您可以將模板(stereotypes)添加到UML模型中的更多元素上。還可以在配置文件(Profile)中結合這些模板(stereotypes)。為了表示特定的興趣域,UML配置文件(Profiles)用于定義對基本UML的擴展集合。例如那些為CORBA和數據建模(Data Modeling)定義的配置文件(Profiles)。配置文件定義了要使用的UML元素,如何對其進行擴展,以及約束元素集合的良好性規則(well-formedness rules)。

下面部分,我將介紹一種UML配置文件(Profile),可以通過構建與BPEL4WS(Web服務業務流程執行語言)相對應的一套語義結構來支持建模。同時還將描述BPEL4WS映射,BPEL4WS映射可以從適合配置文件的UML模型自動生成Web服務制品(BPEL、WSDL、XSD)。

下面部分將展示實際的BPEL例子以及UML配置文件(Profile),并重點講述關鍵概念。

自動化業務流程的UML配置文件(Profile)

這部分通過一個例子介紹了UML配置文件子集,該例子定義了一個簡單本的貸款批準流程。在本例中您將會在ETTK的README文檔中發現轉換器。它可以被總結為如下所示:

“在收到貸款請求時,將請求的數值與數值(10000)比較。如果請求的數值比較少,那么將調用Assessor服務,否則將將調用Approver服務。如果Aclearcase/" target="_blank" >ccessor認為該請求的風險比較高,它也將被傳遞給Approver。當Approver完成或者Accessor接受時,將會返回批準信息?!?

BPEL流程是有狀態的并包含實例,所以在BPEL中,這種情況都會被作為一個LoanApproval流程而實現,對于被處理的每個實際貸款申請,LoanApproval流程都會有一個實例。每個實例都用BPEL變量來捕獲它自己的狀態。在UML配置文件中,流程被表示為<<Process>>模板類。類的屬性與流程的狀態相對應(在BPEL4WS 1.0術語中的容器,或者BPEL 1.1中的變量)圖1顯示了表示貸款批準流程的UML類 。

圖 1.用于BPEL流程建模的UML類

通過活動圖可以清楚的描述類的行為。圖2顯示了貸款批準流程的活動圖。例如,invokeAssessor活動顯示為帶有圓角的長方形。執行的操作顯示為活動的入口條件;例如,riskAssessment(一個變量)被設置為檢查服務的結果。通過UML分區(也作為泳道)來表示流程中通信的合作伙伴:customer、assessor以及approver。每個分區中顯示了往合作伙伴發送或者接收信息的活動。箭頭表示流程執行活動的順序。注意分派(assingment)活動沒有放到一個分區中;它描繪了發生在它自身流程內的活動,該流程不需要外部服務。

圖 2貸款批準流程的活動圖

應答(reply)活動向顧客返回響應,完成流程的處理。每個活動都有一個描述性的名稱和輸入活動來細化活動執行的工作。


共4頁: 1 [2] [3] [4] 下一頁

原文轉自:http://www.anti-gravitydesign.com

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97