• <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-2-25 14:01 | 作者: ling | 來源: CCW | 查看: 13次 | 進入軟件測試論壇討論

    領測軟件測試網 SOA與構件技術、軟件工程、軟件平臺、信息安全、可信賴計算、軟件產業等六個領域的關系既是SOA核心理念,也是其發展與應用的基礎。
      
      應用需求的快速發展帶動了計算機網絡技術的快速發展,其直接結果是產生了當前炙手可熱的網絡服務(Web Service)技術,如何合理地把Web服務應用到各類企業的IT系統和商業流程之中、并給企業帶來直接的經濟效益,一直是備受國內外企業管理者高度關注的課題。面向服務架構(SOA,Service-oriented architecture)就是在此背景下出現的,SOA被譽為下一代Web服務的基礎框架,目前已經成為計算機信息領域的一個新的發展方向。
       
      1996年,Gartner最早提出SOA的思想,2002年12月,Gartner提出SOA是“現代應用開發領域最重要的課題”,預計到2008年,SOA將成為占有絕對優勢的軟件工程實踐方法。Gartner為SOA描述的遠景目標是:在于讓IT變得更有彈性,以更快地響應業務單位的需求,實現實時企業(Real-Time Enterprise)。一些IT組織已經成功建立并實施SOA應用軟件了,IBM等廠商也看到了它的價值,繼而紛紛跟進。

      SOA與構件技術

      研究SOA,不能不關注軟件構件技術,“基于構件技術提供網絡服務”是SOA的重要思想起源,做SOA研發的公司無不對構件技術有一定研究。
      
      在SOA架構中,流動的應該是構件,而不是已經集成在一起的整個系統軟件。一個用戶選擇了一款軟件,一般都有定制的要求,尤其是系統管理軟件,如ERP、CRM等。構件化技術為不同用戶的定制要求提供了可能,把常用功能做成可供選擇的構件,用戶就有了更為靈活的選擇。沒有構件化時,軟件系統的各個部分是緊密結合在一起的,因而會“牽一發而動全身”,采用了構件化技術后,軟件的各個功能模塊就可以獨立地實現、升級,而不會影響系統整體。
      
      構件技術與構件化的概念是有區別的,構件化的關注點不在于構件本身的技術實現,而在于如何把應用系統分解成穩定、靈活、可重用的構件,在于如何利用已有的構件庫組裝出隨需應變的應用軟件,從一個面向構件的環境中去分析應用,如何做出靈活、重用的構件來思考。構件化的目的在于帶動軟件工業化。
      
      但是,構件技術則是構件化的基礎,它為構件的工廠化生產提供技術保障。傳統的軟件方法學是從面向機器、面向數據、面向過程、面向功能、面向數據流等反映問題的本質;而構件技術關注的是在軟件已經可用的情況下,在高層次上的復用,如分布式異構互操作;跇嫾能浖O計方法學把應用和實現分離,提供標準接口和框架,使軟件開發變成構件的組合;跇嫷能浖椒▽W是以接口為中心、面向行為、基于體系結構設計的,它要求:對構件件要有明確的定義;用構件描述語言和規范,如UML、微軟COM構件技術中的IDL、科泰世紀CAR構件技術的CDL。
      
      在基于對象模型描述的計算機網絡系統中,對象是最基本的概念,分布協同的基本單元就是這些對象構件。對象之間只能通過預先定義好的接口訪問,這些接口構成連接客戶和服務器的協議。任何對象都可向其他對象請求或提供服務。SOA是一種基于對象的構件計算模型,它將不同的功能單元通過預先定義好的接口和契約聯系起來。SOA的構件計算模型決定了軟件系統構架。在一個SOA系統中,提供具體服務的是一個實現相應功能的構件。

      SOA與軟件工廠

      作為面向服務的體系架構,當眾多用戶多次重用同一構件、或者需要在不同構件間進行互操作時,SOA需要提供一套統一的軟件標準或協議,用工業化生產的角度來看,SOA架構需要支持軟件的工廠化生產。

      如果把軟件比喻成工業化產品,軟件工廠技術則包括軟件零件的生產、下載、組裝、使用、銷毀等重要環節,軟件工廠的本質在于提供一套統一的軟件規范:包括在各個環節中的軟件接口、標準或協議的制定原則、軟件零件的生產規范、網絡構件的下載與安全管理、軟件零件的組裝規則、組裝完成后的運行機制、運行完成后的清理或銷毀原則等。只要大家依照這些規范進行開發,就能夠保證軟件間的兼容性和互操作性,提高軟件的開發效率和質量。
       
      經過幾十年的發展,軟件編程理念經歷了隨意編程、面向結構、面向對象、面向構件、面向Web服務等階段。相比之下,Web服務最為驚心動魄。Web服務之前的軟件體系結構,功能重用主要是通過源代碼級的封裝、繼承等特性來實現;而Web服務則是通過基于動態目標代碼級的封裝、繼承,及元數據的自描述技術、AOP技術等來實現的。
       
      軟件工廠條件下的軟件積木式拼裝和零件化生產技術不斷成熟,理想的軟件工廠技術的標志性特征是基于目標代碼模塊的動態拼裝、動態運行、動態管理。以目標代碼為基本軟件模塊,展開對同一應用軟件的跨操作系統平臺研究、展開同一應用軟件的跨不同系統的集成運行環境的研究、展開不同應用程序之間的二進制兼容與互操作研究,這些都是促進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的深度開發與普及起促進作用。
      
      SOA與可信賴計算

       可信賴計算的最終目標是保護計算機資源(硬件、軟件和數據)被合法用戶安全使用,禁止非法用戶隨意使用計算機資源;保護計算機軟件和數據不受非法用戶破壞、更改和泄露,即使計算機被盜,也能防止信息泄漏。
       
      為了提高計算機的安全防護能力,Intel、微軟、IBM等發起成立了TCPA (Trusted Computing Platform Alliance)可信賴計算平臺聯盟,并定義了具有安全存儲和加密功能的TPM(Trusted Platform Module)可信賴平臺模塊,發布了基于硬件子系統的可信賴計算平臺標準。該標準通過在主機中嵌入一個硬件計算引擎來防止非法用戶對數據進行修改,比常見的身份認證和數據加密方式技高一籌。后來微軟另立門戶發布了代號為“智慧女神”的可信賴計算計劃(Trustworthy Computing),目標與TCPA如出一轍:建立一個可防止數據非法泄漏的電腦安全架構,保護用戶的關鍵數據!爸腔叟瘛币彩窍葟募友b安全芯片入手,然后由Windows操作系統內核中增加的安全模塊予以支持。
       
      2002年底,IBM發布了第一款帶有嵌入式安全子系統ESS(Embedded Security Subsystem)的筆記本電腦。2003,TCPA的核心成員將TCPA改組,更名為TCG(Trusted Computing Group,可信賴計算集團)。

      在一個聯網環境,可信賴計算對數字版權保護是十分重要的,TCG/“智慧女神”的真正用意是實現DRM(數字版權保護),對用戶的計算機應用軟件使用情況進行監控,DRM會讓用戶無法使用未經授權的軟件,也無法自由播放、復制帶有版權標記的音樂和數字電影。
      
      可以看出可信賴計算具有十分廣闊的前景,沒有可信賴的計算支持,在上面就很難搭出符合現代版權保護要求的商務模型。同樣缺少了可信賴技術,以租用軟件、租用服務為基礎特征的SOA也將很難取得真正的商業應用。根據目前的中國的信息系統復雜程度看,一個企業內部的信息系統完全采用SOA,還顯得有些困難。如何平穩的將現有的信息系統過渡到SOA,是各大IT公司面臨的主要挑戰。和欣操作系統和CAR構件平臺,為這種過渡提供了一種選擇。
      
      SOA與軟件產業

      SOA作為新一代的軟件構架,在未來5~10年里將給軟件產業帶來革命性的變化。在SOA時代,任何一個大的應用軟件系統,都不再由一個軟件開發商獨立完成,而是由不同廠商生產的基于基礎標準和接口的中間件相互協作完成。到時會出現各種消息通信、內容管理系統、工作流引擎,身份認證提供者、整合應用和門戶服務器等不同類型的中間件廠商。隨著SOA的標準化,每種中間件的生產廠商的數量會逐漸減少。每個廠商也只會專注于一種或幾種中間件,努力提高中間件性能和質量。從軟件產業總體上看,這將降低軟件開發成本,提高軟件質量,大大減少目前各軟件廠商之間相同軟件部分重復開發的問題。
       
      對于軟件客戶來說,SOA可以為客戶解決“信息孤島”問題,并能提供隨需應變的服務。SOA通過將原有的應用和資源轉變為可共享的標準服務,打破了“信息孤島”。企業決策者只需要根據企業的策略來定制流程,把應用作為服務“拿來就用”,而無需考慮底層的集成。這樣就可以實現IT和企業業務之間的同步。SOA要求開發者超越應用來思考,并考慮復用現有的服務或者檢查如何讓服務被重新利用。SOA鼓勵使用可替代的技術和消息機制,通過把服務聯系在一起來滿足應用。這種基于消息機制的應用允許公司可通過調整使用已有的服務模式而非被迫進行大規模新的應用代碼開發。這樣客戶可以在商業環境許可的時間內對變化的市場做出快速的響應。SOA在企業信息化方面有著明顯的優勢,為軟件產業帶來新的需求和市場。
       
      但是現階段SOA的發展仍然存在著標準化、安全、服務粒度、企業管理等等不足。其中標準化不足是制約SOA發展的重要因素。Web服務是實現SOA最好的方式,但Web服務本身還有很多不成熟的方面。除了SOAP和WSDL相對成熟外,在可靠消息傳遞、安全Web服務、Web事務處理等方面的標準還有待完善,無論UDDI、ebXML、UBL等在定義業務方面都還需要走很長的路。
       
      目前國內建設電子政務、ERP等等大型信息系統工程,關注更多的是硬件及DBMS、應用服務器這樣的大型系統軟件。軟件供應商們應盡量讓客戶重視基礎信息標準化,為基于SOA的應用提供堅實基礎。

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

    TAG: soa SOA


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>