關鍵字:SOA 服務架構
SOA與軟件平臺
在網絡環境下的面向服務的架構中,支持網絡軟件運行的基礎平臺是很重要的,尤其是支持軟件跨平臺運行。Java虛擬機為Java程序的跨平臺運行提供了基礎環境。微軟的.Net技術則充分考慮了企業級應用程序、尤其是由不同編程語言實現的應用程序之間的兼容性和互操作。
我國自主研發的“和欣”操作系統(英文名Elastos)創新性地實現了“CAR構件技術”(CAR,Component Assembly Runtime),提供了高效率的構件/中間件運行環境!昂托馈笔峭耆嫦驑嫾夹g的操作系統,其系統服務器都是以動態鏈接庫的中間件形式提供,如文件系統構件、設備驅動構件、網絡服務構件等。CAR構件技術完全面向下一代網絡服務,提供了Windows、Linux上的構件運行平臺,可實現“和欣”應用程序和CAR構件可以以目標代碼形式在Elastos、Windows(2K/XP/CE)、Linux操作系統上二進制兼容運行。 SOA與信息安全
美國總統信息技術顧問委員會的一份報告《計算機安全:轉折期的研發重點》(《Cyber Security:A Crisis of Prioritization》)中明確提到了:無止境的補丁不是解決問題的辦法。通過修正和重建網絡、計算機系統以及軟件來“增強”安全性和可靠性可能在短期是必要的,但是這些不足以滿足整個國家的網絡的安全要求,很難在已有復雜的系統中增加安全性的要求。即使一切最好的防范措施都被充分地使用,如果對信息安全沒有本質上的改變,我們仍將無止境地修補“堤壩上的漏洞”。因此,全新安全模式的研發需要從基礎軟件架構開始。通過對這些年來的軟件安全問題進行計算模型上的分析,可以看出原有的軟件體系架構已經無法滿足日益復雜軟件系統對安全的要求,新的,更安全的軟件架構呼之欲出,SOA就是新安全體系結構的代表。
傳統的軟件架構并沒有在安全性方面進行系統級支持,這是由于在軟件產業發展的初期,人們更關心的是軟件的功能和效率,而對軟件的安全并不是很重視。隨著計算機和軟件開發技術的普及,軟件的安全隱患陸續暴露出來,從病毒、盜版、到蠕蟲,軟件的安全性面臨巨大的挑戰。PKI就是在這種背景下誕生的安全架構,其部分解決對于信息認證及反盜版方面的問題,但對于原有的軟件體系架構自身的缺陷,PKI仍不能全面保護軟件和信息的安全,這也是大量破解軟件存在的主要原因之一。在反病毒方面也存在同樣的問題,各大反病毒公司不斷推出新的反病毒軟件,發布新的病毒庫,但這一切并沒有防范新的病毒,反病毒公司不斷推出新的防病毒措施,電腦用戶為更新自己的防病毒軟件而疲于奔命,但電腦黑客們總能找到新的系統漏洞而進行攻擊。為什么會出現這種情況?是否有一種更好的信息安全的措施?分析一下傳統軟件的架構可以發現,傳統軟件架構為了保持自由開放的特性,對軟件的執行沒有限制,一旦軟件開始執行,就會獲得相應的系統資源,并且認為軟件的每個組成部分都是可靠的,而不管其中是否已經感染病毒。常見的反病毒軟件也只能在軟件運行前對其進行檢查,而軟件一旦開始運行,各種反病毒措施也就失效。因此,反病毒軟件無法做到真正意義上的防范于未然。
SOA架構為信息安全提供了新的支持平臺。SOA中所提供的服務必需通過權威的認證機構的認證,才能對外發布。這就保證了服務本身的可靠性,當用戶從權威服務提供機構獲得所需服務時,不必再次檢測服務的可靠性,因為安全檢測工作已經由服務提供者完成,這是SOA對服務使用者提供保護。對于向服務器申請服務的用戶來說,其也必需通過相應的安全認證,只有合法的用戶才能獲得相應的服務,這樣SOA對服務提供者也提供保護。在SOA中,軟件的執行過程中不再像過去那樣將要在本地安裝所有的部分,而是動態地從網上根據需要請求服務,軟件的各個部分分散在Internet中,需要時進行動態地組合。這種分散的軟件結構,將安全責任由傳統的軟件使用者全部負擔,轉換為由軟件的使用者和提供者共同負擔,因而明確了責任,降低了單個用戶的安全風險。對于一些不必在用戶端執行的服務,可以在服務方執行,用戶只要知道其結果就可以了,從而進一步降低了安全隱患?偟乜磥,SOA架構同時對服務提供者和服務使用者提供保護,從安全性角度來說是必需的,當然這種保護是以犧牲自由度和效率為代價。
以構件化為主要特征的和欣操作系統,在繼承了SOA在信息安全方面的優勢的同時,又結合Application Domain技術,提高了自由度和執行效率。Application Domain是比較新的技術,其在微軟的新一代操作系統Longhorn中占有重要地位。Application Domain可以根據需要設置域(Domain)中所執行程序的權限,這使得程序的執行必需符合域中所授予的權限,以此達到保護系統的目的。在和欣操作系統中,通過認證的構件可以在權限較高的域中執行,如可以對文件系統進行訪問。而對于沒有通過認證的構件,可以讓其在權限較低的域中執行,如禁止其訪問本地文件。這樣通過域的權限設置,可以將程序的執行控制在限定的范圍內,避免對系統造成危害。這樣就解決了自由度和安全性不能兩全的問題。
總之,SOA是一次信息系統架構上的較大變革,其在提供了強有力的計算資源的同時,也為信息安全提供了系統級的支持。以軟件構件化為基礎的新的計算模型,將對SOA的深度開發與普及起促進作用。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/