萬 火 彭雪陽 張友生
[摘要]虛擬軟件研發組織(Virtual Software R&D Organization,簡稱:VSR&DO)概念滲透于軟件科研機構所形成的一種VR&DO新模式。這個觀點是新提出來的,國內外學者對這種新的vIc&DO組織形式給予了非常高的關注。講述基于s0A架構在虛擬軟件研發組織中的應用。
[關鍵詞]虛擬組織虛擬研發研究評述
中田分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0210069-01
一、簡單介紹虛擬軟件研發組織和SOA技術
虛擬軟件研發組織(Virtual Software R&D Organization,簡稱:VSR&DO)是在虛擬研發組織(VR&DO)的基礎上提出的來一種更具體的組織架構理論,即虛擬研發組織在傳統軟件研發領域中的應用。本文提出如何采用面向服務的體系結構(SOA)技術作為虛擬軟件研發組織開發軟件的體系結構。SOA技術本身具有以下特征:(1)服務開放性:采用XML、WSDL、SOAP、UDDI等,其他任何系統都可以通過這些標準獲得相應的服務;(2)封裝性:作為服務請求者無需知道服務提供者提供服務的具體實現及核心業務流程等;(3)跨平臺性:SOA技術采用的是Web開放式的協議,對具體不同的服務平臺沒有一致性要求;(4)可集成性:通過服務開放性標準實現服務之間互操作和信息的高度集成。
二、SOA體系架構
面向服務的體系結構(Service-Oriented Architecture,SOA,也叫面向服務架構)是指為了解決在Internet環境下,將分布異地的、松散的業務有效集成,通過連接能完成特定任務的獨立服務實體實現的一種軟件系統架構。SOA是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的服務接口和契約關聯在一起。接口是采用中立的方式進行定義的。它應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以一種統一、標準和通用的方式進行交互和集成。
SOA體系的這種三角形架構模式(如圖一)主要體現服務提供者、服務請求者和服務注冊中心之間的關系。可以用J2EE或.NET平臺實現,完全可以實現異構、跨平臺的SOA體系架構。它們之間的實現核心關系如下:
1.服務提供者按服務注冊中心提出的服務接口規范設計特定的服務。自行測試,保證每個服務的服務品質(QoS,quality of services),通過Internet發布到服務注冊中心,并在UDDI(UniverSAl Description,Definition,and Integration即:統一描述,定義和集成)注冊中心注冊。
2.服務請求者向服務注冊中心請求特定的服務,然后服務注冊中心根據請求信息在UDDI注冊中心查找相應的服務。

3.服務注冊中心向服務請求者發送滿足條件的服務描述信息,采用WSDL(Web Services Description Language即:Web服務描述語言)來描述服務信息,該語言的格式是XML,因此,任何支持服務的機器讀可以閱讀。
4.服務請求者根據服務的WSDL向服務提供者發出SOAP調用信息,以實行服務請求者向服務提供者發出服務調用請求。
5.服務提供者根據服務請求者發出的SOAP信息來執行相應的服務,并將結果以XML的形式返回給服務請求者。
三、虛擬軟件研發組織的傳統軟件研發組織比較
目前主要的軟件開發組織還是采用傳統模式,所謂傳統模式是指在軟件的研發中,主力資源在本企業中,至于與其他軟件企業、團隊或個人的合作主要是采用一種外包或采購組件模式,甚至沒有聯系。該組織方式主要有以下特點:(1)集中性:開發員必須在一起完成項目研發。研發中所需的資源比較集中;(2)現場溝通性:軟件研發參與人員主要采用一種面對面的溝通方式,來管理及控制軟件研發過程:(3)模塊外包:軟件研發中需要特定領域的專業模塊支持,一般采用外包或聘請專家顧問形式來保證軟件質量:(4)知識產權集中所有:研發出來的系統的版權往往由某個企業或個人所有。隨著市場對IT行業的需求日漸龐大,要求新的軟件在集成原有的企業集成信息系統基礎上能實現跨地區、跨行業的全球信息集成架構,保證系統的信息共享及互操作。采用傳統模式的軟件研發組織就顯得力不愿心。因此,為軟件工程探討新的開發思想提供了又一新頁的歷史背景。
為了能解決當前問題,目前采用比較看好的技術框架就是以SOA設計原則的Web服務。但如何使分布異地的軟件企業為共同的市場需求,真正充分發揮s0A架構的功效,以此,將該任提交給了虛擬軟件研發組織(vSR~DO),下文主要討論VSR&DO的特點和SOA如何在之基礎上實現及相關問題的研究。
本文開頭就提出了VSR&DO的基本定義。結合IBM、BERNESOA中豐富的項目案例,經分析,VSR&DO主要涵蓋如下特征:(1)跨地區性:研發項目中的企業可以分布在不同的地區,而研發的方向卻是同一個目標;(2)異地溝通性:通常采用先進的網絡通訊技術來保證開發員之間溝通及管理,這在一定程度上增加了溝通成本,給管理思想提出了更高的要求及新的管理理念:(3)自治性:分布異地的開發組織有自己的開發過程,包括:管理、設計、實現及測試維護等,面向外界是采用WSDL語言描述的服務的標準接口;(4)并發特性:在標準化了服務接口的架構下,每個服務可以并行開發,極大的縮短了系統研發周期。為此,VSR&DO是聚跨企業、跨地區的研發組織各自優勢,并肩合作、共承風險、共同謀益,積極快速響應及滿足市場需求。SOA架構的熱潮,就已經受到了許多大公司的青睞及支持。從虛擬軟件研發組織的本身特征看來,就是一種非常實際而有效的開發SOA系統的方式。從它們的本質特征分析,兩者的思想也是非常一致。因此,SOA在VSR&DO的應用是將來軟件研發的一種必然趨勢。