一、SOA概述
SOA是個很獨特的架構,強調協作、復用、本地透明組件和網絡之間的鏈接。它的特點體現在“可重用性”和“互操作性”,使得起能夠為企業解決多方面的問題。通過實現SOA可以帶來很多好處,主要包括以下幾個方面。
(一)效率
將業務流程從“煙囪”狀的、重復的流程向維護成本較低的高度利用、共享服務應用轉變。
(二)響應
迅速適應和傳送關鍵業務服務來滿足市場需求,為客戶、雇員和合作伙伴更高水準的服務。
(三)適應性
更高效地轉入轉出讓整個業務變得復雜性和難度更小,達到節約時間和資金的目的。
二、SOA與Web服務
現在的SOA很大程度上還是依賴Web服務,其影響非常深,以至面向服務的Web服務的概念和技術影響了許多SOA的特征。盡管基于Web服務的SOA還存在著某些限制,但是仍然是理想的架構和技術的組合,它始終可以提供強健的,可重復使用的服務,這樣的服務不僅可以滿足業務需求也可以適應不斷變化的業務需求。
目前,WSDL已經成為訪問任何應用的標準編程接口,而SOAP也成為連接不同應用的標準操作協議。以上這兩個標準給我們開了一個好頭, 因為更多的針對企業級和服務質量方面需求而定制的Web服務規范將越來越多,它們對Web服務的安全、可靠性、事物編制和元數據管理等方面進行了定義。總而言之,Web服務是構建S0A的最佳平臺。
三、SOA安全控制相關技術
(一)Asp.NET應用程序的安全控制
1.基于表單的安全技術
如果在一個WEB站點上設立一個自定義用戶注冊系統,那么可以使用表單驗證。這類驗證的優勢在于它可以把用戶名和密碼保存到任何你所期望的存儲機制中,比如可以把用戶名和密碼保存在Web.Config文件、XML文件或數據庫中。
表單驗證依賴于測覽器Cookie來確定用戶身份。在為一個目錄啟用了一表單驗證后,這個目錄中的頁面就不可以被訪問了,除非用戶擁有存儲在Cookie中的正確授權令牌。
2.基于windows的安全技術
當開發的程序主要為內部網所用,那么可以使用現存的Windows用戶賬號和用戶組來使用Windows驗證。
我們可以使用Windows的驗證來控制用戶對機密信息的訪問。比如,你只想讓開發組中的成員才能訪問開發相關的文檔,那么,可以使用Windows的驗證來防止其他Windows賬號組的成員, 比如外聯部的人員來訪問這些受限文件。但是,如果你正開發的是一個公共用戶注冊和密碼系統,那么使用基于Windows的驗證就不是一個安全的選擇了。在啟用Windows驗證時,就必須為每個要訪問受保護頁面的用戶配置一個Windows用戶賬號。
(二)Web服務安全
Web服務除了給SOA 帶來很多優點之外,也帶來了很多安全隱患。創建一個安全的Web服務要涉及到因特網傳輸、X眥和Web服務安全機制,有部分在創建過程中已經建立好的,比如:傳輸級安全(防火墻、VPN等)、消息級安全(認證令牌)、數據級安全(數字簽名等)、環境級安全(登陸、審核等)。一個好的安全方案則需要花費一定的時間和精力以防止數據被惡意的訪問或篡改。
安全是個非常復雜的領域,充滿著許多為解決不斷出現的威脅而設計的技術與協議。要保護數據,通常要對Web服務進行加密和加密選項的選擇,在進行加密的時候,又要考慮到是否兼容的問題。同樣,確保整個SOA 支持一套技術也是非常關鍵的,一般說來,為了處理S0A中的多種服務與機制,往往需要很多技術結合在一起。通常可以包含安全服務集成接口、安全服務、消息安全、安全傳輸等四層。