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

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

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

開(kāi)通VIP
使用服務(wù)組件體系結構構建 SOA 解決方案——第 3 部分



引言

在本系列的第 1 部分,我們引入了服務(wù)組件體系結構作為編程模型來(lái)構建和組裝集成解決方案,簡(jiǎn)要介紹了什么是 SCA,以及一些相關(guān)術(shù)語(yǔ)的定義。在第 2 部分,我們討論了引用和限定符,并說(shuō)明了如何將各種組件連接到一起以創(chuàng )建 SCA 模塊。在第 3 部分,我們將深入了解構建 SCA 模塊的主要好處之一,即能以各種組件為基礎垂直構建集成解決方案。

隨著(zhù)系統不斷發(fā)展而變得更為復雜,有必要將各種解決方案進(jìn)行水平集成;組織中的不同部門(mén)可能需要構建自己的解決方案并稍后將其集成到一起,或者可能不同的業(yè)務(wù)合作伙伴將需要通過(guò) Internet 集成其解決方案。圖 1 顯示了一個(gè)此類(lèi)水平集成的示例:


圖 1. 集成系統

我們在第 1 部分中定義了 SCA 導入和導出,但我們將在本文中對其進(jìn)行更為深入的研究,并繼續構建我們的精簡(jiǎn)示例。具體來(lái)說(shuō),將重點(diǎn)討論使用 SCA 綁定的 SCA 導入和導出。SCA 綁定允許一個(gè)模塊中的 SCA 組件使用 SCA 編程模型與另一個(gè)模塊中的 SCA 組件通信。

在本文中,我們還將升級到 IBM WebSphere Integration Developer V6.0.1,該版本允許構建特定的集成解決方案,以將 IBM WebSphere Process Server V6.0.1 或 IBM WebSphere Enterprise Service Bus V6.0.1 解決方案結合使用。在這個(gè)新版本中,我們還添加了對構建各種企業(yè)服務(wù)總線(xiàn)(Enterprise Service Bus,ESB)中介的支持。(WebSphere ESB 運行時(shí)是 WebSphere Process Server 的子集;有關(guān)更多信息,請參閱參考資料。)





回頁(yè)首


導入與導出回顧

正如在第 1 部分中提到的,用于進(jìn)行模塊到模塊和模塊到外部服務(wù)調用的機制分別稱(chēng)為導入導出。導入和導出是從模塊角度而言,而模塊是一個(gè)執行特定業(yè)務(wù)功能的自包含組件包:

  • 當模塊希望為其他實(shí)體(外部服務(wù)或其他模塊)提供調用業(yè)務(wù)功能的能力時(shí),它將導出此功能。導出還提供通過(guò)各種不同的傳輸協(xié)議提供此服務(wù)的能力。導出與模塊內的特定組件關(guān)聯(lián)。

  • 當模塊希望利用其他實(shí)體(外部服務(wù)或模塊)的功能時(shí),該模塊將導入此功能。導入還提供通過(guò)各種傳輸協(xié)議與服務(wù)提供者交換的能力。

圖 2 顯示了一個(gè)使用導入和導出的 SCA 組裝。該圖表明,導出是外部的入口點(diǎn),而導入則允許您調用模塊外的功能。


圖 2. SCA 導入和導出

當通過(guò)導入和導入調用 SCA 組件時(shí),參數將按值傳遞,即參數將從一個(gè)結構中復制到另一個(gè)結構。圖 3 顯示了兩個(gè)彼此進(jìn)行通信的 SCA 模塊,并說(shuō)明了 SCA 導入如何與 SCA 導出匹配。


圖 3. SCA 導入和導出

將 SCA 組件粘附到一起的連接機制抽象出了大部分基礎結構級的代碼。例如,可以將連接機制定義為同步或異步的,操作可以為單向的或為請求-響應型,或者可以定義組件間的事務(wù)處理行為。SCA 將為您處理基礎結構細節。

導入和導出可以與其他技術(shù)綁定,如 JMS、Enterprise JavaBeans (EJB) 或 Web 服務(wù),如圖 4 所示。通過(guò)綁定到這些技術(shù),可以通過(guò)使用 SCA 編程模型來(lái)讓 Web 服務(wù)客戶(hù)機調用 SCA 模塊,或者讓 SCA 模塊調用現有 EJB 模塊(由于 EJB 導入是由 Java? 接口定義的,所以使用 EJB 導入有一些限制;因此,BPEL 之類(lèi)——要求合作伙伴支持 WSDL——無(wú)法調用 EJB 導入。詳見(jiàn)后文)。


