程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> CIO的新難題: 認清SOA使用中的五大隱患

CIO的新難題: 認清SOA使用中的五大隱患

編輯:.NET實例教程

   現在是SOA領域動蕩變化的時期,其發展變幻莫測,而這僅僅只是開始。由於服務設計、服務總線、服務治理甚至服務本身都處於不斷變化中,而且各大公司仍在重審這一舞台,因此,人們的立場通常很復雜。對於IT產業中SOA的成熟度和整體狀態,許多人還非常迷惑,但是,可以確定的是,SOA在結合商業和技術方面的潛力的確非凡。
  
    今年,發布了許多SOA的新方案,每一個方案都有其特定的一套目標和期望。很可惜,其中一些方案與成功相距甚遠,一些方案距成功僅僅是一步之遙。但是,對於大多數方案而言,它們都實現了最初的目標,其成功的決定因素是——借鑒那些經歷過失敗項目的人們的寶貴經驗。這些前輩講述他們的經驗教訓,告訴人們在通往SOA道路上所要警惕的重重障礙。
  
    在我們的日常工作中,我們被卷入進度不同、狀態不同的多個項目中。而現在,我們已經看到,很好的SOA變得越來越差,甚至更糟。雖然,問題能夠被解決,錯誤能夠被避免,但是,總是有一種強大的力量把事情拖回到原來的軌道上。很明顯,最佳做法就是:第一時間避免問題和錯誤。
  
    在SOA的使用中存在著隱患,很多人已經被這些錯誤的概念或者做法誤導,那麼,理解這些隱患,能夠幫助你達到深謀遠慮的程度,從而使你在SOA的道路上更加安全的前行。為了使你有一個好的開端,我們已經收集了五種最為常見的、SOA使用中的隱患。
  
    沒有理解SOA的性能需求
  
    松散耦合是需要代價的。當使用Web服務實現松散耦合時,SOA引入了數據處理層,同時也帶來了由這些層所影響到的上層的相關性能。當SOA項目剛開始時,規模較小,因此,構建符合功能和響應要求的、面向服務的解決方案並不復雜。但是,隨著規模的增加,需要添加更多的功能,由此可以預見到,基於信息的通訊量將會大幅度增長。如果事先沒有考慮這一情況,沒有准備好構建環境的話,那麼,就需要對前一階段所做的小規模系統進行必要的遺留處理。
  
    要構建一個成功的面向服務的解決方案,其關鍵是:盡快理解你的解決方案的性能需求、以及基礎架構的性能瓶頸。這意味著測試(如果需要的話,增強)你的構建環境的消息處理能力,並且密切關注服務設計,從而達到傳輸率、傳輸規模以及與其他服務特性之間的一個可接受的平衡點——這一平衡點會影響解決方案的性能。
  
    沒有從XML基礎架構開始
  
    在今天的SOA世界中,每件事情都開始於Web服務。這似乎已經成為公司內部的既成標准,但是它並不完全正確。事實上,在今天的SOA世界中,所有的事情都開始於XML。這才是真正的標准,依據這一標准,許多補充的標准都已經逐漸發展起來,並且形成了實際的數據表示架構。這一標准的核心,奠定了許多Web服務規則的形成基礎,並且促進著SOA的發展。
  
    因此,人們更多地關注於數據在服務之間是如何傳輸的,而經常忽略在服務背後,數據構造和驗證的方式。這一疏忽可能導致無法合理實現SOA的持久化XML數據表示層。對於SOA而言,這一層是基礎,如果它存在著弱點,那麼,所有基於這一層的解決方案都會受到不利影響。
  
    沒有創建一個過渡計劃
  
    如果沒有使用一個詳盡的過渡計劃,那麼,成功遷移的機會將會降低很多。因為,在一個企業內部,服務終端所處位置的范圍將導致環境基礎架構的重新確定,一次差強人意的遷移有可能帶來重大影響。使用過渡計劃,你就能夠控制面向服務和SOA特性,並且進行相應的協調,如此一來,遷移就能夠在技術、架構以及組織層面上,按照計劃進行。
  
    對於一個SOA過渡計劃而言,其典型的組件包括:一個具有重大影響的分析結果(預測SOA的改變程度將如何影響已有資源處理、用戶標准和技術)、過渡架構(目標是SOA,勾畫出一系列通向這一目標的中間過渡狀態)以及推測分析(考慮Web服務和支持技術的未來發展)。
  
    沒有標准化SOA
  
    與其他的架構相同,SOA也需要創建並且執行內部設計標准,以便能夠使人們真正地認識到它的優勢。舉例說明,如果一個項目采用構建面向服務的解決方案,與其他項目不同,那麼,該項目的解決方案的關鍵點將不再是與相關的應用程序保持一致,它可能是需要互操作或者分享某些不可預知的服務。
  
    這可能引發很多問題,包括不匹配的數據表示、含有不規則接口特性和語義的服務契約,以及使用非互補的Web服務擴展(或者是用不同方式實現的擴展)。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved