隨筆 - 19, 文章 - 93, 評論 - 17, 引用 - 0
          數據加載中……

          SOA的進化(三)--------SOA 的根源(SOA 與過去架構的比較(四))------ 面向服務與面向對象(第Ⅰ部分)

          3.5. 面向服務與面向對象(第 部分)

          注意這一節標以“面向服務與面向對象”,有別于“比較面向服務與面向對象”。 區別在于所強調的事實:在這兩個思想派別之間不必是競爭關系。


          事實上,面向對象編程被普遍用于有 Web 服務內構建封裝應用邏輯。然而,面向對象編程方法論在基本上與面向服務有何,這值得探究。對它們差異的理解會有助于你的工作。

          下面列出這些設計方法方面的比較。(然而面向服務是基于服務的設計,面向對象是圍繞對象的創建為核心。為了避免服務和對象間的比較混亂,使用了“處理邏輯單元”這一術語。)

          l 面向服務強調處理邏輯(服務)單元間的松散耦合。盡管面向對象支持創建復用性、松耦合的編程例程,它們多數是以預先定義的類依賴為基礎,結果導致了更多處理邏輯(對象)的緊密綁定。

          l 面向服務鼓勵不優雅的接口(服務描述)以便于每個通信(消息)包含盡可能多的信息以便于工作完成指定任務。面向對象編程充分支持精確的接口( API )以便通信( RPC 或本地 API 調用)單元能夠執行不同規模的任務。

          l 面向服務期待顯著改變處理邏輯單元(服務)的作用域。面向對象處理邏輯( objects )趨于使其作用域更小且更有針對性。

          l 面向服務促進活動未知的處理邏輯單元(服務)的創建,從而驅動通信單元(消息)的智能化。面向對象鼓勵處理邏輯數據的綁定,產生了高度智能化的單元(對象)。

          l 面向服務偏愛處理邏輯單元 (服務)被設計成盡可能無狀態。面向對象促進數據與邏輯的綁定,導致更具狀態的單元(對象)。(然而,最近基于構件的設計方法偏離了這一趨勢。)

          l 面向服務支持組合松散耦合的處理邏輯單元(服務)。面向對象支持組合但也鼓勵處理邏輯單元( objects )間的繼承,這會導致緊耦合。

          你或許已經注意到我們避免提及特定的面向對象原則,比如封裝、繼承及聚合。因為我們還不會充分描述面向服務的原則,我們在這一層次上給出個別的比較范例。以后將 詳細解釋個別的面向服務原則,然后 再繼續這一討論。

          要點總結

          • SOA 從根本上源自客戶 - 服務器架構。當前 SOA 使用了一些用于構建客戶 - 服務器應用的技術。盡管更加完善, SOA 引進的復雜性也與單純的兩層客戶 - 服務器架構形成了尖銳對比。
          • 分布式互聯網架構已與 SOA 一樣普遍,包括大量的技術。然而,不論是技術還是其基本設計原則, SOA 都具有明顯特征。例如, SOA 引進了不同于分布式互聯網架構的處理與安全需求,而且管理也典型地更加復雜,歸咎于它對基于消息的通信的依賴。
          • 傳統架構已經且可繼續在其自身的設計范式中使用 Web 服務。重要的是不要將這些架構與 SOA 相混淆。在分布式互聯網架構中,發現了典型的對 Web 服務的非 SOA 方式的使用,此處 Web 服務被用于反映 RPC 風格的通信。

          posted on 2006-12-03 09:30 BPM 閱讀(658) 評論(0)  編輯  收藏 所屬分類: SOA

          主站蜘蛛池模板: 军事| 磴口县| 桦甸市| 安阳县| 墨江| 阳高县| 安溪县| 鹿泉市| 平定县| 昌宁县| 平舆县| 浦江县| 久治县| 龙南县| 黄骅市| 大邑县| 涿州市| 定日县| 繁昌县| 香河县| 竹山县| 皮山县| 清河县| 万安县| 喜德县| 紫阳县| 民和| 奈曼旗| 即墨市| 双桥区| 大英县| 中西区| 若羌县| 奎屯市| 册亨县| 平邑县| 苍南县| 布尔津县| 碌曲县| 高唐县| 象山县|