圖 4. 與其他技術(shù)的導入與導出





回頁(yè)首


導入/導出綁定

面向服務(wù)的體系結構的一個(gè)關(guān)鍵在于能夠公開(kāi)采用大量綁定選項的服務(wù),以及能夠使用行業(yè)規范調用服務(wù)。正如所指出的,WebSphere Process Server 和 WebSphere ESB 提供了一系列不同的綁定類(lèi)型來(lái)幫助滿(mǎn)足此類(lèi)需求。綁定類(lèi)型使用 Assembly Editor 與導出和導入關(guān)聯(lián)。目前有五種主要的綁定類(lèi)型:

  1. SCA——用于模塊間的 SCA 調用的綁定類(lèi)型。該綁定類(lèi)型是配置最簡(jiǎn)單的類(lèi)型,可提供模塊間的無(wú)縫集成。

  2. Web 服務(wù)——可提供調用外部 Web 服務(wù)和將模塊內的功能作為 Web 服務(wù)公開(kāi)的功能。缺省情況下,Web 服務(wù)將使用 doc-lit 包裝樣式,可以與 HTTP 和 JMS 協(xié)議一起使用。Web 服務(wù)綁定功能是從基礎 WebSphere Application Server 基本 Web 服務(wù)引擎派生的,受到相同的限制。

  3. 企業(yè)信息系統(Enterprise Information Systems,EIS)——提供通過(guò) WebSphere JCA Adapter 集成到現有 EIS 系統的功能。此綁定類(lèi)型的可用配置將根據目標不同而有所改變(SAP、JDBC Adapter 等等)。企業(yè)數據發(fā)現服務(wù)通常與每個(gè)適配器一起提供,以幫助創(chuàng )建業(yè)務(wù)對象和導入與導出綁定。

  4. Java Messaging Service——提供與使用 JMS 作為消息傳遞協(xié)議的端點(diǎn)進(jìn)行集成的功能。在這種情況下,導入和導出使用數據綁定來(lái)幫助解析正確的業(yè)務(wù)對象/操作組合。

  5. 無(wú)狀態(tài)會(huì )話(huà) Bean——提供使用 Java 接口與無(wú)狀態(tài)會(huì )話(huà) Bean 集成的功能。此功能只有在將 Java 引用連接到 Java 接口時(shí)才可用。在 WebSphere Integration Developer 中,使用 WSDL 引用的組件不允許連接到無(wú)狀態(tài)會(huì )話(huà) Bean 提供的 Java 接口。在此情況下,要求使用具有 WSDL 接口和 Java 引用的中間組件。

在本文中,我們將更深入地討論 SCA 綁定的情況。本系列的后續文章將對其他導入/導出綁定進(jìn)行更為深入的分析。





回頁(yè)首


SCA 綁定

SCA 綁定提供了一致的方法來(lái)在 WebSphere Process Server 或 WebSphere ESB 環(huán)境中跨模塊邊界進(jìn)行通信。將基于客戶(hù)機模塊使用的調用模式自動(dòng)選擇 SCA 綁定所使用的基礎協(xié)議。

SCA 提供四種調用模式。

  • 同步——客戶(hù)機發(fā)出請求,并等待響應。
  • 異步單向——客戶(hù)機發(fā)出請求,不等待響應。
  • 異步延遲響應——客戶(hù)機發(fā)出請求,客戶(hù)機將在稍后請求響應。
  • 異步回調——客戶(hù)機發(fā)出請求,目標將調用使用響應調用客戶(hù)機實(shí)現的服務(wù)。

WebSphere Process Server 或 WebSphere ESB SCA 運行時(shí)將確定何時(shí)使用基礎系統集成總線(xiàn)(對于異步調用模式)或 RMI/IIOP(對于同步調用模式)。

