【IT168 SOA文檔】
SOA技術(shù)在IT界掀起巨大的狂潮,然而它不同于以前的技術(shù)變革:模塊化編程、面向對象、Web技術(shù)等,不論多難理解,總是能很快被大家接受,SOA之所以讓很多人覺(jué)得難以理解,是因為它不再單純地從IT人的角度理解IT系統,而是從業(yè)務(wù)人員的角度分析IT業(yè)務(wù)系統。
有兩種現象相繼呈現:一方面是企業(yè)SOA改造,精簡(jiǎn)企業(yè)業(yè)務(wù)流程,提升企業(yè)市場(chǎng)競爭 與創(chuàng )新的能力,企業(yè)IT部門(mén)成為了企業(yè)管理的核心鏈條---“神經(jīng)系統”;另一方面很多企業(yè)覺(jué)得無(wú)從下手,SOA太空無(wú)實(shí),業(yè)務(wù)部門(mén)人員不愿支持,業(yè)務(wù)流 程改造單靠IT部門(mén)是難以完成的,而企業(yè)內非IT部門(mén),尤其是管理層對SOA了解的還很少…
一、SOA是業(yè)務(wù)驅動(dòng)的,不是技術(shù)驅動(dòng)的
SOA概念的提出是在上個(gè)世紀了,但近兩年在許多大公司相關(guān)產(chǎn)品與業(yè)績(jì)推動(dòng)下,SOA一下進(jìn)入了實(shí)際應用的黃金階段。
SOA的出發(fā)點(diǎn)是從業(yè)務(wù)角度重用應用系統的開(kāi)發(fā)元素,最大程度地降低IT系統開(kāi)發(fā)與 維護的成本。很多企業(yè)的CIO都面臨一個(gè)共同的問(wèn)題:隨著(zhù)網(wǎng)絡(luò )建設的浪潮涌過(guò),各種業(yè)務(wù)系統的開(kāi)發(fā)如雨后春筍,在大一些的企業(yè),需要維護成百上千個(gè)業(yè)務(wù)系 統是很常見(jiàn)的事,從機房配置、服務(wù)器管理、各種支撐系統的維護都讓IT部門(mén)難以應付,更不用說(shuō)病毒攻擊過(guò)后的系統清理與業(yè)務(wù)恢復,僅僅是查看一下各個(gè)業(yè)務(wù) 系統的狀態(tài),就需要工作人員花很長(cháng)時(shí)間,要是業(yè)務(wù)的持續性保障,更是望塵莫及。業(yè)務(wù)系統的繁多與各自孤立,為新業(yè)務(wù)的上馬帶來(lái)更大困難,重復開(kāi)發(fā)造成極大 的浪費,信息不互通讓每個(gè)系統都“麻雀雖小,五臟具全”,企業(yè)失去了市場(chǎng)競爭的靈活性,極大地觸動(dòng)了企業(yè)管理者的神經(jīng)。
很多大公司開(kāi)始推廣ERP之類(lèi)的大企業(yè)軟件系統,希望在一個(gè)大系統架構中,可以融 合更多的業(yè)務(wù)流程,各個(gè)業(yè)務(wù)的信息可以交流,避免各個(gè)“業(yè)務(wù)孤島”帶來(lái)的管理弊端與效率低下。然而隨著(zhù)單個(gè)系統的龐大,開(kāi)發(fā)的難度指數般提升,要考慮的因 素太多了,客戶(hù)業(yè)務(wù)又千差萬(wàn)別,開(kāi)發(fā)企業(yè)的管理成為極大瓶頸;另外“同制化”的設計模式恰恰抹殺了企業(yè)的創(chuàng )造力,而失去了“特點(diǎn)”的企業(yè)等于選擇自殺。 IT基礎架構如何適應企業(yè)的“創(chuàng )造化”需求,新業(yè)務(wù)的開(kāi)發(fā)如何快捷,如何降低IT支撐系統的管理成本,并提供持續性的服務(wù)保障,CIO們重新選擇了SOA。
在這種情況下,SOA重新被提出來(lái),按照時(shí)髦的解釋?zhuān)琒OA是一種IT技術(shù)框架,是一種最佳實(shí)踐,而不是一種具體的技術(shù),能實(shí)現SOA的技術(shù)很多,如何選擇的關(guān)鍵是達到SOA提出的業(yè)務(wù)靈活度的目標。
SOA的思路其實(shí)在IT人中有過(guò)類(lèi)似的想法,我們回顧一下編程人員走過(guò)的歷程:模塊 化編程就是把可重用的程序提煉出來(lái),方便調用,提高軟件的結構性;后來(lái)發(fā)展到面向對象,把數據與程序封裝在一起,讓軟件設計人員的思路逐漸接近現實(shí)的人類(lèi) 思維方式;B/S架構的流行把客戶(hù)端的變成維護簡(jiǎn)單化,業(yè)務(wù)更適合于網(wǎng)絡(luò )方式;Web2.0的發(fā)展解決了B/S體系的交互問(wèn)題;中間件技術(shù)讓跨平臺、跨語(yǔ) 言的業(yè)務(wù)開(kāi)發(fā)變得容易……IT人一直在探索、提煉可以重用的、優(yōu)秀的軟件模塊,讓我們的業(yè)務(wù)系統開(kāi)發(fā)如搭積木一樣容易。
雖然SOA是IT人員的思路,但推動(dòng)SOA的是企業(yè)管理層,SOA是業(yè)務(wù)驅動(dòng)發(fā)展,而不是技術(shù)驅動(dòng)發(fā)展。新的視覺(jué)角度,并非所有的企業(yè)CIO們對SOA都得心應手,因為IT人員的業(yè)務(wù)認知弱點(diǎn)是由來(lái)已久的。
不再從IT開(kāi)發(fā)人的眼光看待要開(kāi)發(fā)的業(yè)務(wù)系統,而是從業(yè)務(wù)的使用者角度看待要開(kāi)發(fā)的 系統,面向服務(wù)就是面向系統的實(shí)際使用者,“誰(shuí)干誰(shuí)說(shuō)的算”,系統應該具備什么功能,應該做成什么樣子,要看用戶(hù)使用的效果。簡(jiǎn)單地說(shuō),就是用“敏捷”的 開(kāi)發(fā)思路,代替了“閉門(mén)造車(chē)”的開(kāi)發(fā)方式。所謂敏捷就是用戶(hù)的參與,用戶(hù)不懂你的專(zhuān)業(yè)“語(yǔ)言”,就需要快速的模型與界面展現,快速展現不重用是不現實(shí)的, 而用戶(hù)理解不從業(yè)務(wù)流程入手,是與用戶(hù)沒(méi)有共同語(yǔ)言的。
二、SOA的“官方”解釋
SOA的文章與資料很多,技術(shù)實(shí)現與最佳實(shí)踐為多,這里只是說(shuō)一下SOA的參考模型,展示SOA的架構。對于SOA的實(shí)現技術(shù),會(huì )隨著(zhù)IT技術(shù)的發(fā)展更新,Web2.0是目前的一個(gè)最佳實(shí)踐,SOA的目標的提高企業(yè)業(yè)務(wù)的靈活性,圍繞這個(gè)目標,技術(shù)實(shí)現只是手段而已。
Sandy Carter給SOA的定義是:SOA(面向服務(wù)構架)是一種業(yè)務(wù)驅動(dòng)的IT架構方式,支持對業(yè)務(wù)進(jìn)行整合,使其成為一種相互聯(lián)系、可重用的業(yè)務(wù)任務(wù)或服務(wù)。
SOA組成的五大要點(diǎn):
1、重用:創(chuàng )建服務(wù)與重用服務(wù)是SOA的工作。重用不僅可以節省費用,而且可以減少重復,建立企業(yè)間可以共享的服務(wù),從而增加企業(yè)的靈活性,而且可以通過(guò)服務(wù)的實(shí)現、包裝,利用已經(jīng)證實(shí)是有效的核心應用和功能
2、連通性:業(yè)務(wù)系統的連通,但松耦合方式,是實(shí)現企業(yè)業(yè)務(wù)靈活性的基礎,獲得連通性也是整合企業(yè)人員、信息、流程的前提
3、流程:流程是企業(yè)對業(yè)務(wù)管理、監控的方式,SOA是實(shí)現對業(yè)務(wù)流程的支撐
4、信息:信息是企業(yè)決策的基礎,是企業(yè)的管理神經(jīng)系統,掌握全面的信息、排除錯誤的信息、獲得及時(shí)的信息是IT系統的基礎功能
5、協(xié)作:協(xié)作就是人員。創(chuàng )新不僅靠?jì)?yōu)秀的員工,更需要優(yōu)秀的團隊,在經(jīng)濟融合發(fā)展的今天,不僅依靠自己的團隊,還要學(xué)會(huì )利用外部的力量,要協(xié)作就要互通與共享。
三、SOA不是萬(wàn)能鑰匙
SOA是業(yè)務(wù)驅動(dòng),說(shuō)白了是管理驅動(dòng),雖然企業(yè)的IT化整合是IT發(fā)展的趨勢,但每個(gè)企業(yè)的IT化發(fā)展都有自己的文化支撐,IT基礎設施的建設、應用的開(kāi)發(fā)是為了企業(yè)的業(yè)務(wù)服務(wù)的,脫離了這個(gè)宗旨,企業(yè)即使圖一時(shí)的“新鮮”,也不可能長(cháng)期陪著(zhù)你玩。
推動(dòng)企業(yè)SOA建設,是從企業(yè)的管理層面出發(fā),管理層有“改變”的概念,才可以進(jìn)行全面的分析與設計,而不是單靠IT技術(shù)部門(mén)就可以啟動(dòng)的,這一點(diǎn)是國內企業(yè)CIO面臨的一個(gè)大難點(diǎn)。
這么說(shuō)是基于兩點(diǎn):一是我們國內的IT發(fā)展歷史還不長(cháng),IT部門(mén)的管理者在企業(yè)內的 話(huà)語(yǔ)權還不夠大,大部分CIO還沒(méi)有進(jìn)入企業(yè)的高級管理層,IT部門(mén)是企業(yè)業(yè)務(wù)的附加服務(wù)部門(mén),還不能算是支撐部門(mén);二是國內很多企業(yè)的IT建設是跨越式 的,老外很羨慕我們新建設萬(wàn)兆網(wǎng)絡(luò )、優(yōu)良的處理中心,而很多老外還在使用10M的網(wǎng)絡(luò )、COBOL設計的應用…我們能直接跨越落后技術(shù)是好事,但在IT管 理能力與理解上就捉襟見(jiàn)肘,管理理念是需要實(shí)際體驗的,沒(méi)有實(shí)際的“磨合”,直接開(kāi)始多業(yè)務(wù)的整合,用戶(hù)找不到“感覺(jué)”。
SOA本身不是一套嚴格的技術(shù)理論,所謂“最佳實(shí)踐”也是大家在理解過(guò)程中的“實(shí) 地體驗”,是從實(shí)際的管理工作與業(yè)務(wù)經(jīng)營(yíng)中總結出來(lái)的。而管理一定有其文化作為支撐,中國文化上的差異,可以很快接受一個(gè)新技術(shù)產(chǎn)品的引進(jìn),但對一個(gè)管理 模式的引進(jìn)卻不盡然。二戰后美國的管理體制直接輸出到日本,但麥克阿瑟沒(méi)有把日本變成美國第二,而在似與非似之間,出現了一個(gè)嶄新的管理模式,日本經(jīng)濟的 騰飛不能說(shuō)不得益于這種模式;安全是“三分技術(shù)+七分管理”,這個(gè)道理在計算機安全界從一開(kāi)始就在宣傳,中國引進(jìn)了防火墻、入侵檢測、身份認證等多種產(chǎn)品 技術(shù)、但BS7799、ITIL等安全管理與維護的“最佳實(shí)踐”,卻遲遲停留在培訓上,國內真正采用的也是少之又少。
中國有句古話(huà)“取其精華、去其糟粕”,管理的思路源自于文化的底蘊,所以SOA這 個(gè)從管理推動(dòng)技術(shù)的“產(chǎn)品”,要落戶(hù)中國企業(yè),注定要在“融合”中國的管理意識之后,才會(huì )有大的作為。SOA不是萬(wàn)能鑰匙,要開(kāi)中國企業(yè)這把鎖,需要做一 定的改造,總結起來(lái),需要解決下面幾方面的問(wèn)題:
1、管理層重視:SOA是從上而下的業(yè)務(wù)管理整合,而國內大多企業(yè)對SOA的理解目前還處于IT管理層面,企業(yè)的管理者不理解就無(wú)法深入。讓企業(yè)的高層領(lǐng)導重視IT,需要把IT部門(mén)從企業(yè)的服務(wù)部門(mén)轉變?yōu)闃I(yè)務(wù)支撐部門(mén)。
2、標準不是抹殺異化服務(wù):重用服務(wù)是為了提高企業(yè)開(kāi)發(fā)與管理的效率,越標準的“元 件”,越可以降低成本;企業(yè)的生命不僅是降低相同服務(wù)的成本,還要能不斷提供異化的業(yè)務(wù),有區別才有市場(chǎng)上的競爭力。若在SOA推行中,過(guò)多地強調標準, 忽略了創(chuàng )新,而降低了對新業(yè)務(wù)的支撐能力,同化了業(yè)務(wù)服務(wù)流程的開(kāi)發(fā),就成為SOA的大敗筆。
3、給國內開(kāi)發(fā)商留下生存空間:SOA要求建立ESB,逐漸形成企業(yè)服務(wù)的標準 化,這同時(shí)也對業(yè)務(wù)的開(kāi)發(fā)商提出了要求,標準往往是大廠(chǎng)家主導的,其獲得、授權、專(zhuān)利等后期技術(shù)壁壘是難預料的,畢竟TCP/IP那樣完全公開(kāi)的標準不容 易,中國的業(yè)務(wù)開(kāi)發(fā)商還都很弱小,若一味注重“國際”標準,勢必提高市場(chǎng)進(jìn)入的門(mén)檻,客觀(guān)上也同化了產(chǎn)品的風(fēng)格,沒(méi)有了業(yè)務(wù)模式的“百花爭鳴”,企業(yè)也喪 失了市場(chǎng)競爭的優(yōu)勢。
4、選擇適合企業(yè)的:SOA是架構,需要實(shí)現技術(shù)支撐。中小企業(yè)的業(yè)務(wù)較少,其整 合與升級不存在太大的難度,即使是大企業(yè),在選擇SOA支撐技術(shù)時(shí),并非都要趕時(shí)髦,去選擇最好的、最先進(jìn)的,當然也往往是最昂貴的,完全可以根據用戶(hù)的 實(shí)際需求選擇“最佳”的方式。經(jīng)濟發(fā)展的原則是:“永遠選擇最佳而不一定是最好的?!?
SOA是IT管理與發(fā)展的趨勢,是業(yè)務(wù)的IT支撐構架,也代表了一種新技術(shù)方向,但如何為中國企業(yè)所用,需要中、西方的管理思路進(jìn)一步融合,或者產(chǎn)生適合中國管理模式的SOA架構;SOA不是萬(wàn)能鑰匙,解決管理問(wèn)題離不開(kāi)管理辦法。
聯(lián)系客服