亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

實現動態的可重用 SOA

系統 2094 0

隨著 BPEL 的引進,SOA 已有了大的發展,現在可將業務流程(包含原子服務)可編排至可執行文件中。但是就到此為止了嗎,或者說這就是可重用性以及靈活性可以達到的最高程度?

  本文中,我們將介紹:Oracle 服務注冊表 (OSR)。您將從中了解到如何在不犧牲性能的情況下放松緊密耦合的 BPEL 流程,同時創建一個使企業受益的可重用且可發現的文件庫。

設置

  示例場景包含兩個 BPEL 流程:一個主流程 (MasterProcess),它用以調用另一個名為 CalleeProcess 的流程。一般而言,構建場景時,主流程與它的服務通過引用其具體的綁定定義 (WSDL) 緊密耦合。

  創建了 BPEL 流程后,創建者已確定了該流程提供的消息模式。根據其操作,可以是異步或同步。

  請看以下的 CalleeProcess 定義。

  在上述示例中,流程的服務接口提供了一個稱為“process”的操作,該操作在其內部定義了一個輸入 (CalleeProcessRequestMessage) 和一個輸出 (CalleeProcessResponseMessage) 消息。

  此時,BPEL 流程不包含任何有關其所在位置或用何種技術調用它的信息。

  將 BPEL 流程部署到服務后,應實現 WSDL 接口并添加一個物理端點。此時,其定義將由抽象轉為具體。

  現在,流程 (CalleeProcess) 已變成了一個服務,可以通過使用其具體的 WSDL 位置并將將其作為 partnerlink 的基礎,在另一個流程中重用它。

  部署成功后,就可以調用 MasterProcess 了。這將觸發 CalleeProcess 的執行,而其通信是完全在內存中處理的。

將服務綁定從 BPEL 流程剝離

  準備工作完成后,實現松散耦合系統的第一步,就是將實施從 CalleeProcess(從 MasterProcess 調用)的定義中剝離。

  將該模式應用到 BPEL 流程可帶來極大的靈活性,這是因為無需更改流程本身即可更改所使用的特定服務實施。

  在本步驟中,將具體的服務定義注冊到 OSR 后,它在整個企業中都可被發現了。

  根據 UDDI 數據模型,服務是業務(允許按用途分組)的細目。(注意:業務與可視性沒有聯系。)

  只需在 UDDI 業務實體下發布一個 WSDL 就可以添加服務定義(本例中為 CalleeProcess 的服務定義),如下所示。

  完成發布過程后,可將服務定義添加到業務 (DynamicDiscoveryBusiness),為 CalleeProcess 創建一個 UDDI 項,以及添加一個與物理端點的綁定。

  現在,服務注冊表的 UI 中唯一可發現就是物理端點,調用服務需要調用對該端點。要使動態綁定與技術和實施無關,需要添加一個新綁定。該綁定的類型為 wsdlDeployment,它將由 BPEL 引擎在運行時使用。

  現在,可以應用 BPEL 流程并向 BPEL 域添加關鍵信息以實現動態的服務注冊表查詢。首先,需要向 Partnerlink 添加 CalleeProcess 的唯一服務鍵。單擊服務項的細目可找到該鍵。

  正如“利用 ESB 虛擬化 BPEL 流程服務端點”中所述,partnerlink 可包含特定的屬性,用于修改或增強其運行時行為。在本例中,該標志名為 registryServiceKey,它是使 BPEL 服務器在運行時發現 OSR 中具體服務定義的一個 UDDI 唯一標識符。

  實現查詢所需的最后一個信息是配置 BPEL 服務器,包含有關目標 OSR 實例位置 (uddiLocation) 的信息;如果要加強安全性,還可包含用戶名 (uddiUsername) 和口令 (uddiPassword)。

  為什么要應用這些更改?現在,流程與服務的物理實施相分離,流程能夠在運行時查詢 OSR 實例以檢索和調用端點。這意味著,在硬件或軟件發生變化時,不必修改流程配置就可以移動服務,這是因為所有信息都存儲在服務注冊表中。

  最后一步是接受具體的 WSDL,圖片中沒有顯示出 partnerlink。重要的是,BPEL 編譯器 (bpelc) 需要有關操作和類型的信息,以確保部署前的類型完整性。但沒有必要提供所有綁定信息。

  這意味著將使用抽象的 WSDL,而不是提供具體的 WSDL。再次查看流程描述符,其中將揭示其位置。

  如上所示,并不是將 wsdlLocation 屬性指向 CalleeProcess 具體的 WSDL。

  重新編譯和部署流程將實現我們期望達到的松散耦合度。

  該流程沒有包含任何有關用于實施服務的技術或其端點的信息。

結論

  在 MasterProcess 知曉技術以及其調用的流程 (CalleeProcess) 位置的前提下,完全獨立于業務流程實現動態綁定并管理端點和屬性是多么容易呀。

  關鍵信息現在位于可搜索的、符合 UDDI v3 的注冊表中,可在運行時發現這些信息,從而使流程可以提供最大限度的靈活性。盡管引入了另一個組件,但使用方與提供方之間的性能并未降低太多,這應歸功于注冊表精確的內存中查找以及端點調用。

實現動態的可重用 SOA


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 中文字幕一区二区在线观看 | 中文字幕一区二区在线视频 | 国产一区二区三区在线观看精品 | 亚洲欧洲视频在线观看 | 亚洲国产成人久久精品影视 | 欧美一级毛片高清免费观看 | 九九九色视频在线观看免费 | 毛片大全免费观看 | 国产成人精品日本亚洲麻豆 | 五月色婷婷亚洲精品 | 一级淫片免费视频 | 国产一区二区三区不卡免费观看 | 欧美巨大video粗暴 | 国产一级久久久久久毛片 | 中文字幕人成乱码第一页 | 中文字幕日本一区波多野不卡 | 久久午夜青青草原影院 | 久草视频在线播放 | 青青青国产手机免费视频 | 视频在线欧美 | 国产成人乱码一区二区三区 | 五月天婷婷亚洲 | 九色视频网址 | 亚洲成人黄色 | 日日综合网 | 国产a级高清版毛片 | www一级片| 久久免费成人 | 日本中文字幕在线精品 | 免费国产不卡午夜福在线 | 色黄网站成年女人色毛片 | 伊人影音| 国产综合精品久久亚洲 | 欧美日韩免费在线观看 | 亚洲精品在线不卡 | 操片免费 | 精品视频免费在线 | 中国jizz日本| 激情在线观看视频 | 伊人久久中文 | 在线观看日本免费不卡 |