SCA 綁定是由導出驅動(dòng)的。在 SCA 模塊安裝到 WebSphere Process Server 的過(guò)程中,將創(chuàng )建必要的支持構件:

  • 對于異步調用,將在 SCA.SYSTEM.<cell name>.Bus 中創(chuàng )建計算單元范圍內的服務(wù)集成總線(xiàn)(Service Integration Bus,SIBus)目的地。
  • 對于同步通信,將創(chuàng )建一個(gè)指向模塊會(huì )話(huà) Bean 的計算單元范圍內的名稱(chēng)空間綁定;模塊會(huì )話(huà) Bean 是無(wú)狀態(tài)會(huì )話(huà) Bean,供模塊用于各種目的,如作為工作邊界、安全配置等的單元。

導入和導出文件一起工作,其中導入文件包含關(guān)于導出的重要信息,可幫助任意數量的客戶(hù)機導入目標服務(wù)。

SCA 運行時(shí)通過(guò)使用 .import 文件中的信息和調用模式(sync 或 async),可確定是使用 SIBus 目的地還是 WebSphere 名稱(chēng)空間綁定。

將創(chuàng )建一系列 SIBus(請參閱參考資料)目的地來(lái)支持 WebSphere Process Server 和 WebSphere ESB 提供的各種異步調用類(lèi)型;將為模塊、組件、導入和導出創(chuàng )建目的地。每個(gè)目的地和轉發(fā)路由路徑將確保將消息路由到正確的目標服務(wù)。圖 5 顯示了 SIBus 目的地的一個(gè)示例。


圖 5. SIBus 目的地

此外,將為模塊中的每個(gè) SCA 導出創(chuàng )建一個(gè)名稱(chēng)空間綁定,如圖 6 中所示。此綁定將在計算單元范圍內創(chuàng )建,并遵循以下命名模式:

sca_ + <Module Name> + _export_ + <ExportName>。


圖 6. 名稱(chēng)空間綁定

在給定這兩組構件范圍的情況下,SCA 導出綁定在整個(gè)計算單元內都可見(jiàn)??蛻?hù)端模塊和目標模塊可以放置在計算單元內的任何 WebSphere Process Server 或 WebSphere ESB 服務(wù)器上,且仍然能夠進(jìn)行通信。





回頁(yè)首


導出限定符

使用 SCA 綁定的導入是 SCA 組件在另一個(gè)模塊中的邏輯表示。因此,可以采用與圖 7 所示相同的方法在指向導出的引用上定義限定符。


圖 7. 添加限定符

導出并不包含任何限定符;相反,將要在導出的組件上放置限定符,詳見(jiàn)第 2 部分中的說(shuō)明。





回頁(yè)首


庫項目

跨越模塊邊界,必須考慮共享協(xié)定這一事實(shí)。應用程序通過(guò)接口進(jìn)行通信,彼此傳遞數據對象。這意味著(zhù)接口和業(yè)務(wù)對象應對模塊可見(jiàn),或位于與模塊相同的位置。為了減少在每個(gè)模板中重復定義相同的接口和數據對象,WebSphere Integration Developer 包括了一個(gè)特殊的 SCA 庫模塊,可以將其添加到 SCA 模塊,就像 Java JAR 文件可以為 EAR 文件中獨立的 JAR 一樣。(事實(shí)上,WebSphere Integration Developer 就是這樣處理庫的。)這就允許您在單個(gè)位置中定義接口和業(yè)務(wù)對象,然后讓所有模塊對其進(jìn)行共享。稍后我們將給出一個(gè) SCA 庫示例。

我們的示例應用程序

我們將繼續使用在整個(gè)系列中使用的 Credit Approval 應用程序。在本文中,我們將演示如何通過(guò)將 Credit History 和 Credit Agency 模塊外部化來(lái)使各個(gè)模塊分離,以了解如何配置導出和導入。為了進(jìn)行說(shuō)明,我們還將演示如何在模塊間共享 SCA 庫。

