趙陽是全速快捷物流公司的CIO,他正在為兩個挑戰(zhàn)犯愁:一是他需要一個靈活可擴展的IT平臺來處理所面對的日益繁雜的任務(wù)。二是隨著IT系統(tǒng)新業(yè)務(wù)流程、新功能的開發(fā)、調(diào)試和上線時間越來越短,IT人員面臨的壓力也越來越大。
既要保證系統(tǒng)如期上線運行、新舊系統(tǒng)的可靠對接以及現(xiàn)有業(yè)務(wù)的正常運行,又要想方設(shè)法降低系統(tǒng)開發(fā)的難度,回避可能出現(xiàn)的風(fēng)險。針對這種情況,很多IT供應(yīng)商提出的解決方案是 ,當(dāng)全速快捷公司的需求變化了,可以再幫全速快捷公司做新的應(yīng)用。
實際上,這些解決方案之于全速快捷物流來講,還是治標(biāo)不治本,投資在不斷增加,應(yīng)用在不斷增加,管理成本也越來越大,可是效率卻并沒有多大的提高,反倒是系統(tǒng)越來越龐雜。趙陽甚至擔(dān)心某一天睡覺醒來,就會聽到系統(tǒng)崩潰了的消息。
讓人心動的SOA
隨著業(yè)務(wù)的擴張迫使趙陽開始考慮新的IT架構(gòu),他認為這個靈活的系統(tǒng)架構(gòu)必須具備這些特點:首先,新的架構(gòu)必須降低IT系統(tǒng)結(jié)構(gòu)的復(fù)雜度;其次,需要減少系統(tǒng)的運營成本,有效利用舊系統(tǒng)的資源;最后,系統(tǒng)必須具備靈活性擴展能力。
就在趙陽關(guān)于如何規(guī)劃新IT平臺經(jīng)過多次會議討論無結(jié)果而陷于絕境的時候,SOA出現(xiàn)了。SOA的這些特點讓他為之心動:
(1)企業(yè)的應(yīng)用集成問題,SOA是一個基于松耦合的平臺架構(gòu),可以實現(xiàn)異構(gòu)平臺的流程、人員、信息的整合,并能實現(xiàn)組織內(nèi)部及外部的應(yīng)用集成。松耦合的軟件style=COLOR:#000000href=http://software.it168.com/target=_blank>軟件結(jié)構(gòu)可以降低軟件的復(fù)雜性,提高重用性,使軟件能夠更好地適應(yīng)需求的變換。SOA對企業(yè)原有IT基礎(chǔ)設(shè)施的要求并不高,可以幫助用戶擺脫緊耦合的束縛,以較少的投資開始SOA建設(shè),用戶只配置需要的功能,并根據(jù)需要以漸近的方式擴大整合的規(guī)模。SOA可以在運行環(huán)境中動態(tài)配置,也就是說業(yè)務(wù)無需中斷。
(2)對于原有的系統(tǒng),不需要徹底重新創(chuàng)建系統(tǒng)。原有的功能模塊可以通過Web服務(wù)接口來封裝和訪問。采取SOA框架可以將各種業(yè)務(wù)服務(wù)構(gòu)造成業(yè)務(wù)組件的集合。當(dāng)其他部門使用這種新的服務(wù)只需要知道它的接口和名稱,服務(wù)的內(nèi)部細節(jié)以及在組成服務(wù)的組件之間傳送的數(shù)據(jù)的復(fù)雜性都對外界隱藏了。這種組件的匿名性使物流企業(yè)能夠利用現(xiàn)有的投資,從而可以通過合并構(gòu)建在不同的機器上、運行在不同的操作系統(tǒng)中、用不同的編程語言開發(fā)的組件來創(chuàng)建服務(wù)。
(3)提高了系統(tǒng)開發(fā)速度,在不同的應(yīng)用業(yè)務(wù)程序之間,基礎(chǔ)架構(gòu)的開發(fā)和部署將變得更加一致?,F(xiàn)有的業(yè)務(wù)組件、新開發(fā)的組件和從廠商購買的組件可以合并在一個定義良好的SOA框架內(nèi),這樣的組件集合將被作為服務(wù)部署在現(xiàn)有的基礎(chǔ)構(gòu)架中,從而成為了重復(fù)使用的架構(gòu)元素。當(dāng)有新的合作物流伙伴進入時,可以直接對現(xiàn)有服務(wù)和組件進行新的重用,大大縮短了設(shè)計、開發(fā)、測試和部署產(chǎn)品的時間,可以在最短時間內(nèi)投入使用。
(4)降低了系統(tǒng)開發(fā)成本,Web服務(wù)庫成為SOA框架的核心。直接使用這些Web服務(wù)庫來構(gòu)建和部署服務(wù)將顯著地減少軟件開發(fā)成本,提高開發(fā)人員的工作效率。數(shù)據(jù)表明,一般系統(tǒng)的接口開發(fā)費用占到整個開發(fā)費用的33%,的竟達到了70%。隨著物流業(yè)務(wù)的發(fā)展和新的物流伙伴的進入,通過采用SOA框架和Web服務(wù)庫,為原有應(yīng)用程序增加服務(wù)和創(chuàng)建新的服務(wù)的成本大大地減少了。
因此,不同的人從不同的角度看SOA都能獲得滿意的結(jié)果。管理級的人看業(yè)務(wù)層面,看到最后體現(xiàn)出來的服務(wù)。架構(gòu)設(shè)計人員看到的是架構(gòu)設(shè)計的指導(dǎo)思想,它存在可模式化、可封裝、松耦合、可重用等好處。編程人員看到的就是一種編程模式,能夠做出具體的東西來。而從用戶角度看,就是看到操作流程。在實施SOA的目標(biāo)中,則是為了最后一個層面,也就是能夠給用戶帶來更多的便捷。
全速快捷公司在選擇SOA產(chǎn)品和技術(shù)時,從平臺的選擇、實施方法與途徑、供應(yīng)商選擇三個方面進行考量。在選擇軟件style=COLOR:#000000href=http://software.it168.com/target=_blank>軟件平臺時,首先要考慮的是平臺的開放性和對標(biāo)準(zhǔn)的支持。在實施方法與途徑方面,全速快捷公司把影響SOA成功落地的因素分成五個方面:規(guī)劃和部署路線圖、組件分類、組件建模、基礎(chǔ)架構(gòu)以及規(guī)劃和管理。
(1)部署規(guī)劃及確定部署路線圖。
全速快捷公司擁有五花八門的應(yīng)用,首先是在復(fù)雜的應(yīng)用環(huán)境中確定目前的成熟度和目標(biāo)成熟度,并制定遷移路線圖。何時切入、何處部署是全速快捷公司面對的首要問題。清晰的部署規(guī)劃及量身定制的部署路線圖是避免投資浪費的選擇。因此,部署SOA時要先制訂一個清晰的路線圖,然后從單個應(yīng)用程序開始構(gòu)建SOA架構(gòu)。這樣,企業(yè)可以在做出全面部署SOA之前,先衡量投資回報率,并在出現(xiàn)大的問題之前積累足夠的經(jīng)驗。
(2)確定不同業(yè)務(wù)組件的特色和轉(zhuǎn)型方式。
實施SOA,首先要對現(xiàn)有系統(tǒng)做全面的評估,要了解現(xiàn)有的系統(tǒng)能用多少,有多少需要改造,還需要上哪些新的系統(tǒng),將來的系統(tǒng)該如何滿足需求,可能為這個新的系統(tǒng)投入的資本大概有多少等。
因為業(yè)務(wù)組件是與業(yè)務(wù)密切相關(guān)的,會存在很多類型,例如有戰(zhàn)略性的、異構(gòu)的、競爭性的、高資本的、內(nèi)部資源即可解決的和需要外部協(xié)助解決的,所以要將原有的相關(guān)業(yè)務(wù)組件以SOA的形式重新表達,將它們進行分類,并采用業(yè)務(wù)組件建模的方法逐個確定企業(yè)不同業(yè)務(wù)組件的特點和轉(zhuǎn)型方式。
(3)將業(yè)務(wù)組件進行建模。
SOA的精髓是它將IT和業(yè)務(wù)緊密結(jié)合在了一起,因此具有對技術(shù)和業(yè)務(wù)精通的人員參與是成功業(yè)務(wù)組件建模的關(guān)鍵。方法是利用服務(wù)建模和架構(gòu)方法進行組件化、服務(wù)化設(shè)計建立標(biāo)準(zhǔn)化組件。標(biāo)準(zhǔn)化可讓SOA更為簡單,如果把SOA類比為以插接積木的方式來構(gòu)建靈活的、可復(fù)用的企業(yè)IT系統(tǒng)的話,那么標(biāo)準(zhǔn)就相當(dāng)于是帶插孔的底板。這種方式讓全速快捷公司受益匪淺。
(4)選擇有效切入點,確定企業(yè)的SOA基礎(chǔ)架構(gòu)。
有效的切入點是指導(dǎo)我們在實際部署SOA的過程中必須詳細了解該企業(yè)的現(xiàn)有信息系統(tǒng)狀況、現(xiàn)有業(yè)務(wù)狀況、未來業(yè)務(wù)發(fā)展愿景和趨勢。在這些基礎(chǔ)之上考察人員、架構(gòu)、信息,將他們分別獨立地進行采樣和分析,最終匯總并權(quán)衡給出符合該企業(yè)的SOA基礎(chǔ)結(jié)構(gòu),這是SOA實現(xiàn)“落地”的正途。
SOA并非僅限于技術(shù)層面,只有應(yīng)用恰當(dāng)切入,SOA才能提高生產(chǎn)率與靈活性、提高IT能力。這就需要企業(yè)根據(jù)各自需求找準(zhǔn)屬于自己的SOA切入點。
第一個切入點是以人員為中心切入SOA。畢竟人員才是企業(yè)的真正驅(qū)動力,企業(yè)的決策由人來作出,企業(yè)和客戶的溝通也是靠人來完成的。
第二個切入點以流程為中心切入SOA。企業(yè)將獲得一個流程信息視圖,管理層可通過這個視圖監(jiān)控流程運轉(zhuǎn)情況,還能直接調(diào)整流程并作出決策。它提供了一種借助重新利用和優(yōu)化流程,快速部署創(chuàng)新的業(yè)務(wù)模式。
第三個切入點是以信息為中心的SOA切入。信息遍布企業(yè)內(nèi)部,但內(nèi)容極其復(fù)雜,管理者做決策時無法獲得最有價值的數(shù)據(jù)信息。通過以信息為中心切入,SOA將幫助企業(yè)構(gòu)建相應(yīng)的服務(wù),將企業(yè)信息集成到流程中去,并在流程中加以應(yīng)用。信息是企業(yè)業(yè)務(wù)的支持者,任何企業(yè)業(yè)務(wù)必將依據(jù)大量現(xiàn)實信息,通過對歷史信息進行數(shù)據(jù)挖掘的從而提供決策支持的基礎(chǔ)之上,決定企業(yè)業(yè)務(wù)行為,并產(chǎn)生新的信息供其它企業(yè)部門決策或執(zhí)行之用,這種切入點讓SOA能夠為企業(yè)決策、執(zhí)行提供及時、準(zhǔn)確、充足的信息。
除了上述三個至關(guān)重要的切入點之外,連接性與可重用性也是非常重要的切入點。許多企業(yè)內(nèi)部往往同時存在多個IT系統(tǒng),且系統(tǒng)之間普遍缺乏互聯(lián)互通性,此時以系統(tǒng)連接性作為切入點將獲得更好的效果。此外,對已投入大量資金、需要按業(yè)務(wù)需求對IT系統(tǒng)進行重建的企業(yè)來講,以重用性為切入點更為實際。
(5)建立合理的SOA監(jiān)管組織和流程,保證SOA有效實施和運營。
SOA的實施和部署可以從企業(yè)應(yīng)用的多個方面展開。即可以從一個全新的系統(tǒng)的總體設(shè)計階段以高起點的方式著手,也可以在一個已有系統(tǒng)的改進升級中逐步過渡。這其中最關(guān)鍵的就是需要建立有效的監(jiān)管措施來確保SOA項目的順利實施和運營。
既要保證系統(tǒng)如期上線運行、新舊系統(tǒng)的可靠對接以及現(xiàn)有業(yè)務(wù)的正常運行,又要想方設(shè)法降低系統(tǒng)開發(fā)的難度,回避可能出現(xiàn)的風(fēng)險。針對這種情況,很多IT供應(yīng)商提出的解決方案是 ,當(dāng)全速快捷公司的需求變化了,可以再幫全速快捷公司做新的應(yīng)用。
實際上,這些解決方案之于全速快捷物流來講,還是治標(biāo)不治本,投資在不斷增加,應(yīng)用在不斷增加,管理成本也越來越大,可是效率卻并沒有多大的提高,反倒是系統(tǒng)越來越龐雜。趙陽甚至擔(dān)心某一天睡覺醒來,就會聽到系統(tǒng)崩潰了的消息。
讓人心動的SOA
隨著業(yè)務(wù)的擴張迫使趙陽開始考慮新的IT架構(gòu),他認為這個靈活的系統(tǒng)架構(gòu)必須具備這些特點:首先,新的架構(gòu)必須降低IT系統(tǒng)結(jié)構(gòu)的復(fù)雜度;其次,需要減少系統(tǒng)的運營成本,有效利用舊系統(tǒng)的資源;最后,系統(tǒng)必須具備靈活性擴展能力。
就在趙陽關(guān)于如何規(guī)劃新IT平臺經(jīng)過多次會議討論無結(jié)果而陷于絕境的時候,SOA出現(xiàn)了。SOA的這些特點讓他為之心動:
(1)企業(yè)的應(yīng)用集成問題,SOA是一個基于松耦合的平臺架構(gòu),可以實現(xiàn)異構(gòu)平臺的流程、人員、信息的整合,并能實現(xiàn)組織內(nèi)部及外部的應(yīng)用集成。松耦合的軟件style=COLOR:#000000href=http://software.it168.com/target=_blank>軟件結(jié)構(gòu)可以降低軟件的復(fù)雜性,提高重用性,使軟件能夠更好地適應(yīng)需求的變換。SOA對企業(yè)原有IT基礎(chǔ)設(shè)施的要求并不高,可以幫助用戶擺脫緊耦合的束縛,以較少的投資開始SOA建設(shè),用戶只配置需要的功能,并根據(jù)需要以漸近的方式擴大整合的規(guī)模。SOA可以在運行環(huán)境中動態(tài)配置,也就是說業(yè)務(wù)無需中斷。
(2)對于原有的系統(tǒng),不需要徹底重新創(chuàng)建系統(tǒng)。原有的功能模塊可以通過Web服務(wù)接口來封裝和訪問。采取SOA框架可以將各種業(yè)務(wù)服務(wù)構(gòu)造成業(yè)務(wù)組件的集合。當(dāng)其他部門使用這種新的服務(wù)只需要知道它的接口和名稱,服務(wù)的內(nèi)部細節(jié)以及在組成服務(wù)的組件之間傳送的數(shù)據(jù)的復(fù)雜性都對外界隱藏了。這種組件的匿名性使物流企業(yè)能夠利用現(xiàn)有的投資,從而可以通過合并構(gòu)建在不同的機器上、運行在不同的操作系統(tǒng)中、用不同的編程語言開發(fā)的組件來創(chuàng)建服務(wù)。
(3)提高了系統(tǒng)開發(fā)速度,在不同的應(yīng)用業(yè)務(wù)程序之間,基礎(chǔ)架構(gòu)的開發(fā)和部署將變得更加一致?,F(xiàn)有的業(yè)務(wù)組件、新開發(fā)的組件和從廠商購買的組件可以合并在一個定義良好的SOA框架內(nèi),這樣的組件集合將被作為服務(wù)部署在現(xiàn)有的基礎(chǔ)構(gòu)架中,從而成為了重復(fù)使用的架構(gòu)元素。當(dāng)有新的合作物流伙伴進入時,可以直接對現(xiàn)有服務(wù)和組件進行新的重用,大大縮短了設(shè)計、開發(fā)、測試和部署產(chǎn)品的時間,可以在最短時間內(nèi)投入使用。
(4)降低了系統(tǒng)開發(fā)成本,Web服務(wù)庫成為SOA框架的核心。直接使用這些Web服務(wù)庫來構(gòu)建和部署服務(wù)將顯著地減少軟件開發(fā)成本,提高開發(fā)人員的工作效率。數(shù)據(jù)表明,一般系統(tǒng)的接口開發(fā)費用占到整個開發(fā)費用的33%,的竟達到了70%。隨著物流業(yè)務(wù)的發(fā)展和新的物流伙伴的進入,通過采用SOA框架和Web服務(wù)庫,為原有應(yīng)用程序增加服務(wù)和創(chuàng)建新的服務(wù)的成本大大地減少了。
因此,不同的人從不同的角度看SOA都能獲得滿意的結(jié)果。管理級的人看業(yè)務(wù)層面,看到最后體現(xiàn)出來的服務(wù)。架構(gòu)設(shè)計人員看到的是架構(gòu)設(shè)計的指導(dǎo)思想,它存在可模式化、可封裝、松耦合、可重用等好處。編程人員看到的就是一種編程模式,能夠做出具體的東西來。而從用戶角度看,就是看到操作流程。在實施SOA的目標(biāo)中,則是為了最后一個層面,也就是能夠給用戶帶來更多的便捷。
全速快捷公司在選擇SOA產(chǎn)品和技術(shù)時,從平臺的選擇、實施方法與途徑、供應(yīng)商選擇三個方面進行考量。在選擇軟件style=COLOR:#000000href=http://software.it168.com/target=_blank>軟件平臺時,首先要考慮的是平臺的開放性和對標(biāo)準(zhǔn)的支持。在實施方法與途徑方面,全速快捷公司把影響SOA成功落地的因素分成五個方面:規(guī)劃和部署路線圖、組件分類、組件建模、基礎(chǔ)架構(gòu)以及規(guī)劃和管理。
(1)部署規(guī)劃及確定部署路線圖。
全速快捷公司擁有五花八門的應(yīng)用,首先是在復(fù)雜的應(yīng)用環(huán)境中確定目前的成熟度和目標(biāo)成熟度,并制定遷移路線圖。何時切入、何處部署是全速快捷公司面對的首要問題。清晰的部署規(guī)劃及量身定制的部署路線圖是避免投資浪費的選擇。因此,部署SOA時要先制訂一個清晰的路線圖,然后從單個應(yīng)用程序開始構(gòu)建SOA架構(gòu)。這樣,企業(yè)可以在做出全面部署SOA之前,先衡量投資回報率,并在出現(xiàn)大的問題之前積累足夠的經(jīng)驗。
(2)確定不同業(yè)務(wù)組件的特色和轉(zhuǎn)型方式。
實施SOA,首先要對現(xiàn)有系統(tǒng)做全面的評估,要了解現(xiàn)有的系統(tǒng)能用多少,有多少需要改造,還需要上哪些新的系統(tǒng),將來的系統(tǒng)該如何滿足需求,可能為這個新的系統(tǒng)投入的資本大概有多少等。
因為業(yè)務(wù)組件是與業(yè)務(wù)密切相關(guān)的,會存在很多類型,例如有戰(zhàn)略性的、異構(gòu)的、競爭性的、高資本的、內(nèi)部資源即可解決的和需要外部協(xié)助解決的,所以要將原有的相關(guān)業(yè)務(wù)組件以SOA的形式重新表達,將它們進行分類,并采用業(yè)務(wù)組件建模的方法逐個確定企業(yè)不同業(yè)務(wù)組件的特點和轉(zhuǎn)型方式。
(3)將業(yè)務(wù)組件進行建模。
SOA的精髓是它將IT和業(yè)務(wù)緊密結(jié)合在了一起,因此具有對技術(shù)和業(yè)務(wù)精通的人員參與是成功業(yè)務(wù)組件建模的關(guān)鍵。方法是利用服務(wù)建模和架構(gòu)方法進行組件化、服務(wù)化設(shè)計建立標(biāo)準(zhǔn)化組件。標(biāo)準(zhǔn)化可讓SOA更為簡單,如果把SOA類比為以插接積木的方式來構(gòu)建靈活的、可復(fù)用的企業(yè)IT系統(tǒng)的話,那么標(biāo)準(zhǔn)就相當(dāng)于是帶插孔的底板。這種方式讓全速快捷公司受益匪淺。
(4)選擇有效切入點,確定企業(yè)的SOA基礎(chǔ)架構(gòu)。
有效的切入點是指導(dǎo)我們在實際部署SOA的過程中必須詳細了解該企業(yè)的現(xiàn)有信息系統(tǒng)狀況、現(xiàn)有業(yè)務(wù)狀況、未來業(yè)務(wù)發(fā)展愿景和趨勢。在這些基礎(chǔ)之上考察人員、架構(gòu)、信息,將他們分別獨立地進行采樣和分析,最終匯總并權(quán)衡給出符合該企業(yè)的SOA基礎(chǔ)結(jié)構(gòu),這是SOA實現(xiàn)“落地”的正途。
SOA并非僅限于技術(shù)層面,只有應(yīng)用恰當(dāng)切入,SOA才能提高生產(chǎn)率與靈活性、提高IT能力。這就需要企業(yè)根據(jù)各自需求找準(zhǔn)屬于自己的SOA切入點。
第一個切入點是以人員為中心切入SOA。畢竟人員才是企業(yè)的真正驅(qū)動力,企業(yè)的決策由人來作出,企業(yè)和客戶的溝通也是靠人來完成的。
第二個切入點以流程為中心切入SOA。企業(yè)將獲得一個流程信息視圖,管理層可通過這個視圖監(jiān)控流程運轉(zhuǎn)情況,還能直接調(diào)整流程并作出決策。它提供了一種借助重新利用和優(yōu)化流程,快速部署創(chuàng)新的業(yè)務(wù)模式。
第三個切入點是以信息為中心的SOA切入。信息遍布企業(yè)內(nèi)部,但內(nèi)容極其復(fù)雜,管理者做決策時無法獲得最有價值的數(shù)據(jù)信息。通過以信息為中心切入,SOA將幫助企業(yè)構(gòu)建相應(yīng)的服務(wù),將企業(yè)信息集成到流程中去,并在流程中加以應(yīng)用。信息是企業(yè)業(yè)務(wù)的支持者,任何企業(yè)業(yè)務(wù)必將依據(jù)大量現(xiàn)實信息,通過對歷史信息進行數(shù)據(jù)挖掘的從而提供決策支持的基礎(chǔ)之上,決定企業(yè)業(yè)務(wù)行為,并產(chǎn)生新的信息供其它企業(yè)部門決策或執(zhí)行之用,這種切入點讓SOA能夠為企業(yè)決策、執(zhí)行提供及時、準(zhǔn)確、充足的信息。
除了上述三個至關(guān)重要的切入點之外,連接性與可重用性也是非常重要的切入點。許多企業(yè)內(nèi)部往往同時存在多個IT系統(tǒng),且系統(tǒng)之間普遍缺乏互聯(lián)互通性,此時以系統(tǒng)連接性作為切入點將獲得更好的效果。此外,對已投入大量資金、需要按業(yè)務(wù)需求對IT系統(tǒng)進行重建的企業(yè)來講,以重用性為切入點更為實際。
(5)建立合理的SOA監(jiān)管組織和流程,保證SOA有效實施和運營。
SOA的實施和部署可以從企業(yè)應(yīng)用的多個方面展開。即可以從一個全新的系統(tǒng)的總體設(shè)計階段以高起點的方式著手,也可以在一個已有系統(tǒng)的改進升級中逐步過渡。這其中最關(guān)鍵的就是需要建立有效的監(jiān)管措施來確保SOA項目的順利實施和運營。