• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    SOA概覽

    發布: 2008-9-02 15:04 | 作者: 崔曉波 | 來源: http://www.csai.cn  | 查看: 18次 | 進入軟件測試論壇討論

    領測軟件測試網 最近半年以來,在企業級應用開發領域,談論最多的一個詞,恐怕非SOA(Service-Oriented Architecture,面向服務架構)莫屬。那么SOA究竟擁有什么樣的魔力,能夠讓眾多的軟件廠商對他趨之若騖,掀起新的一輪企業架構浪潮。讓我們在本文中一探SOA的究竟。

      那么什么是SOA,讓我們先從基本概念開始講起。

      什么是SOA?

      SOA是一種架構模型,它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統中與軟件代理交互的人為依賴性。

      SOA的關鍵是“服務”的概念,W3C將服務定義為:“服務提供者完成一組工作,為服務使用者交付所需的最終結果。最終結果通常會使使用者的狀態發生變化,但也可能使提供者的狀態改變,或者雙方都產生變化”。

      Service-architecture.com將SOA定義為:“本質上是服務的集合。服務間彼此通信,這種通信可能是簡單的數據傳送,也可能是兩個或更多的服務協調進行某些活動。服務間需要某些方法進行連接。所謂服務就是精確定義、封裝完善、獨立于其他服務所處環境和狀態的函數!

      Looselycoupled.com將SOA定義為:“按需連接資源的系統。在SOA中,資源被作為可通過標準方式訪問的獨立服務,提供給網絡中的其他成員。與傳統的系統結構相比,SOA規定了資源間更為靈活的松散耦合關系!

      Gartner則將SOA描述為:“客戶端/服務器的軟件設計方法,一項應用由軟件服務和軟件服務使用者組成……SOA與大多數通用的客戶端/服務器模型的不同之處,在于它著重強調軟件組件的松散耦合,并使用獨立的標準接口!

      Gartner相信BPM和SOA的結合對所有類型的應用集成都大有助益??“SOA極大的得益于BPM技術和方法論,但是SOA面臨的真正問題是確立正確的企業意識,即:強化戰略化的SOA計劃(針對供應和使用)并鼓勵重用!

      雖然不同廠商或個人對SOA有著不同的理解,但是我們仍然可以從上述的定義中看到SOA的幾個關鍵特性:一種粗粒度、松耦合服務架構,服務之間通過簡單、精確定義接口進行通訊,不涉及底層編程接口和通訊模型。

      需著重注意的是,SOA并不是新生事物??大型IT組織成功構建和部署SOA應用已有多年的歷史??這要比現有的XML和Web服務長很多。IBM CICS和BEA TUXEDO就是過去被用于構建SOA應用的兩種技術范例。

      重點說明的是SOA并不是一種現成的技術,而是一種架構和組織IT基礎結構及業務功能的方法。SOA是一種在計算環境中設計、開發、部署和管理離散邏輯單元(服務)的模型。這一定義闡明了SOA的范圍。

      SOA要求開發人員將應用設計為服務的集合。SOA要求開發人員跳出應用本身進行思考,考慮現有服務的重用,或思索他們的服務如何能夠被其他項目重用!皢为毜摹、“獨立的”、“封裝完善的”服務所具有的一個關鍵的好處是,可以采用多種不同方法將它們組合成較大型的服務,由此來實現重用。

      但是,SOA并不僅僅是一種開發方法??它還具有管理上的優點。例如,現在管理員可直接管理開發人員所構建的相同服務,這遠勝于以往管理單個應用的方式。通過分析服務間的交互,SOA可以幫助企業了解何時以及為什么業務邏輯被切實執行了,這使管理員或分析師能夠有針對性的優化業務流程。

      SOA的基本特征

      SOA的實施具有幾個鮮明的基本特征。實施SOA的關鍵目標是實現企業IT資產的最大化重用。要實現這一目標,就要在實施SOA的過程中牢記以下特征:

    ﹡ 可從企業外部訪問
    ﹡ 隨時可用
    ﹡ 粗粒度的服務接口
    ﹡ 分級
    ﹡ 松散耦合
    ﹡ 可重用的服務
    ﹡ 服務接口設計管理
    ﹡ 標準化的服務接口
    ﹡ 支持各種消息模式
    ﹡ 精確定義的服務契約

      我們現在開始依次討論以上概念。

      1  可從企業外部訪問

      通常被稱為業務伙伴的外部用戶也能像企業內部用戶一樣訪問相同的服務。業務伙伴采用先進的B2B協議(ebXML或RosettaNet)相互合作。當業務伙伴基于業務目的交換業務信息時,他們就參與了一次會話。會話是業務伙伴間一系列的一條或多條業務信息的交換。會話類型(會話復雜或簡單、長或短等)取決于業務目的。

      除了B2B協議外,外部用戶還可以訪問以Web服務方式提供的企業服務。

      2 隨時可用

      當有服務使用者請求服務時,SOA要求必須有服務提供者能夠響應。大多數SOA都能夠為門戶應用之類的同步應用和B2B之類的異步應用提供服務。同步應用對于其所使用的服務具有很強的依賴性。

      許多同步應用通常部署在前臺,其最終用戶很容易受到服務提供者短缺的影響。很多情況下,同步應用利用分布式服務提供者,這樣可以響應更多的用戶請求。但是,隨著提供特定服務功能的服務器數量的增長,出現短缺的可能性也呈指數級上升。

      當相比之下,異步應用要更為穩健,因為其采用隊列請求設計,因此可以容許出現服務提供者短缺或遲滯的情況。異步應用大多數情況下部署在后臺,用戶通常不會覺察到短暫的短缺。大部分情況下異步應用能夠穩健應對短時間短缺,但是長時間短缺則會引發嚴重問題。在服務短缺解決、隊列引擎將罕見的大量工作推到共享的應用資源中時,可能會出現隊列溢出甚至服務死鎖。

      服務使用者要求提供同步服務時,通常是基于其自身理解或使用習慣。在多數情況下,采用異步模型可以達到同樣的效果,但更能夠體現SOA的最佳特性。

      當然,并不是所有情況下都應當采用異步設計模式。但大多數情況下,異步消息可以確保系統在不同負荷下的伸縮性,在接口響應時間不是很短時尤其如此。

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: soa SOA 概覽

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>