為了運行此示例,您將需要正確安裝 WebSphere Integration Developer V6.0.1(該版本支持 WebSphere ESB)并在您的計算機上運行(請參閱參考資料),還要獲取本文所附的下載材料,其中包含兩個(gè) SCA 模塊(Credit Agency 和 Credit History 模塊)和一個(gè)具有共享接口及業(yè)務(wù)對象的 SCA 庫。

  1. 設置工作區。

    1. 啟動(dòng) WebSphere Integration Developer。打開(kāi)新工作區并關(guān)閉歡迎屏幕。

    2. 您將需要導入所下載的 Project Interchange。為了導入 Project Interchange,在 Business Integration 視圖內單擊右鍵,然后選擇 Import,如圖 8 所示。


      圖 8. Eclipse 導入向導

    3. 選擇 Project Interchange,然后選擇 Next (圖 9)。


      圖 9. 導入 Project Interchange

    4. 選擇下載文件 <Download_root>/SCAArticlePart3.zip,然后單擊 Select All,并單擊 Finish (圖 10)。


      圖 10. Select All

  2. 檢查我們剛剛導入的構件:

    1. 從 Business Integration 透視圖中展開(kāi) CreditApprovalLibrary。正如前面提到的,SCA 庫可以用于方便地保存模塊間共享的業(yè)務(wù)對象和接口。圖 11 顯示了 Business Integration 視圖中的 CreditApprovalLibrary。


      圖 11. CreditApprovalLibrary

      通過(guò)在 Business Integration 透視圖內上下文有關(guān)的菜單中選擇 New => Library,可以方便地創(chuàng )建 Library 項目。在此例中,我們已經(jīng)提供了接口和數據對象。

    2. 展開(kāi) CreditAgencySCAModuleCreditHistory 模塊。

    3. 為每個(gè)模塊打開(kāi) Assembly Editor。在前面的第 2 部分中的示例中,我們在單個(gè)模塊中包含了多個(gè)組件。在此示例中,我們將對實(shí)現進(jìn)行分離,以模擬多個(gè)獨立的解決方案。通常,SCA 具有包含多個(gè)組件的完整解決方案。對于本文,我們假定這些為不同開(kāi)發(fā)組(不同的管理人員、日程安排和項目規劃)開(kāi)發(fā)的完整解決方案。圖 12 顯示了 Business Integration 視圖中的 SCA 模塊。


      圖 12. SCA 模塊

    4. 這兩個(gè) SCA 模塊都依賴(lài)于 SCA 庫模塊;這個(gè)依賴(lài)關(guān)系可以在 Dependency Editor 看到。分別右鍵單擊每個(gè) SCA 模塊,并選擇 Open Dependency Editor(圖 13)。


      圖 13. 打開(kāi) Dependency Editor

    5. 檢查每個(gè)模塊對應的 Dependency Editor,以確保在兩個(gè)模塊間共享了 CreditApprovalLibrary,如果是這樣,CreditApprovalLibrary 將顯示為圖 14 所示的情況。


      圖 14. CreditApprovalLibrary

    6. 關(guān)閉編輯器。




回頁(yè)首


創(chuàng )建 SCA 導出

接下來(lái),我們將為每個(gè)模塊創(chuàng )建 SCA 導出,以便可以從其他 SCA 模塊調用此模塊。

  1. 為 CreditAgencySCAModule 創(chuàng )建導出:

    1. 在 WebSphere Integration Developer 中,打開(kāi) CreditAgencySCAModule Assembly Editor。在 Business Integration 視圖中展開(kāi) CreditAgencySCAModule,并雙擊 CreditAgencySCAModule Assembly Editor 圖標,如下面的圖 15 中所示。


      圖 15. 打開(kāi) Assembly Editor

    2. 要創(chuàng )建導出,請右鍵單擊 CreditApproval 組件,并選擇 Export =>SCA Binding(圖 16)。


      圖 16. 創(chuàng )建具有 SCA 綁定的 SCA 導出

    3. 將自動(dòng)為 CreditAgency 組件創(chuàng )建具有 SCA 綁定的導出,如圖 17 中所示。


      圖 17. SCA 導出

    4. 在 Assembly Editor 中選中此導出的同時(shí)查看 Properties 視圖,以檢查導出的各個(gè)屬性。您將會(huì )在 Details 選項卡中看到操作的 SCA 詳細信息,如圖 18 中所示。


      圖 18. SCA 導出詳細信息

    5. 切換到 Qualifiers 選項卡(圖 19)。您會(huì )發(fā)現無(wú)法添加任何限定符。這是因為導出將使用其所指向的組件的限定符。


      圖 19. 導出沒(méi)有限定符

    6. 保存并關(guān)閉 Assembly Editor。

  2. 采用類(lèi)似的方法為 CreditHistorySCAModule 創(chuàng )建導出:

    1. 和前面一樣,為 CreditHistorySCAModule 打開(kāi) Assembly Editor。

    2. 和前面一樣,生成具有 SCA 綁定的導出(圖 20)。


      圖 20. SCA 導出

    3. 保存并關(guān)閉編輯器。





