• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
            數(shù)據(jù)加載中……

            在企業(yè)級 SOA 中使用 Web 服務(wù),第 4 部分: 使用 Rational 開發(fā)工具構(gòu)建 SOA 中間件應(yīng)用程序

            對構(gòu)建企業(yè)面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)中間件應(yīng)用程序感興趣嗎?Judith Myerson 將向您提供四種可能的方法:自頂向下 (top-down)、自底向上 (bottom-up)、旁路 (sideway) 和嵌入式 (embedding),同時幫助您探究每種方法的各種利弊。您還會了解到如何確定中間件應(yīng)用程序可以支持的共享 SOA 的最大數(shù)目。

            引言

            在我的關(guān)于企業(yè)級 SOA 系列的第一篇文章“在企業(yè)級 SOA 中使用 Web 服務(wù),第 1 部分: 使用多重 SOA 來消除企業(yè)系統(tǒng)之間的差異”中,我曾談及使用 SOA 消除企業(yè)系統(tǒng)差異的場景,展示了如何重用來自一個或多個 SOA 的 Web 服務(wù)(以數(shù)據(jù)為中心且具有業(yè)務(wù)邏輯),以及如何將它們組合到組織控制之下的一個復(fù)合應(yīng)用程序中。

            在第二篇文章“在企業(yè)級 SOA 中使用 Web 服務(wù),第 2 部分: 使外部 Web 服務(wù)互操作性最優(yōu)”中,我給出了不引起多重 SOA 過載的服務(wù)互操作性實(shí)例,從簡單的協(xié)議共存到復(fù)雜的多平臺互操作性。并且您了解了如何更改每個 Web 服務(wù)的服務(wù)類型、位置和平臺來實(shí)現(xiàn)原始應(yīng)用程序的業(yè)務(wù)流程。

            本系列的第三部分“在企業(yè)級 SOA 中使用 Web 服務(wù),第 3 部分: 將您的 SOA 合并成三維的整合中心以提高速度和可靠性”中,我解釋了您可以如何將 Web 服務(wù)和非 Web 服務(wù)的多重 SOA 合并成單個三維的集成中心來連接到各種后端企業(yè)大型機(jī)系統(tǒng)。在本文中,我將解釋您可以如何使用來自 IBM? Rational? 軟件的開發(fā)工具在三維空間中開發(fā)企業(yè) SOA 中間件應(yīng)用程序。同時您還將了解到如何將 Web 服務(wù)組件組合成跨多重 SOA 的中間件應(yīng)用程序,以及如何使用下面四種不同的方法來開發(fā)它們:

            • 自頂向下
            • 自底向上
            • 旁路
            • 嵌入式

            讓我們首先從物理和邏輯的角度研究每種方法。







            邏輯和物理 Web 服務(wù)

            物理 Web 服務(wù)即在存儲庫中所發(fā)布和找到的 Web 服務(wù)。創(chuàng)建一個邏輯 Web 服務(wù)后,可以繼續(xù)將一個邏輯 Web 服務(wù)與另一個物理 Web 服務(wù)組合起來,創(chuàng)建一個新的邏輯 Web 服務(wù)以供使用。之后,您可以將最后得到的邏輯 Web 服務(wù)與另一個物理或邏輯 Web 服務(wù)組合起來。您也可以將邏輯 Web 服務(wù)轉(zhuǎn)換成物理 Web 服務(wù)組件,以在存儲庫中發(fā)布和發(fā)現(xiàn)它們。

            通過定義中間件應(yīng)用程序的業(yè)務(wù)模型和物理 Web 服務(wù)組件的業(yè)務(wù)模型之間的關(guān)系,您可以創(chuàng)建邏輯 Web 服務(wù)的 SOA 中間件應(yīng)用程序。為此,您可以使用 Rational Software Architect 和 Rational Software Modeler 中的一個或同時使用它們來支持使用統(tǒng)一建模語言(Unified Modeling Language,UML)的模型驅(qū)動 (model-driven) 開發(fā),以及支持分別記錄系統(tǒng)的不同視圖的 UML 可視化建模設(shè)計(jì)。







            自頂向下方法

            自頂向下方法從 Web 服務(wù)或非 Web 服務(wù)中間件應(yīng)用程序金字塔(請參見圖 1)的頂端開始。您需要將其劃分成更小的 Web 服務(wù)或組件,在金字塔的每個低層繼續(xù)這個過程,直到最小的部分或組件到達(dá)金字塔的底部為止。系統(tǒng)的所有部分都將順利地集成在一起并進(jìn)行互操作。


            圖 1. 自頂向下方法
            自頂向下方法

            然而,互操作性可能具有不同的含義,這取決于應(yīng)用程序的預(yù)定用途。例如,如果應(yīng)用程序是以數(shù)據(jù)為中心,那么互操作性就是以數(shù)據(jù)為中心的。但是如果應(yīng)用程序的主要目標(biāo)是實(shí)現(xiàn)業(yè)務(wù)流程,那么互操作性就是基于流程的。

            現(xiàn)在,讓我們從邏輯的角度來研究自頂向下方法。自頂向下方法考慮由企業(yè) SOA 中間件應(yīng)用程序組成的應(yīng)用程序的目標(biāo)。這個目標(biāo)又分成子目標(biāo),每個子目標(biāo)更進(jìn)一步分成更小的單元。這個過程一直繼續(xù)下去,直到達(dá)到 SOA 中間件應(yīng)用程序的金字塔的底部為止。

            顯然,確保所有子目標(biāo)都順利地進(jìn)行互操作非常重要。如果目標(biāo)針對的是提供一個服務(wù)或一組服務(wù),那么服務(wù)互操作性就成為首要關(guān)注的事情。然而,如果目標(biāo)針對的是實(shí)現(xiàn)策略和規(guī)則,那么我們就需要將重點(diǎn)放在策略的互操作性上。

            在現(xiàn)實(shí)世界中,并不存在單純的以數(shù)據(jù)為中心、基于流程或策略互操作性。相反,我們通常碰到的都是數(shù)據(jù)、流程、服務(wù)和策略互操作性混合在一起。每種互操作性類型所占的比例可以動態(tài)地變化,這取決于每個 Web 服務(wù)如何模塊化、設(shè)置優(yōu)先級、最優(yōu)化,以及如何通過松耦合的方式使彼此的交互達(dá)到最大程序。同樣,它也依賴于 Web 服務(wù)所運(yùn)行的平臺(例如開放的 Eclipse 體系結(jié)構(gòu))。







            自底向上方法

            從物理的角度來說,自底向上方法將基本的 Web 服務(wù)組件定義為最小的基礎(chǔ)部分。這使您可以將它與上一層更大的元素組合在一起,繼續(xù)這個過程,直到所有部分都在金字塔頂點(diǎn)處集成為一個完整的復(fù)雜 Web 服務(wù)和關(guān)系的中間件應(yīng)用程序?yàn)橹梗鐖D 2 所示。


            圖 2. 自底向上方法
            自底向上方法

            這個物理角度假定系統(tǒng)的所有部分都可以順利地進(jìn)行互操作。互操作性的含義依賴于 Web 服務(wù)交互的類型:以數(shù)據(jù)為中心、業(yè)務(wù)流程或組合。應(yīng)用程序之間互操作性的每種類型所占的比例可以動態(tài)地變化。

            從邏輯的角度來說,自底向上方法從作為 SOA 企業(yè)目標(biāo)的基礎(chǔ)構(gòu)件的子目標(biāo)(例如服務(wù)組件)開始。作為一名開發(fā)人員,您可以與分析人員一起,將它們組合成上一層的更大目標(biāo)。繼續(xù)這個過程,直到所有的子目標(biāo)都在金字塔的頂點(diǎn)處集成為一個 SOA 中間件的企業(yè)目標(biāo)為止。

            確保所有的子目標(biāo)都將順利地進(jìn)行交互非常重要。如果子目標(biāo)針對的是提供一個服務(wù)或一組服務(wù),我們首要關(guān)注的事情就是子目標(biāo)之間的服務(wù)互操作性。然而,如果子目標(biāo)針對的是實(shí)現(xiàn)策略和規(guī)則,那么我們關(guān)心的事情就變成子目標(biāo)之間的策略互操作性。







            旁路方法

            從物理的角度來說,旁路方法(如圖 3 所示)允許您在自頂向下或自底向上方法的旁路添加或刪除 Web 服務(wù)組件。這使您能夠在保持現(xiàn)有中間件完整的同時,更好地響應(yīng)變更的設(shè)計(jì)和開發(fā)需求。旁路角度假定要添加的組件將可以與現(xiàn)有的組件順利地交互。同樣,它也假定要刪除的組件將不會破壞剩余組件之間的互操作性。


            圖 3. 旁路方法
            旁路方法

            從邏輯的角度來說,旁路方法使您能夠從在自頂向下或自底向上方法的旁路添加邏輯 Web 服務(wù)的子目標(biāo)開始。這使您可以添加諸如新的 Web 服務(wù)的服務(wù)類型和位置這樣的子目標(biāo)。您可以使用任一方法的旁路從邏輯 Web 服務(wù)中刪除子目標(biāo)。

            您還可以更改 Web 服務(wù)的子目標(biāo),以便重用它來開發(fā)各種中間件應(yīng)用程序。請確保在邏輯上添加、刪除或者更改子目標(biāo)時,Web 服務(wù)之間的互操作仍然能夠在生產(chǎn)環(huán)境中順利地進(jìn)行。您還需要確保在測試環(huán)境中運(yùn)行的 Web 服務(wù)能夠順利地出色工作。







            嵌入式方法

            從物理和邏輯的角度來說,嵌入式方法是上述三種方法的混合,至少要嵌入金字塔某層中的兩級或三級深。在這個嵌套、兩級嵌入式方法示例中,您可以在自底向上方法中嵌入自頂向下方法(請參見圖 4),或者反過來。您也可以在自頂向下或自底向上方法中嵌入旁路方法。


            圖 4. 嵌入式方法
            嵌入式方法

            您可以獲得三級嵌套的嵌入式方法。例如,通過將旁路方法嵌入到自頂向下方法,接著嵌入到自底向上方法,您可以做到這一點(diǎn)。您也可以將自頂向下方法嵌入到第二個自頂向下方法,接著再嵌入到自底向上方法。







            決定使用哪種方法

            在開放的體系結(jié)構(gòu)中開發(fā) SOA 中間件應(yīng)用程序依賴于(舉例)您想要使用哪種關(guān)系型或 WebSphere? 包。正如前面提到的,您可以使用 Rational Software Architect 和 Rational Software Modeler 來對企業(yè) SOA 中間件進(jìn)行建模,將 Web 服務(wù)當(dāng)作對象、關(guān)系實(shí)體或者兩者的混合。您也可以使用 Rational Web Developer for WebSphere Software for Linux?、Windows? 2000、Windows 2003 Server 和 Windows XP 來簡化您的 Web 服務(wù)開發(fā)。







            結(jié)束語

            開發(fā)企業(yè) SOA 中間件需要事先計(jì)劃好可以將多少 SOA 作為中間件應(yīng)用程序組合在一起。最好就使用哪些方法開發(fā)中間件的問題與業(yè)務(wù)分析人員小組進(jìn)行溝通。您還將發(fā)現(xiàn),解決了這些問題使開發(fā)企業(yè) SOA 中間件更加容易。您可以為中間件應(yīng)用程序開發(fā)這樣的 SOA,它們既重用,又可以交互和集成。而且通過事先決定使用哪些方法或方法的組合,使分析人員設(shè)計(jì)和分析中間件的工作變得簡單。分析人員能夠確定使用哪種方法以及將多少個 SOA 組合在一起,因?yàn)橹虚g件基于它們之間各種類型的互操作性,并且可能引起企業(yè) SOA 過載。

            posted on 2006-04-17 03:32 wsdfsdf 閱讀(193) 評論(1)  編輯 收藏 引用 所屬分類: 技術(shù)文章

            評論

            # re: 在企業(yè)級 SOA 中使用 Web 服務(wù),第 4 部分: 使用 Rational 開發(fā)工具構(gòu)建 SOA 中間件應(yīng)用程序  回復(fù)  更多評論   

            這篇文章主要講了如何將 Web 服務(wù)組件組合成跨多重 SOA 的中間件應(yīng)用程序,以及如何使用下面四種不同的方法來開發(fā)它們:

            1.自頂向下
            2.自底向上
            3.旁路
            4.嵌入式

            在開放的體系結(jié)構(gòu)中開發(fā) SOA 中間件應(yīng)用程序依賴于(舉例)您想要使用哪種關(guān)系型或 WebSphere® 包。
            2006-04-24 21:00 | Tory
            久久国产三级无码一区二区| 久久久久久精品免费看SSS| 日韩av无码久久精品免费| 亚洲中文久久精品无码| 久久天堂电影网| 久久人人添人人爽添人人片牛牛| 无码人妻精品一区二区三区久久| 久久久免费精品re6| 久久精品国产99久久久香蕉| 久久久久人妻一区二区三区| 91久久精品国产免费直播| 一级做a爰片久久毛片看看| 久久精品国产精品青草| 久久国产亚洲精品| 伊人久久免费视频| 三上悠亚久久精品| 伊人 久久 精品| 久久99久久成人免费播放| 久久午夜无码鲁丝片| 国产精品久久久久免费a∨| 午夜不卡888久久| 国产成人精品久久免费动漫| yy6080久久| 中文字幕亚洲综合久久菠萝蜜| 99久久国产主播综合精品 | 欧美成a人片免费看久久| 99久久免费国产精品热| 久久99精品国产麻豆| 无码国产69精品久久久久网站| 欧美久久久久久午夜精品| 久久最近最新中文字幕大全| 国产人久久人人人人爽| 久久99热只有频精品8| 亚洲va国产va天堂va久久| 中文国产成人精品久久不卡 | 色婷婷综合久久久久中文| 久久人人青草97香蕉| 亚洲精品视频久久久| 欧美日韩精品久久久久| 无码日韩人妻精品久久蜜桃| 无码专区久久综合久中文字幕 |