監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產(chǎn)品資料
X 關閉

SOA:應該使用BPEL還是ESB

申請免費試用、咨詢電話:400-8352-114

來源:泛普軟件 SOA:應該使用BPEL還是ESB(一)

在設計SOA解決方案時,并不總是清楚應該使用Web服務BPEL流程,還是應使用 ESB中介流。本文將介紹幫助您決定使用哪一個的一些注意事項。

概述

在IBM? SOA參考體系結構中(如圖 1 所示),服務被分組為多個功能區(qū),并通過企業(yè)服務總線(以下稱為ESB)進行通信。在理想情況下,每個功能區(qū)(如流程服務)都是“純”功能區(qū),為了實現(xiàn)關注點分離僅提供了一個服務類。

不過,在現(xiàn)實世界中,存在重疊的任何產(chǎn)品集中通常都包含功能區(qū)。例如,WebSphere Process Server(以下稱為 Process Server)是在參考體系結構中提供流程服務的軟件組件。它是從 WebSphere MQ Workflow、WebSphere Interchange Server 和 WebSphere Business Integration Server Foundation 發(fā)展而來的。為便于用戶升級前代產(chǎn)品,它包括了與舊產(chǎn)品中的功能等效的功能。例如,Interchange Server 包括了業(yè)務對象映射,該對象映射以接口映射形式存在于 Process Server 中。

可以映射流入或流出業(yè)務流程的業(yè)務對象。映射還是 ESB 中的主要功能之一。因此,如果您同時擁有 Process Server 和 ESB,則需要決定應使用哪一個產(chǎn)品解決給定的業(yè)務問題,原因是這些區(qū)域存在重疊。

還存在一些可能使用 Process Server 或 ESB 的其他用例。例如,假設需要使用兩階段提交調(diào)用三個現(xiàn)有服務。這稱為組合服務。在 ESB 中,您可以使用中介流調(diào)用這些服務。中介流是作為事務提交或回滾的。您可以使用 WS-BPEL 微流調(diào)用這三個服務,同時提供事務性。這樣,可以使用這兩種產(chǎn)品作為解決方案。如何決定哪一種產(chǎn)品是正確的?

ESB 概述

ESB 是一種體系結構模式,而不是軟件產(chǎn)品。不同的軟件產(chǎn)品可以構成 ESB。在某些情況下,公司在不同的區(qū)域中使用多種產(chǎn)品,利用特定的功能來滿足其獨特的需求??梢詫⑦@些不同的產(chǎn)品聯(lián)合在一起實現(xiàn) ESB 模式。

概括地講,ESB 具有四個主要功能:

消息路由:將傳入消息發(fā)送到目的地,該目的地通過硬編碼方式連接的邏輯確定或基于內(nèi)容的動態(tài)方式確定。路由是啟用服務虛擬化的關鍵功能。在調(diào)用方和服務之間建立中間層可以在調(diào)用方不知道更改的情況下移動服務的位置。

###NextPa域e###

消息轉(zhuǎn)換:將傳入消息從一種格式轉(zhuǎn)換為另一種格式。例如,可以將逗號分隔的消息轉(zhuǎn)換為 SOAP,這樣可以將數(shù)據(jù)傳遞到 Web 服務。

協(xié)議中介:傳入消息使用不同的協(xié)議從發(fā)出位置發(fā)送。例如,傳入消息可以使用 HTTP,而傳出消息可以使用 WebSphere MQ。

事件處理:事件的傳入消息一般通過發(fā)布和訂閱模型分發(fā)給許多端點。

在給定的事務中,通常會合并這些主要高級功能。例如,傳入消息可能是一個使用 SOAP/HTTP 的 Web 服務調(diào)用,而目的地是需要使用 WebSphere MQ 的固定長度消息格式的遺留系統(tǒng)。必須轉(zhuǎn)換消息、協(xié)調(diào)協(xié)議并且必須將消息路由到正確的位置。

