欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
從UML到BPEL

2003 年 9 月 01 日

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

如此多的XML ...

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

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





回頁(yè)首


BPEL是什么?

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

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





回頁(yè)首


為什么使用UML?

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

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

擴展UML


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

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

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





回頁(yè)首


自動(dòng)化業(yè)務(wù)流程的UML配置文件(Profile)

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

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

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



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



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





回頁(yè)首


映射到BPEL4WS

自動(dòng)化業(yè)務(wù)流程的UML配置文件表示可以從UML模型生成完整的可執行BPEL制品。 表1 概要的展示了從配置文件到BPEL的映射,覆蓋到了本文介紹的配置文件子集。


配置文件構件 BPEL4WS概念
<<process>>類(lèi) BPEL流程定義
<<process>> 類(lèi)的活動(dòng)圖 BPEL活動(dòng)級別
<<process>>類(lèi)屬性 BPEL變量
分層結構和控制流 BPEL順序和流程活動(dòng)
<<receive>>、 <<reply>>、<<invoke>>活動(dòng) BPEL活動(dòng)

清單1(由于版面空間原因,這里省略了很多細節代碼)顯示了BPEL文檔的縮減版本,該文檔是由本文介紹的貸款批準例子生成的。


清單 1.BPEL清單摘錄
                    <process name="loanApprovalProcess" ...>                    <variables>                    <variable name="request"                    messageType="loandef:creditInformationMessage"/>                    <variable name="riskAssessment"                    messageType="asns:riskAssessmentMessage"/>                    ...                    </variables>                    ...                    <flow>                    <receive name="receive1" partner="customer"                    portType="apns:loanApprovalPT"                    operation="approve" variable="request"                    createInstance="yes">                    <source linkName="receive-to-assess"                    transitionCondition=                    "bpws:getVariableData(‘request‘, ‘a(chǎn)mount‘)<10000"/>                    <source linkName="receive-to-approval"                    transitionCondition=                    "bpws:getVariableData(‘request‘, ‘a(chǎn)mount‘)>=10000"/>                    </receive>                    <invoke name="invokeAssessor" partner="assessor"                    portType="asns:riskAssessmentPT"                    operation="check"                    inputVariable="request"                    outputVariable="riskAssessment">                    <target linkName="receive-to-assess"/>                    <source linkName="assess-to-setMessage"                    transitionCondition=                    "bpws:getVariableData(‘riskAssessment‘, ‘risk‘)=‘low‘"/>                    <source linkName="assess-to-approval"                    transitionCondition=                    "bpws:getVariableData(‘riskAssessment‘, ‘risk‘)!=‘low‘"/>                    </invoke>                    <assign name="assign">                    <target linkName="assess-to-setMessage"/>                    <source linkName="setMessage-to-reply"/>                    <copy>                    <from expression="‘yes‘"/>                    <to variable="approvalInfo" part="accept"/>                    </copy>                    </assign>                    ...                    <reply name="reply" partner="customer" portType="apns:loanApprovalPT"                    operation="approve" variable="approvalInfo">                    <target linkName="setMessage-to-reply"/>                    <target linkName="approval-to-reply"/>                    </reply>                    </flow>                    </process>                    

參考資料中可以找到完整的配置文件鏈接。





回頁(yè)首


UML到BPEL映射驗證器

從IBM alphaWorks可以獲得作為ETTK的一部分的技術(shù)驗證器,它支持從UML工具(例如Rational XDE)到BPEL4WS運行時(shí)間(BPWS4J)的端到端情景。映射實(shí)現被構建為Eclipse插件,它采取了UML模型(XMI)交換的工業(yè)標準文件 格式作為輸入。BPEL4WS制品(artifact)同需要的WSDL和XSD制品是一起生成的。

讓我們看一下驗證器。首先要根據您的需要安裝一些先決條件。ETTK頁(yè)面顯示了相關(guān)詳細信息(參閱 參考資料下載鏈接)。概括起來(lái),您需要下列資源:

  • Rose或XDE(本文采用的是XDE v2003)
  • Eclipse 2.0+或WebSphere Studio Application Developer(WSAD)5.0+
  • WebSphere Application Server (WAS) 5.0+或Apache Tomcat 4.1.24+
  • The ETTK本身(其中包含了BPWS4J)。