回頁(yè)首


創(chuàng )建 Credit Approval 模塊

現在我們將創(chuàng )建要通過(guò)導入調用其他兩個(gè)模塊的 CreditApprovalModule。

  1. 首先,創(chuàng )建一個(gè)新的 SCA 模塊:

    1. 在 Business Integration 視圖中單擊右鍵,然后選擇 New => Module。

    2. 將該模塊命名為 CreditApprovalSCAModule(圖 21)。確保選中 Use Default,然后單擊 Finish。


      圖 21. 新建 SCA 模塊

    3. 右鍵單擊新創(chuàng )建的 CreditApprovalSCAModule,并選擇 Open Dependency Editor(圖 22)。


      圖 22. 打開(kāi) Dependency Editor

    4. 由于 CreditApproval 模塊將調用其他兩個(gè)模塊,因此需要共享在其間傳遞的接口和業(yè)務(wù)對象。請記住,我們要使用庫來(lái)存儲這些接口和業(yè)務(wù)對象。在 Dependency Editor 中的 Libraries 節中選擇 Add,如圖 23 所示。


      圖 23. 向 SCA 模塊添加庫

    5. 選擇 CreditApprovalLibrary,然后單擊 OK。

  2. 現在將創(chuàng )建一個(gè)調用組件。出于演示目的,我們將使用基于 Java 的簡(jiǎn)單組件;在以后的文章中,我們將展示調用各種組件和模塊的 BPEL 流。

    1. 雙擊 CreditApprovalSCAModule Assembly 圖標,以打開(kāi) CreditApprovalSCAModule Assembly Editor(圖 24)。


      圖 24. 打開(kāi) SCA Assembly Editor

    2. 將 SCA 組件

      (圖 25)拖放到 Assembly Editor 上。


      圖 25. 將 SCA 組件拖放到 Assembly Editor 上

    3. 單擊文本,并鍵入名稱(chēng),從而將組件重命名為 CreditApproval,如圖 26 中所示。


      圖 26. 更改組件名稱(chēng)

  3. 接下來(lái),我們將向該組件添加接口。我們將接口存儲在庫項目中。

    1. 在組件上單擊 Interface 圖標(圖 27 的圓圈內),然后從菜單中選擇 CreditRequest。


      圖 27. 向 SCA 組件添加接口

    2. 單擊 OK。

我們剛剛創(chuàng )建了一個(gè) SCA 組件。該組件將通過(guò)導入調用其他兩個(gè)模塊。





回頁(yè)首


創(chuàng )建導入

我們已經(jīng)完成了導出的創(chuàng )建,現在就可以開(kāi)始創(chuàng )建 SCA 導入了。我們需要為要調用的每個(gè)導出創(chuàng )建一個(gè) SCA 導入。在我們的示例中,我們將進(jìn)行以下工作:

  • 調用 CreditAgency 和 CreditHistory 模塊。
  • 更新 CreditHistory 導入的限定符,以在異步調用組件時(shí)正確地處理事務(wù)處理行為。
  • 假定 History 請求需要花一定的時(shí)間進(jìn)行調用,那么我們將異步發(fā)出 History 請求。
  • 在請求之后,同步調用 CreditAgency 模塊。
  • 獲取信用分數后,以延遲方式獲取 History Response。
  1. 首先,為 CreditAgency 調用創(chuàng )建導入:

    1. 從面板上將 import 圖標拖放到 Assembly Editor 上(圖 28)。


      圖 28. 將導入拖放到 Assembly Editor 上

    2. 單擊文本并鍵入 CreditAgencyImport,從而重命名導入,如圖 29 中所示。


      圖 29. 重命名導入

  2. 接下來(lái),我們將添加相應的接口。在此情況下,導入的接口必須與 CreditAgencySCAModule 中對應的導出的導入匹配。

    單擊 Import 上方的 Interface 圖標(圖 30 的圓圈內),然后選擇 CreditAgency 接口。


    圖 30. 向 SCA 導入添加導入

  3. 添加相應的綁定,在此例中,添加 SCA 綁定:

    1. 右鍵單擊導入,并選擇 Generate Binding => SCA Binding(圖 31)。


      圖 31. 向導入添加 SCA 綁定

    2. 在 Assembly Editor 中突出顯示導入,轉到 Properties 視圖,并選擇 Binding 部分(圖 32)。單擊 Browse。


      圖 32. 瀏覽導出

    3. 選擇 CreditAgencyExport(圖 33)。


      圖 33. 選擇導出

  4. 接下來(lái),我們需要將 CreditApproval 組件連接到 CreditAgencyImport。

    1. 在 Assembly Editor 中選擇 CreditApproval 組件,并將一個(gè) wire 拖放到 CreditAgencyImport。


      圖 34. 將 SCA 組件連接到 SCA 導入

    2. 在對話(huà)框中單擊 OK,以在 CreditApproval 組件上創(chuàng )建引用(圖 35)。(在第 2 部分中對引用進(jìn)行了討論。)


      圖 35. 確認引用創(chuàng )建

    3. 保存編輯器,并使其保持為打開(kāi)狀態(tài)。下面的圖顯示了已連接的組件的最終結果。


      圖 36. 已連接的 SCA 模塊

  5. 接下來(lái),我們將為 CreditHistoryModule 創(chuàng )建導入。

    1. 和前面一樣,將另一個(gè) import 拖放到 Assembly Editor 并將其命名為 CreditHistoryImport。

    2. 向導入添加 CreditHistory 接口,如圖 37 中所示。


      圖 37. 添加 Credit History 接口

    3. 生成 SCA 綁定,并將 CreditApproval 連接到 CreditHistoryImport。圖 38 顯示了最終的結果。


      圖 38. 最終結果

