• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    詳解從UML到BPEL(1)

    發布: 2007-6-11 17:19 | 作者: seanhe | 來源: | 查看: 43次 | 進入軟件測試論壇討論

    領測軟件測試網

    本文描述了一種新工具,該工具是在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服務。如果Accessor認為該請求的風險比較高,它也將被傳遞給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.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>