假設您已經(jīng)具有下面需要的合適環(huán)境。

驗證器隨著(zhù)不同情景的一套樣例文檔而產(chǎn)生,例如貸款批準或購買(mǎi)訂單流程。樣例文檔將是兩種類(lèi)型:一種是可以由Rose或XDEUML打開(kāi)和修改的模型文檔,另一種是包含UML模型的XMI版本的XML文檔,該文檔可以通過(guò)Rose或XDE進(jìn)行輸出。在 圖3中可以看到Rose或XDE中相應的模型,或者這些工具的XMI輸出的模型。

圖3使用一個(gè)UML活動(dòng)圖顯示了轉換文檔的全部流程;UML沒(méi)有用嗎?方框表示制品(通常是文檔),而橢圓表示一個(gè)操作或活動(dòng)。主要階段是:

  • 構建UML模型并將其導出到XMI(使用Rose或XDE)
  • 生成BPEL、WSDL和XSD文檔
  • 在BPWS4J運行時(shí)間部署并運行這些文檔—— 測試。


構建并輸出UML模型


如果具有Rose而不沒(méi)有XDE,則可以打開(kāi)其中一個(gè)UML文檔(.mdl或.mdx);在本文中您已經(jīng)通過(guò)貸款批準的例子看到了這些例子。



圖4UML模型被輸出到XMI——您需要使用XDE v2003或更新版本。注意這種方法的好處是您正在使用的是一般性用途,而不需要修改UML工具和UML的標準擴展機制來(lái)構建和輸出流程定義。

一旦模型執行完畢,則可以點(diǎn)擊File -->Export菜單,選擇XMI Export將其輸出,如 圖4所示。

生成BPEL和WSDL文檔


在Eclipse (或WebSphere Application Developer (IE))中創(chuàng )建Java Project,然后導入您在前面創(chuàng )建的XMI文檔(或使用ETTK提供的XMI樣例文檔)。最后選擇XMI文件并通過(guò)右擊鼠標菜單選擇 “Generate BPEL from UML”,如 圖5所示。



下面為您提供了更改不同前綴的機會(huì );需要對其進(jìn)行改進(jìn)來(lái)與您的設置相匹配,如果您恰好使用的是ETTK安裝,則默認值不需要修改,如 圖6所示。



單擊“Finish”按鈕后,許多文檔將顯示在工程中,其中包括主要的BPEL和WSDL文檔,LoanAssessor和LoanApprover服務(wù)以及數據定義的WSDL文檔。

測試


這時(shí),生成的文檔應該準備進(jìn)行部署。本文中可以部署到Apache Tomcat,但是也同樣可以使用WebSphere Application Server。

