面向服務(wù)構(gòu)架的軟件開發(fā)將對軟件開發(fā)團(tuán)隊(duì)的角色帶來一系列的轉(zhuǎn)變:未來的應(yīng)用軟件開發(fā)員將是模型師、裝配師、協(xié)調(diào)師與測試員,而不只是程序員。
今后五年,軟件開發(fā)的關(guān)鍵主題將是整合、再利用和戰(zhàn)略采購。所有這三個方面反映了首席信息官的當(dāng)務(wù)之急,即削減成本、提高組織適應(yīng)性及證明他們能夠提供金錢價值。但所有這三個主題也對內(nèi)部軟件開發(fā)團(tuán)隊(duì)的角色產(chǎn)生顯著影響,對傳統(tǒng)編程和編碼技能的需求開始衰退,而商業(yè)進(jìn)程、設(shè)計與整合專業(yè)技能進(jìn)入支配地位。
大多數(shù)企業(yè)將繼續(xù)開發(fā)一些新型軟件,并通過這些軟件提供差異化的業(yè)務(wù)服務(wù)以提高企業(yè)的核心競爭優(yōu)勢;而且,他們也將對購買的商業(yè)軟件包進(jìn)行必要的定制,以提供一些通用的功能,如人事資源管理等。但許多公司認(rèn)為再也沒有必要進(jìn)行內(nèi)部開發(fā)活動。一些公司會雇傭本地顧問或系統(tǒng)集成商來幫助他們解決這一問題,更多公司則尋求海外外包的可能性。
Datamonitor研究公司技術(shù)分析員Tom Pringle認(rèn)為,人們對海外開發(fā)的興趣更加濃厚。他說:“在這些地方建立開發(fā)中心成本更低,而且擁有許多受過良好培訓(xùn)的勞力。他們能夠以和其他地方相同的標(biāo)準(zhǔn),并以更低廉的價格完成工作。所以他們都開始這樣做。”Gartner副總裁兼分析員Matthew Hotle認(rèn)為:“外包以及不斷向面向服務(wù)構(gòu)架開發(fā)方法的轉(zhuǎn)變,將必然降低公司對內(nèi)部純專業(yè)技能的需求。”
SOA帶來開發(fā)團(tuán)隊(duì)角色的改變
采用SOA方法需要對各種組件以及復(fù)合應(yīng)用進(jìn)行集成和裝配,以支持特定企業(yè)的商業(yè)進(jìn)程或服務(wù),這些組件或復(fù)合應(yīng)用可能來自不同的來源——既可以是企業(yè)內(nèi)部也可以是企業(yè)外部的。
與傳統(tǒng)的軟件包不同,SOA組件或復(fù)合應(yīng)用軟件不存在應(yīng)用功能上的孤島,如財務(wù)或客戶關(guān)系管理,而是形成一個可復(fù)用的組件池,這些組件的功能是通用的,可用于各種應(yīng)用中,并通過組合完成某個特定的功能或支持其他的進(jìn)程。這種組合使得無論是裝配新系統(tǒng),還是為支持商業(yè)需求的改變而改裝舊系統(tǒng)都變得快捷容易。而且,開發(fā)團(tuán)隊(duì)可以從各種來源獲得這些組件與復(fù)合應(yīng)用軟件,即可以是內(nèi)部開發(fā)或者是由第三方提供商提供的,這一事實(shí)表明自行開發(fā)與購買之間的傳統(tǒng)界線已變得模糊起來。因此,隨著時間的推移,我們現(xiàn)在所了解的軟件概念將不再重要,取而代之的將是支持它們的商業(yè)進(jìn)程與服務(wù)。
Hotle認(rèn)為:“如果服務(wù)得到充分開發(fā),我們相信可能有40-60%的功能可以進(jìn)行再利用。”這意味著未來的應(yīng)用軟件開發(fā)員將是模型師、裝配師、協(xié)調(diào)師與測試員,而不只是程序員。雖然對編程與技術(shù)技能的需求不會完全消失,但由于再利用與外部采購準(zhǔn)備,對這類專業(yè)技能的需求將會下降。
SOA對人員和流程的轉(zhuǎn)變
Macehiter Ward-Dutton首席分析員Jon Collins承認(rèn),組織不會立即全面執(zhí)行SOA策略,至少是因?yàn)橐曰窘M件,面向再利用的方式重新編寫所有的遺留應(yīng)用軟件還過于昂貴。他說:“我們正朝SOA邁進(jìn),但大多數(shù)的應(yīng)用軟件環(huán)境仍以遺留軟件為主,所以我們不可能一蹴而就。這樣做也沒有太大的益處。許多軟件都執(zhí)行特殊的目的,所以沒有必要推翻重建。開發(fā)員仍有必要提高并維護(hù)現(xiàn)有的內(nèi)部系統(tǒng),并將它們與其他基于SOA的應(yīng)用軟件或別的軟件整合起來。目前,IT界的主要問題是整合,沒有任何應(yīng)用軟件能夠獨(dú)立運(yùn)行,它們?nèi)夹枰涣饕愿咝н\(yùn)行。”
采用SOA的另一個障礙是缺乏可供利用的專業(yè)技能,Hotle說:“今后五年,許多應(yīng)用軟件開發(fā)組織必須處理的最大難題是他們的員工,他們中的一些人已經(jīng)接近退休年齡。一些人只有面向服務(wù)領(lǐng)域的有限技能,另一些人仍希望技術(shù)為主,而公司正轉(zhuǎn)向面向商業(yè)的領(lǐng)域。”
盡管在開發(fā)服務(wù)、實(shí)現(xiàn)再利用時,面向?qū)ο蟮拈_發(fā)技巧與新興的SOA標(biāo)準(zhǔn)會有所幫助;但在很大程度上,技術(shù)只是次要的,重點(diǎn)應(yīng)放在組織轉(zhuǎn)變上。Hotle表示:“必須對流程加以定義,質(zhì)量保證成為關(guān)鍵;否則,就只會在組織內(nèi)部交付劣質(zhì)軟件。行為必須改變,我們十分擅長的應(yīng)用軟件開發(fā)已不重要。因此,這不僅僅是技術(shù)問題,而是人員與流程問題。”
SOA需要關(guān)注的新技術(shù)
轉(zhuǎn)向SOA首先必須配備面向服務(wù)的思維模式,但包括商業(yè)流程管理(BPM)、身份管理等在內(nèi)的技術(shù)也將會有幫助。BPM系統(tǒng)為開發(fā)員提供設(shè)計并模擬軟件特定進(jìn)程的工具,并在執(zhí)行過程中對其性能進(jìn)行監(jiān)控。執(zhí)行進(jìn)程時,系統(tǒng)自動要求來自各種分布式集成應(yīng)用軟件的組件進(jìn)行某一活動,如計算償還貸款。如果它不可能自動執(zhí)行整個進(jìn)程,則向員工發(fā)送信息,要求他們執(zhí)行必要的任務(wù)以完成工作。
身份管理是SOA領(lǐng)域的另一項(xiàng)大有前途的技術(shù),該技術(shù)將作為一個獨(dú)立的系統(tǒng)或一組服務(wù)出現(xiàn),這樣開發(fā)人員就不必耗費(fèi)大量時間去處理將身份管理內(nèi)置到單個組件或集成應(yīng)用軟件中的復(fù)雜工作,高效的SOA應(yīng)用需要身份管理功能,否則顧客在訪問各種應(yīng)用軟件及重復(fù)登錄時就會遇到問題。
Collins說,“這意味著它是減少那些應(yīng)用軟件間缺陷的重要手段。然而,目前還很少有組織在大規(guī)模采用這些概念并理解趨勢。雖然他們可能用Java或.Net來開發(fā)新型應(yīng)用軟件;而應(yīng)用SOA原理來開發(fā)應(yīng)用軟件只在基于項(xiàng)目的策略基礎(chǔ)上才會發(fā)生。目前采用這些趨勢的組織常常以失望告終。因?yàn)檫@些技術(shù)趨勢是一個進(jìn)化過程而不是一步到位的,因此我們要把目光放遠(yuǎn),即使現(xiàn)在還沒有直接應(yīng)用這些技術(shù),但我們應(yīng)該看到這些技術(shù)趨勢以及它們的未來應(yīng)用。”