對 ESB 編程通常涉及虛擬環(huán)境,并將邏輯表示為稱為消息流或中介流的連接活動流。這些流都是事務型的,使用的是兩階段提交之類的機制,這樣在失敗時可以回滾整個流,或者在成功時提交整個流。這些流是無狀態(tài)的;通常情況下是消息傳入,流對該消息執(zhí)行各種操作,然后發(fā)送傳出消息。

由于 ESB 的無狀態(tài)事務特性,因此高性能是前提條件。在大型組織中,ESB 每天處理數(shù)百萬條消息的情況并不少見。

IBM 在 ESB 方面提供了多款軟件產(chǎn)品。WebSphere ESB 是基于 WebSphere Application Server Network Deployment 平臺構建的。構建它是為了支持 Web 服務、JMS 和 XML 之類的標準。WebSphere Message Broker(以下稱為 Message Broker)是一種非 J2EE 產(chǎn)品,它支持 WebSphere ESB 中的標準(如 Web 服務),以及許多基于非標準的協(xié)議和數(shù)據(jù)格式。WebSphere DataPower 是一種硬件工具,它可以飛速執(zhí)行 ESB 功能??傊@三種產(chǎn)品都可以用作 ESB 的基礎。

BPEL 概述

OASIS 標準組織已將 Business Process Execution Language (BPEL) 定義為基于標準的方法,使用該方法可以編排由服務構成的業(yè)務流程。2007 年,WS-BPEL 2.0 被批準為標準語言。作為一種執(zhí)行語言,WS-BPEL 定義了如何表示業(yè)務流程中的活動,以及流控制邏輯、數(shù)據(jù)、消息相關性和異常處理等。

IBM 的 WebSphere Process Server(以下稱為 Process Server)包括業(yè)務流編排器(即基于 WS-BPEL 的流引擎)。上一版本稱為 WebSphere Business Integration Server Foundation,該版本也包括 WS-BPEL 支持。

Process Server 包含多個主要功能,其中包括:

業(yè)務流程:流程可以是有狀態(tài)和長時間運行的,或者是事務型微流。長時間運行的流程無法像微流那樣回滾,IP,它們可以使用補償處理程序撤消先前執(zhí)行的活動。流程可用于實現(xiàn)組合服務。

人工任務:業(yè)務流程的一個關鍵部分是能夠?qū)⑷藛T引入該流程。人工任務管理器啟用一些步驟,通過這些步驟可以將人員作為一種服務來調(diào)用。工作流模式是使用 BPEL 擴展通過外部(參與)任務或內(nèi)聯(lián)任務進行支持的。

業(yè)務規(guī)則:集成的規(guī)則引擎允許創(chuàng)建和評估業(yè)務規(guī)則,而不是將決策硬編碼到業(yè)務流程。授權用戶可以使用 Web 瀏覽器更新該規(guī)則。管理員可以激活更新,并將其導出,因此開發(fā)環(huán)境可以與運行時保持同步。

集成 ESB:Process Server 包括完整的 WebSphere ESB 產(chǎn)品。在本文中,我們只介紹 Process Server 的 BPEL 引擎組件。

SCA:Process Server 中的服務調(diào)用是使用服務組件體系結構 (SCA) 規(guī)范完成的。SCA 接口映射可用于調(diào)用其接口與調(diào)用組件不同的服務。接口映射也支持高級功能(如關系)。如果系統(tǒng) A 使用“123”作為客戶標識符,而系統(tǒng) B 使用“ABC”作為客戶標識符,則在這兩個系統(tǒng)之間轉(zhuǎn)換時,您可以使用關系建立“123”到“ABC”的中介,反之亦然。

發(fā)布:2007-04-23 11:53    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:
杭州OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普杭州OA行業(yè)資訊其他應用

杭州OA軟件 杭州OA新聞動態(tài) 杭州OA信息化 杭州OA快博 杭州OA行業(yè)資訊 杭州軟件開發(fā)公司 杭州門禁系統(tǒng) 杭州物業(yè)管理軟件 杭州倉庫管理軟件 杭州餐飲管理軟件 杭州網(wǎng)站建設公司