導 航到BPEL4WS部署面板(地址是http://localhost:8080/bpws4j/admin/index.html)),接著(zhù)在各自的字 段輸入與主要服務(wù)相應的WSDL文檔(即 Loan ApprovalProcess.wsdl)和BPEL文檔,(即ProcessOrder.bpel),如 圖 7所示。



單擊“Continue Deployment”按鈕之后,在流程插入不同角色需要的所有文檔。在本例中有兩個(gè)特別的任務(wù):LoanAssessor和LoanApprover。



一旦部署完流程(參閱 Figure 8所示),然后運行的例子與BPWS4J例子是相同的:調用與您的操作系統相應的LoanApprovalSample腳本:

LoanApprovalSample [soap-address] first-name last-name amount

例如,

LoanApprovalSample http://localhost:80/bpws4j/soaprpcrouter John Doe 10

根據UML活動(dòng)圖,可以知道數值10000是重要的!





回頁(yè)首


反射

本 文介紹了帶有UML到BPEL轉換器的自動(dòng)化業(yè)務(wù)流程UML配置文件。配置文件允許開(kāi)發(fā)者使用常規的UML技巧和工具,開(kāi)發(fā)基于BPEL4WS的Web服 務(wù)業(yè)務(wù)流程。這種方法使面向服務(wù)的的BPEL4WS組件合并到全面的系統設計,該系統設計利用了現存的軟件工程方法。另外,從UML到BPEL4WS的映 射容許使用模型驅動(dòng)開(kāi)發(fā)方法,從UML模型自動(dòng)生成BPEL4WS可執行的流程。

這種方法著(zhù)重于了MDA的概念如何能被運用到其它領(lǐng)域以及抽象的更高級別,該方法使得開(kāi)發(fā)者可以隔離于技術(shù)的改變。

這里有幾種不同的情況,每種情況下這種方法都是有益的:

  • 第 一種情況,屏蔽在項目使用的技術(shù)版本的更改。BPEL可以(并且已經(jīng))更改了版本。如果流程所使用的語(yǔ)義沒(méi)有發(fā)生根本的變化,可以重新生成實(shí)現而無(wú)需開(kāi)發(fā) 人員的干預。這種轉換技術(shù)也能用來(lái)保護開(kāi)發(fā)者在最初開(kāi)發(fā)UML模型的投入:當有UML新版本可用的時(shí)候(例如將版本從1.4升級到2版本),UML模型本 身也能進(jìn)行轉換。
  • 第二種情況,可以產(chǎn)生UML配置表,使用它能生成其它過(guò)程實(shí)現,諸如BPML。
  • 第三種方法,可以從單個(gè)模型生成多種技術(shù)的制品(artifact)。在本例中包括BPEL和WSDL,但不能能生成non-XML輸出,諸如Java輸出。
  • 最后,轉變是雙向的--在本例中有一個(gè)反向映射來(lái)支持現有的BPEL4WS和WSDL制品(artifact)的導入,以及支持BPEL4WS和WSDL制品(artifact)的同步,一方發(fā)生的改變能夠反映到另一方。




回頁(yè)首


致謝

感謝Gary Flood、Catherine Griffin和Tracy Gardner對本文進(jìn)行輸入和注釋工作。





回頁(yè)首


參考資料

  • 您可以參閱本文在 developerWorks 全球站點(diǎn)上的 英文原文.

  • 從IBM alphaWorks下載 ETTK。



  • 請參閱IBM alphaWorks 上的 live running install of the ETTKon developerWorks。



  • 閱讀James Snell編寫(xiě)的“ Implementing Web services with the ETTK”教程。 ( developerWorks,2003年4月)



  • 查看OMG上的 MDA參考資料頁(yè)面,那里有很多文章,可以鏈接到會(huì )議和更多信息。



  • 瀏覽OMG上的 UML參考資料,那里有很多文章,可以鏈接到會(huì )議和更多信息。



  • 在<ettk install directory>\\wstk\\services\\demos\\uml2bpel\\docs\\UMLProfileForBusinessProcess1.1.pdf文檔中查找UML Profile。



  • 閱讀 BPEL 1.1規范developerWorks,2003年3月)。



  • 通過(guò)閱讀Frank Leymann和Dieter Roller編寫(xiě)的“ Web服務(wù)世界中的業(yè)務(wù)流程”,,獲取優(yōu)秀的關(guān)于BPEL4WS的概述( developerWorks,2002年8月)。






回頁(yè)首


關(guān)于作者

 

Keith 在英國的Hursley Park IBM開(kāi)發(fā)基地工作。他目前工作在Model Driven Business Integration小組。他在很多領(lǐng)域進(jìn)行了應用軟件開(kāi)發(fā)工作,其中包括零售業(yè)、金融業(yè)和保險業(yè),他經(jīng)常使用UML和其它技術(shù)提高品質(zhì)、效率和股東之 間的通訊。 可以在 keith_mantell at uk.ibm.com與Keith聯(lián)系。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
面向SOA企業(yè)業(yè)務(wù)過(guò)程建模的利器 — IT技術(shù)
業(yè)務(wù)流程: 理解 BPEL4WS,第 1 部分業(yè)務(wù)流程中的概念
SOA實(shí)踐:構建基于Java Web服務(wù)和BPEL的企業(yè)級應用
過(guò)程組件模型
企業(yè)集成與 Web Services 和 BPEL
UML的定義 - What is UML?
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久