請記住,我們假定 Credit History 組件的處理時(shí)間會(huì )稍微長(cháng)一些,因此首先將觸發(fā)異步請求以獲取 History,并在稍后檢索響應。在 CreditHistory 運行的同時(shí),我們將從 CreditAgency 模塊獲取 Credit Score。然后我們將從 CreditHistory 捕獲響應。我們可以為“服務(wù)”使用正確的 SCA API 來(lái)對 Credit History 模塊進(jìn)行異步調用。在這種情況下,我們希望使用前面描述的延遲響應調用模式。





回頁(yè)首


生成實(shí)現

  1. 我們現在將為 CreditApproval 組件創(chuàng )建一個(gè)實(shí)現。在我們的示例中,將使用一個(gè)簡(jiǎn)單的 Java 組件。

    1. 在 Assembly Editor 中,右鍵單擊 CreditApproval 組件,并選擇 Generate Implementation => Java。


      圖 39. 生成 Java 實(shí)現

    2. 暫時(shí)將該類(lèi)放在缺省包中(圖 40)。


      圖 40. 缺省包

    3. 如果希望在稍后添加本地 Java 客戶(hù)機,請在 Implement As... 對話(huà)框中選擇 Yes,以創(chuàng )建一個(gè)匹配的 Java 接口(圖 41)。


      圖 41. 為本地 Java 客戶(hù)機創(chuàng )建 Java 接口

  2. 現在我們將編寫(xiě)實(shí)現的代碼。

    1. 應在 Java 編輯器中打開(kāi)實(shí)現類(lèi)。正如您在 Java 編輯器中看到的,WebSphere Integration Developer 添加了方便的 Helper,以通過(guò)檢查模塊組裝來(lái)獲取合作伙伴。如果我們首先生成 Java 類(lèi),則這些方法將不存在。

      public CreditAgency locateService_CreditAgencyPartner() {                                            return (CreditAgency) ServiceManager.INSTANCE                                            .locateService("CreditAgencyPartner");                                            }                                            public CreditHistory locateService_CreditHistoryPartner() {                                            return (CreditHistory) ServiceManager.INSTANCE                                            .locateService("CreditHistoryPartner");                                            }

    2. 將下面的代碼(在 <download_root>/SCAArticleSeries3/codeSnippet1.txt 中)粘貼到 calulateCreditScore 方法內。異步調用模式以粗體突出顯示。

      ServiceManager serviceManager = new ServiceManager();                                            // create credit rating return data object using the BO factory                                            BOFactory bof =                                            (BOFactory)serviceManager.locateService("com/ibm/websphere/bo/BOFactory"                                            );                                            DataObject creditRating = bof.create("http://CreditApproval",                                            "CreditRating");                                            creditRating.setString("customerId",                                            creditApp.getString("customerId"));                                            // create and call credit history service using async deferred response invocation                                            // pattern.                                            CreditHistoryAsync cha = (CreditHistoryAsync)                                            serviceManager.locateService("CreditHistoryPartner");                                            Ticket tix = cha.getCreditLimitAsync(creditApp);                                            CreditAgency creditAgency = (CreditAgency) locateService_CreditAgencyPartner();                                            Integer creditScore = creditAgency.getCreditScore(creditApp);                                            Double creditLimit = cha.getCreditLimitResponse(tix, Service.WAIT);                                            creditRating.setInt("creditScore", creditScore.intValue());                                            creditRating.setDouble("creditLimit", creditLimit.doubleValue());                                            return creditRating;

    3. 因為缺少導入,因此在 Eclipse Editor 中應報告一些編譯錯誤(假定啟動(dòng)了自動(dòng)生成功能)。在 Java 編輯器中任意位置單擊右鍵,并選擇 Source => Organize Imports,如圖 42 中所示。


      圖 42. Organize imports

    4. 將 BOFactory 接口解析到 com.ibm.websphere.bo,如圖 43 中所示。


      圖 43. 解析 BOFactory

    5. 將 Service 接口解析到 com.ibm.websphere.sca,如圖 44 中所示。


      圖 44. 將服務(wù)導入解析到 com.ibm.websphere.sca

    6. 保存 Assembly Editor。





