鐵手劍譜

          上善若水
          數(shù)據(jù)加載中……
          企業(yè)服務(wù)總線(ESB)(6)

          2.3借鑒來自 EAI 和 SOA 的最佳實踐

          在我們繼續(xù)前進并且犧牲我們的先前努力,丟掉前面的每個技術(shù),并且向失敗舉起我們的雙手之前,還有一條路能夠讓我們能夠利用從學(xué)來的寶貴經(jīng)驗,并且仍然遠離偶然架構(gòu)—那就是采用ESB。 集成的最佳實踐,已經(jīng)經(jīng)過對集成Broker的經(jīng)驗被精煉,如今還可以結(jié)合建立于XML、Web Services、可靠的異步消息、以及分布式的ESB集成組件之上的基于標(biāo)準(zhǔn)的架構(gòu)來一起使用。 他們一起形成一個高度分布的、松散耦合的集成架構(gòu),以提供集成Broker的所有主要功能,卻沒有其所有的障壁。

          遠離偶然架構(gòu)并且使用 ESB重構(gòu)到的一個統(tǒng)一的和一致的集成骨干,涉及到下面小結(jié)描述的步驟。

          2.3.1 采用XML

          雖然ESB 確實能夠傳送許多類型的數(shù)據(jù)格式,但是采用XML作為應(yīng)用間交換數(shù)據(jù)的手段 (圖 2-2),如同已經(jīng)被用在一些傳統(tǒng)的 EAI 方式中一樣,可以由很多好處。我們將會在第 4 章中看到,使用XML可以一勞永逸地隔絕全局的數(shù)據(jù)格式和接口的變更和偶然架構(gòu)本身。ESB可以進一步通過檢查XML消息的內(nèi)容,并且控制其向何處提交,有時候還可以改變提交路徑來包括可能會修改和增加數(shù)據(jù)的附加服務(wù),一次來促進業(yè)務(wù)處理。

          figs/esb_0202.gif

          圖表 2?2 ESB 使用XML來作為應(yīng)用間共享數(shù)據(jù)的方式

          2.3.2 采用Web ervices并實現(xiàn) SOA

          以 SOA 的方式來思考和規(guī)劃在向 ESB重構(gòu)的一個基本步驟。如圖 2-3 所示,服務(wù)級接口的引入在提供了一個公共抽象層來創(chuàng)建接口和實現(xiàn)之間的分離。這樣就通過使用一種通用的接口定義機制,比如Web Services描述語言(WSDL),來減輕了由細粒度服務(wù)接口組成的復(fù)合業(yè)務(wù)流程定義的構(gòu)造的難度。

          figs/esb_0203.gif

          圖表 2?3 Web 服務(wù)和 SOA 提供了一個隔離接口和實現(xiàn)的通用抽象層

          雖然服務(wù)級接口的抽象是正確方向上的一步,結(jié)果仍然是一個路由邏輯密合于應(yīng)用之內(nèi)的硬連接 ( 注意在圖 2-3 中,“流程邏輯”仍然黏附于應(yīng)用)。Web Services中的傳統(tǒng)智慧已經(jīng)模仿了客戶/服務(wù)器模式。甚至在一個Web Services分布式網(wǎng)絡(luò)中,一個應(yīng)用總是另一個 “客戶”。范例用法仍然需要抽象層也包括膠水代碼,比如說“調(diào)用服務(wù)X上的方法a,然后調(diào)用服務(wù)Y上的方法 b()….”諸如此類。。

          Web Services實現(xiàn)中所確實的東西是將流程路由邏輯從接口定義和應(yīng)用邏輯中分離出來觀念。如圖 2-4所示,ESB 就提供了那種隔離,并且仍然完全利用SOA。

          figs/esb_0204.gif

          圖表 2?4 ESB 將業(yè)務(wù)流程的路由邏輯從接口定義和應(yīng)用實現(xiàn)中分離出來

          通過分離接口定義和流程路由邏輯,我們已經(jīng)開始看到ESB 形式的總線層(圖 2-5)。通過將流程業(yè)務(wù)路由邏輯和接口定義放入總線層之內(nèi),應(yīng)用能夠繼續(xù)自己集中于實現(xiàn)邏輯。 我們在第 1 章中看到過,ESB 被實際上區(qū)分為多個功能層。它為應(yīng)用間的可靠的、異步的、基于消息的通信提供了一種堅固的底板。也是在這里,流程路由通過基于檢查消息中的XML內(nèi)容來附加的條件決策點,從而變得具具智能。這個智能路由是被可管理地定義的、可以被修改、并且可以加上增值服務(wù),比如補充數(shù)據(jù)變換功能。ESB 提供了一個可擴展的集成服務(wù)網(wǎng)絡(luò),并且可以無限伸展,同時仍然可以以逐漸增加的方式進行構(gòu)建

          figs/esb_0205.gif

          圖表 2?5 ESB 可靠地連接和協(xié)調(diào)SOA 的服務(wù)之間的交互

          posted on 2007-08-17 12:19 鐵手 閱讀(1681) 評論(0)  編輯  收藏 所屬分類: 企業(yè)架構(gòu)WS/SOA/ESB

          主站蜘蛛池模板: 安宁市| 烟台市| 平顶山市| 长乐市| 多伦县| 合肥市| 南华县| 洮南市| 长沙县| 金沙县| 阜阳市| 淄博市| 普宁市| 拉孜县| 哈密市| 福海县| 永寿县| 巢湖市| 平泉县| 栾城县| 盈江县| 益阳市| 五莲县| 海城市| 尉犁县| 博罗县| 桂阳县| 双江| 布拖县| 杭州市| 德阳市| 高碑店市| 来宾市| 本溪市| 嘉鱼县| 筠连县| 灵台县| 漠河县| 大丰市| 淳安县| 海阳市|