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

SOA:應(yīng)該使用BPEL還是ESB

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

來(lái)源:泛普軟件 SOA:應(yīng)該使用BPEL還是ESB(一)

在設(shè)計(jì)SOA解決方案時(shí),并不總是清楚應(yīng)該使用Web服務(wù)BPEL流程,還是應(yīng)使用 ESB中介流。本文將介紹幫助您決定使用哪一個(gè)的一些注意事項(xiàng)。

概述

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

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

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

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

ESB 概述

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

概括地講,ESB 具有四個(gè)主要功能:

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

###NextPa域e###

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

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

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

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

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

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

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

BPEL 概述

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

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

Process Server 包含多個(gè)主要功能,其中包括:

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

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

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

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

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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