萬 火 彭雪陽 張友生
[摘要]虛擬軟件研發(fā)組織(Virtual Software R&D Organization,簡稱:VSR&DO)概念滲透于軟件科研機(jī)構(gòu)所形成的一種VR&DO新模式。這個(gè)觀點(diǎn)是新提出來的,國內(nèi)外學(xué)者對(duì)這種新的vIc&DO組織形式給予了非常高的關(guān)注。講述基于s0A架構(gòu)在虛擬軟件研發(fā)組織中的應(yīng)用。
[關(guān)鍵詞]虛擬組織虛擬研發(fā)研究評(píng)述
中田分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0210069-01
一、簡單介紹虛擬軟件研發(fā)組織和SOA技術(shù)
虛擬軟件研發(fā)組織(Virtual Software R&D Organization,簡稱:VSR&DO)是在虛擬研發(fā)組織(VR&DO)的基礎(chǔ)上提出的來一種更具體的組織架構(gòu)理論,即虛擬研發(fā)組織在傳統(tǒng)軟件研發(fā)領(lǐng)域中的應(yīng)用。本文提出如何采用面向服務(wù)的體系結(jié)構(gòu)(SOA)技術(shù)作為虛擬軟件研發(fā)組織開發(fā)軟件的體系結(jié)構(gòu)。SOA技術(shù)本身具有以下特征:(1)服務(wù)開放性:采用XML、WSDL、SOAP、UDDI等,其他任何系統(tǒng)都可以通過這些標(biāo)準(zhǔn)獲得相應(yīng)的服務(wù);(2)封裝性:作為服務(wù)請(qǐng)求者無需知道服務(wù)提供者提供服務(wù)的具體實(shí)現(xiàn)及核心業(yè)務(wù)流程等;(3)跨平臺(tái)性:SOA技術(shù)采用的是Web開放式的協(xié)議,對(duì)具體不同的服務(wù)平臺(tái)沒有一致性要求;(4)可集成性:通過服務(wù)開放性標(biāo)準(zhǔn)實(shí)現(xiàn)服務(wù)之間互操作和信息的高度集成。
二、SOA體系架構(gòu)
面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA,也叫面向服務(wù)架構(gòu))是指為了解決在Internet環(huán)境下,將分布異地的、松散的業(yè)務(wù)有效集成,通過連接能完成特定任務(wù)的獨(dú)立服務(wù)實(shí)體實(shí)現(xiàn)的一種軟件系統(tǒng)架構(gòu)。SOA是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的服務(wù)接口和契約關(guān)聯(lián)在一起。接口是采用中立的方式進(jìn)行定義的。它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一、標(biāo)準(zhǔn)和通用的方式進(jìn)行交互和集成。
SOA體系的這種三角形架構(gòu)模式(如圖一)主要體現(xiàn)服務(wù)提供者、服務(wù)請(qǐng)求者和服務(wù)注冊(cè)中心之間的關(guān)系??梢杂肑2EE或.NET平臺(tái)實(shí)現(xiàn),完全可以實(shí)現(xiàn)異構(gòu)、跨平臺(tái)的SOA體系架構(gòu)。它們之間的實(shí)現(xiàn)核心關(guān)系如下:
1.服務(wù)提供者按服務(wù)注冊(cè)中心提出的服務(wù)接口規(guī)范設(shè)計(jì)特定的服務(wù)。自行測試,保證每個(gè)服務(wù)的服務(wù)品質(zhì)(QoS,quality of services),通過Internet發(fā)布到服務(wù)注冊(cè)中心,并在UDDI(UniverSAl Description,Definition,and Integration即:統(tǒng)一描述,定義和集成)注冊(cè)中心注冊(cè)。
2.服務(wù)請(qǐng)求者向服務(wù)注冊(cè)中心請(qǐng)求特定的服務(wù),然后服務(wù)注冊(cè)中心根據(jù)請(qǐng)求信息在UDDI注冊(cè)中心查找相應(yīng)的服務(wù)。
3.服務(wù)注冊(cè)中心向服務(wù)請(qǐng)求者發(fā)送滿足條件的服務(wù)描述信息,采用WSDL(Web Services Description Language即:Web服務(wù)描述語言)來描述服務(wù)信息,該語言的格式是XML,因此,任何支持服務(wù)的機(jī)器讀可以閱讀。
4.服務(wù)請(qǐng)求者根據(jù)服務(wù)的WSDL向服務(wù)提供者發(fā)出SOAP調(diào)用信息,以實(shí)行服務(wù)請(qǐng)求者向服務(wù)提供者發(fā)出服務(wù)調(diào)用請(qǐng)求。
5.服務(wù)提供者根據(jù)服務(wù)請(qǐng)求者發(fā)出的SOAP信息來執(zhí)行相應(yīng)的服務(wù),并將結(jié)果以XML的形式返回給服務(wù)請(qǐng)求者。
三、虛擬軟件研發(fā)組織的傳統(tǒng)軟件研發(fā)組織比較
目前主要的軟件開發(fā)組織還是采用傳統(tǒng)模式,所謂傳統(tǒng)模式是指在軟件的研發(fā)中,主力資源在本企業(yè)中,至于與其他軟件企業(yè)、團(tuán)隊(duì)或個(gè)人的合作主要是采用一種外包或采購組件模式,甚至沒有聯(lián)系。該組織方式主要有以下特點(diǎn):(1)集中性:開發(fā)員必須在一起完成項(xiàng)目研發(fā)。研發(fā)中所需的資源比較集中;(2)現(xiàn)場溝通性:軟件研發(fā)參與人員主要采用一種面對(duì)面的溝通方式,來管理及控制軟件研發(fā)過程:(3)模塊外包:軟件研發(fā)中需要特定領(lǐng)域的專業(yè)模塊支持,一般采用外包或聘請(qǐng)專家顧問形式來保證軟件質(zhì)量:(4)知識(shí)產(chǎn)權(quán)集中所有:研發(fā)出來的系統(tǒng)的版權(quán)往往由某個(gè)企業(yè)或個(gè)人所有。隨著市場對(duì)IT行業(yè)的需求日漸龐大,要求新的軟件在集成原有的企業(yè)集成信息系統(tǒng)基礎(chǔ)上能實(shí)現(xiàn)跨地區(qū)、跨行業(yè)的全球信息集成架構(gòu),保證系統(tǒng)的信息共享及互操作。采用傳統(tǒng)模式的軟件研發(fā)組織就顯得力不愿心。因此,為軟件工程探討新的開發(fā)思想提供了又一新頁的歷史背景。
為了能解決當(dāng)前問題,目前采用比較看好的技術(shù)框架就是以SOA設(shè)計(jì)原則的Web服務(wù)。但如何使分布異地的軟件企業(yè)為共同的市場需求,真正充分發(fā)揮s0A架構(gòu)的功效,以此,將該任提交給了虛擬軟件研發(fā)組織(vSR~DO),下文主要討論VSR&DO的特點(diǎn)和SOA如何在之基礎(chǔ)上實(shí)現(xiàn)及相關(guān)問題的研究。
本文開頭就提出了VSR&DO的基本定義。結(jié)合IBM、BERNESOA中豐富的項(xiàng)目案例,經(jīng)分析,VSR&DO主要涵蓋如下特征:(1)跨地區(qū)性:研發(fā)項(xiàng)目中的企業(yè)可以分布在不同的地區(qū),而研發(fā)的方向卻是同一個(gè)目標(biāo);(2)異地溝通性:通常采用先進(jìn)的網(wǎng)絡(luò)通訊技術(shù)來保證開發(fā)員之間溝通及管理,這在一定程度上增加了溝通成本,給管理思想提出了更高的要求及新的管理理念:(3)自治性:分布異地的開發(fā)組織有自己的開發(fā)過程,包括:管理、設(shè)計(jì)、實(shí)現(xiàn)及測試維護(hù)等,面向外界是采用WSDL語言描述的服務(wù)的標(biāo)準(zhǔn)接口;(4)并發(fā)特性:在標(biāo)準(zhǔn)化了服務(wù)接口的架構(gòu)下,每個(gè)服務(wù)可以并行開發(fā),極大的縮短了系統(tǒng)研發(fā)周期。為此,VSR&DO是聚跨企業(yè)、跨地區(qū)的研發(fā)組織各自優(yōu)勢,并肩合作、共承風(fēng)險(xiǎn)、共同謀益,積極快速響應(yīng)及滿足市場需求。SOA架構(gòu)的熱潮,就已經(jīng)受到了許多大公司的青睞及支持。從虛擬軟件研發(fā)組織的本身特征看來,就是一種非常實(shí)際而有效的開發(fā)SOA系統(tǒng)的方式。從它們的本質(zhì)特征分析,兩者的思想也是非常一致。因此,SOA在VSR&DO的應(yīng)用是將來軟件研發(fā)的一種必然趨勢。