回頁(yè)首


測試解決方案

現在可以測試我們的解決方案了。集成模塊時(shí),每個(gè)模塊首先應進(jìn)行相應的單元測試。在本文中,我們將假定各個(gè)開(kāi)發(fā)團隊(CreditHistory 和 CreditAgency)都已對其組件進(jìn)行了相應的測試。

  1. 將所有三個(gè)模塊都添加到 WebSphere Process Server:

    1. 在 WebSphere Integration Developer 中,轉到 Servers 視圖,右鍵單擊 WebSphere Process Server,并選擇 Add/Romove Project(圖 45)。


      圖 45. 向 WebSphere Process Server 添加或刪除項目

    2. 選擇 Add All,以將全部 SCA 模塊添加到服務(wù)器(圖 46)。


      圖 46. 添加所有模塊

    3. 單擊 Finish。

  2. 通過(guò) WebSphere Integration Developer 組件測試工具啟動(dòng)服務(wù)器。

    1. 從 CreditApproval 模塊的 Assembly Editor 中,右鍵單擊 CreditApproval 組件,并選擇 Test Component,如圖 47 所示。
      圖 47. 啟動(dòng) Test Component 功能

    2. 轉到 Configurations 選項卡并刪除兩個(gè)模擬器,如圖 48 中所示。如果合作伙伴不可用,可以使用模擬器來(lái)進(jìn)行模擬,由于我們有實(shí)際的組件,因此不需要模擬器。


      圖 48. 刪除模擬器

    3. 回到 Events 頁(yè),在 Initial 響應參數中輸入一些輸入數據,如圖 49 中所示,然后單擊 Continue。


      圖 49. 運行組件測試

    4. 在 Deployment Location 對話(huà)框中,選擇 WebSphere Process Server v6.0。(圖 50)


      圖 50. 選擇 WebSphere Process Server 運行時(shí)

  3. 現在我們將對調用路徑和結果進(jìn)行檢查。

    1. 回到 Events 選項卡。從調用路徑中選擇最后一個(gè) Return,以創(chuàng )建結果,如圖 51 中所示。


      圖 51. 選擇 Return

    2. 應該看到與圖 52 類(lèi)似的結果。


      圖 52. 結果

    3. 如果分析調用順序,將會(huì )發(fā)現采用了異步調用:我們沒(méi)有采用“請求-響應-請求-響應”的模式,而是使用了“異步請求-請求-響應-異步響應”模式。(圖 53)


      圖 53. 異步調用路徑

    4. 不保存,直接關(guān)閉測試編輯器并停止服務(wù)器。









本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Building SOA Solutions with SCA - Service Com...
SCA(Service Component Architecture)編程模型入門(mén)
使用JMS和ESB構建強大而可靠的SOA之三
為 WebSphere Application Server 開(kāi)發(fā)企業(yè) OSGi 應用程序
WebSphere ESB 入門(mén):創(chuàng )建 POJO 并將其作為服務(wù)發(fā)布
SOA 案例研究,第 4 部分:業(yè)務(wù)流程場(chǎng)景
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

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