SOA要做的第一件事情不是整合,第一件事情,當然還是重新梳理你的業(yè)務(wù)流程,把它SOA把它Service化,但是呢,在著(zhù)手進(jìn)行改造,第一件事情,打散你的業(yè)務(wù),先破再立,不是簡(jiǎn)單的把過(guò)去的業(yè)務(wù)進(jìn)行整合。
記者:請問(wèn)你是怎么理解SOA的?
孟巖:我這個(gè)理解來(lái)說(shuō)下來(lái)就是,有這么大概幾個(gè)過(guò)程,也分成這么幾個(gè)階段。最早就是03年左 右,我剛到CSDN的時(shí)候,那個(gè)時(shí)候呢,SOA有一段的這個(gè)宣傳的這種高潮,各大公司,包括微軟、IBM、Oracle、BEA啊,都在打SOA,所以當 時(shí)我們作為技術(shù)媒體,不得不了解一下SOA是什么東西,在那個(gè)時(shí)候,我們是很模糊的。
所以我的第一個(gè)階段呢,我就認為在技術(shù)上,我認為SOA是一個(gè)用 Web Services來(lái)做企業(yè)應用的,這么一個(gè)想法,所以本質(zhì)上我只是覺(jué)得這東西沒(méi)什么大不了得,因為在03年的時(shí)候,Web Services 這個(gè)概念已經(jīng)火了兩三年了,所以我覺(jué)得,SOA沒(méi)有什么了不起的。 之后不久呢,通過(guò)跟企業(yè)接觸,企業(yè)告訴我們呢,也是一個(gè)誤解,現在來(lái)看也就是一個(gè)誤解,就是SOA是一個(gè)新一代的企業(yè)應用集成這樣的一種架構,也就是 EAI的下一代,當時(shí)我們就這么看的一個(gè)問(wèn)題。
有人提出來(lái)說(shuō),中國是不是不太適合SOA,因為在中國EAI在企業(yè)沒(méi)有特別多成熟的運用系統,主要依靠新 建,所以呢,當時(shí)也比較困惑這個(gè)問(wèn)題。后來(lái)SOA呢,進(jìn)入了一段相對不是那么熱鬧的一個(gè)階段,可以說(shuō)進(jìn)入了一個(gè)具體實(shí)施的一個(gè)時(shí)期,各家的認識和經(jīng)驗都在 積累,我們的思想也處在一個(gè)相對來(lái)說(shuō)比較穩定的一個(gè)狀態(tài)。
那么再過(guò)一段時(shí)間,當這個(gè)一些實(shí)施成果上來(lái)以后,包括我們去采訪(fǎng)一些SOA實(shí)施,有了實(shí)踐經(jīng)驗以 后的這些人,我們作為媒體來(lái)講,得到一個(gè)新的認識,就是因為SOA是一種新的企業(yè)的IT基礎架構的,這么一種風(fēng)格,一種架構,其中流行的一種東西就是一個(gè) ESB,即總線(xiàn),然后很多Services通過(guò)根據總線(xiàn)相連接,簡(jiǎn)化之間的交互,達到松耦合等等。
所以當時(shí),我們那個(gè)時(shí)候,大概一年以前的時(shí)候,我對這件 事情的認識呢,進(jìn)化到它是一個(gè)風(fēng)格,它是一種架構,它架構也可以具體實(shí)例化成一種技術(shù),一個(gè)產(chǎn)品,這是我當時(shí)的一個(gè)認識。 那么到現在,到今天,又經(jīng)過(guò)一段時(shí)間的演化,又經(jīng)過(guò)了跟一些企業(yè)的交流,跟一些這個(gè)行里的大師,或者行業(yè)里的領(lǐng)導人物的交流,我最后,我覺(jué)得我現在的認 識,相對可能比較接近1996年Gartner提出來(lái)SOA的概念,這SOA是指什么呢,SOA是一種新的建構企業(yè)應用和企業(yè)IT基礎架構,主要是企業(yè) IT基礎架構的思想、方法、風(fēng)格、工具的一個(gè)總稱(chēng),所以SOA現在的這個(gè)思想,比較泛,就是說(shuō)比較寬廣,就是說(shuō)含義比較寬廣。
甚至我發(fā)明了一個(gè)順口溜,說(shuō) “SOA是個(gè)筐,什么都可以往里裝”,只要你這些新方法,是符合企業(yè)IT基指架構發(fā)展的下一個(gè)潮流,一個(gè)階段,那么現在很多人都把它會(huì )往SOA里去裝,但 是呢,SOA還是有它確切的含義和它明確的價(jià)值,所以,我剛才說(shuō)的這個(gè)含義呢,其實(shí)是我現在的一個(gè)認識。
記者:我也知道你在前段時(shí)間去了美國,去參加一個(gè)IBM組織的SOA大會(huì ),然后也接觸了很多國外的SOA專(zhuān)家,我想問(wèn)一下,國外的那個(gè)技術(shù)人員對SOA的理解和國內的人對SOA的理解,有什么區別嗎?
孟巖:恩,說(shuō)實(shí)話(huà),在這一點(diǎn)上,我不能說(shuō)我知道的很清楚。我是跟國外的技術(shù)人員就這方面交流的并不多,但是呢,從國外的一些文章,網(wǎng)站上的一些文 章,還從有限的一些交流來(lái)看的話(huà),SOA這個(gè)概念即使在美國,這仍然是一個(gè)引起很多爭議,引起很多的誤會(huì )的這個(gè)概念。尤其是在開(kāi)發(fā)者,在很技術(shù)的人員當 中,SOA是一個(gè)招人討厭的,或者說(shuō)是不被人理解的,或者是別人覺(jué)得,你就是個(gè)叫Hip,這么一個(gè)東西。
也有很多不同的認識跟理解,可是我覺(jué)得,如果要是 正本溯源的話(huà),還是應該去向Gartner這個(gè)提出SOA的這個(gè)組織,像IBM,像BEA,Oracle,包括微軟,他們技術(shù)的決策者,技術(shù)方向的決策 者,到那里去SOA的真經(jīng),如果我們到那里去問(wèn)的話(huà),我覺(jué)得,他們那里的SOA的思路跟我們國內目前一般開(kāi)發(fā)人員,一般技術(shù)管理者的認識水平,那還是不太 一樣的,就是還是有,他們還是比我們要領(lǐng)先很多的。
記者:但是另外一種觀(guān)點(diǎn)就是說(shuō),SOA是從國外開(kāi)始興起的,主要是去解決一些,去整合遺留的系統,但是我們國內的IT歷史并不是特別長(cháng),你認為SOA對我們國內的IT界有什么作用?
孟巖:我需要指出的是,你剛才的那個(gè)Statement就不對,首先它是從國外來(lái)的,這是對的,我們所有的東西差不多都是從國外來(lái)的。但是說(shuō)它只是 為了整合遺留系統,這句話(huà)就有問(wèn)題。因為SOA要做的第一件事情不是整合,第一件事情,當然還是重新梳理你的業(yè)務(wù)流程,把它SOA把它Service化, 但是呢,在著(zhù)手進(jìn)行改造,第一件事情,打散你的業(yè)務(wù),先破再立,不是簡(jiǎn)單的把過(guò)去的業(yè)務(wù)進(jìn)行整合。
我們如果運氣好,你過(guò)去的業(yè)務(wù)系統呢,正好能被完整的包 裝成一個(gè)服務(wù),那當然好了,但是如果你過(guò)去的業(yè)務(wù)系統,不好被完整的包裝成一個(gè)服務(wù),那就需要先把它打開(kāi),給張三的給張三,給李四的給李四,把它包裝配成 一個(gè)服務(wù),這個(gè)是要糾正的。
所以就是說(shuō),即使從國外的企業(yè)來(lái)講,它也不純粹是一個(gè)整合的概念,它確實(shí)是一個(gè)以服務(wù)為導向,重新規劃系統的這么一個(gè)過(guò)程,而 對中國呢,我講過(guò)了剛才的觀(guān)點(diǎn),如果說(shuō)國外呢,是改建為主,就是我的房子已經(jīng)蓋好了,我要改建,我一定要把它該拆的拆,該破的破,該打通的打通,對吧,但 是它畢竟都屬于改建;中國的情況呢,則是新建、改建、擴建并行,我們大量的系統,大量的企業(yè),到現在還在懷疑IT的價(jià)值,它沒(méi)有進(jìn)行第一代的IT化的建 設,還有一些企業(yè)已經(jīng)進(jìn)行了第一代的IT建設,還有很多的企業(yè)正在進(jìn)行第二代的,第三代的IT建設。
從2003年開(kāi)始,中國IT建設70%的投資是二次建設,所以你可以想像一下,做IT的公司才多少?大量的公司,大量的企業(yè)還沒(méi)有做IT,還沒(méi)有認真的把 IT放到自己的這個(gè)管理中間來(lái),包括還有一些非企業(yè)性質(zhì)的,政府、學(xué)校和一些社會(huì )組織,都還沒(méi)有把IT納入自己的業(yè)務(wù)管理的過(guò)程當中,所以潛力是很大的。 對于它們來(lái)說(shuō),一個(gè)主要的考慮就是,說(shuō)白了,領(lǐng)導說(shuō)話(huà)算不算話(huà),這個(gè)很重要,領(lǐng)導說(shuō)話(huà)要算話(huà)你就必須要讓IT系統足夠靈活。
我們中國的企業(yè)是有這樣的特 點(diǎn),和我們國家國情比較接近,我們喜歡突變,我們可能會(huì )在某一個(gè)水平線(xiàn)上,某一個(gè)狀態(tài)上維持一個(gè)比較長(cháng)的時(shí)間,然后突然一下發(fā)生巨大變化,這個(gè)時(shí)候就是要 求我們IT系統非常靈活,其實(shí)我個(gè)人認為,我們中國的企業(yè)在國際市場(chǎng)上獲得一些成果一個(gè)很重要的原因,我們以外國人想象不到的速度在改變自己。
所以呢,這 是我剛才上一個(gè)問(wèn)題講到的,中國的企業(yè)絕不會(huì )允許自己損失機動(dòng)性,損失敏銳性,因為這是我們賴(lài)以生存的一個(gè)根本,所以如果你上一個(gè)IT系統,讓我把這個(gè)敏 銳性給損失掉了,我就不會(huì )上,也不會(huì )要的。 反映在很多現實(shí)當中,開(kāi)發(fā)人員給我們無(wú)耐地搖頭解釋說(shuō),中國沒(méi)法做IT,那領(lǐng)導人拍腦袋就變,你還非得聽(tīng)他的不可。這就說(shuō)明一個(gè)問(wèn)題,領(lǐng)導人拍腦袋就變, 這可不一定是壞事,這可能是這個(gè)企業(yè)競爭力的源泉之一。
所以我們在中國做企業(yè)的話(huà),要支持這種東西,要足夠靈活,要讓IT系統能夠跟隨決策者的思想變化而 變化。IT的意義本身在于使你的管理規范化,流程化,效率提高,嚴格,這樣一個(gè)避免人為因素,降低對人力素質(zhì)的要求,這樣的一個(gè)特點(diǎn)。所以我們,還是剛才 說(shuō)的,我們中國的IT,目前在SOA要解決的問(wèn)題就是不損失靈活性的情況下,提高管理水平、有效性、管理的效果。
記者:那么在實(shí)施SOA的過(guò)程中你認為應該注意哪些問(wèn)題,有哪些難點(diǎn)存在?
孟巖:在實(shí)施SOA的過(guò)程當中,第一個(gè)難點(diǎn),我覺(jué)得是要改變一些思維,改變一些傳統的思維方式。傳統的思維方式是把這種,從業(yè)務(wù)到IT系統,這種運 作過(guò)程看成是一種魔術(shù)的,要靠培養巨牛無(wú)比的人,這個(gè)既要具有極強的面向對象這些基礎的軟件和IT基礎的這種知識和技能,通過(guò)多年的磨煉,能夠規避各種各 樣的風(fēng)險;然后還要懂這個(gè)業(yè)務(wù),要善于溝通,要用有效的方法來(lái)幫它及時(shí)地找到和發(fā)現自己的錯誤,這是非常難做到的事情。
那么首先要改變觀(guān)念就是說(shuō),我們現 在一個(gè)層面是業(yè)務(wù),一個(gè)層面是技術(shù),所以我們在中間加一個(gè)層面,叫Service,這個(gè)Service是一個(gè)貼近技術(shù),貼近業(yè)務(wù),又可以被技術(shù)支持的一個(gè) 概念,能夠以它為標準,又能夠以它為單位,對于業(yè)務(wù)來(lái)進(jìn)行模塊化,實(shí)現Service之后,你會(huì )發(fā)現,當你的業(yè)務(wù)要發(fā)生變化的時(shí)候,你所要做的僅僅是微調 Service內部的接口、契約、服務(wù)質(zhì)量和重新調整各個(gè)Service之間的關(guān)系,幾乎就可以滿(mǎn)足你對業(yè)務(wù)調整的需要。
這就是說(shuō)我們把業(yè)務(wù)給模塊化,找到合理的一個(gè)單元,可以用它來(lái)把業(yè)務(wù)這個(gè)事情模塊化,而這個(gè)單元又特別巧的,也不是特別巧的,刻意地可以被技術(shù),用我們現 在傳統的這一代組件啊,對象啊這些東西來(lái)支持和實(shí)現,這不是很好的事情嗎?我們說(shuō)一句諺語(yǔ)叫“當你在軟件里面遇到任何問(wèn)題的時(shí)候,請增加一個(gè)中間層”,這 個(gè)就是這個(gè)思想的一個(gè)應用。增加了一個(gè)Service這樣的一個(gè)中間層,一個(gè)間接層,來(lái)協(xié)調這兩個(gè)差的太遠的之間的關(guān)系,來(lái)做到這件事情。
所以首先思想上 要改變,要知道SOA為什么?知道了這一點(diǎn),你才能夠有可能去正確的去實(shí)施SOA,SOA在實(shí)施的時(shí)候第一步,應該是梳理業(yè)務(wù)流程;第二步,應該是用 Service的觀(guān)點(diǎn)重新描述你的業(yè)務(wù)流程,這個(gè)過(guò)程也是挺關(guān)鍵的,我認為,從這個(gè)過(guò)程往下,就比較容易一些,包括做一些具體實(shí)現Service的一些方 法、操作和我們常用的一些方法。當然可能還有一些新的標準,SCA啊,SDO啊,包括ESB啊,包括一些提供的工具。
但總的來(lái)說(shuō),到了我們開(kāi)發(fā)者日常工作這一塊,他的改變有,但是他的工作形態(tài)的變化并不是很大,可是在這個(gè)業(yè)務(wù)梳理和業(yè)務(wù)架構這個(gè)過(guò)程當中,是有一個(gè)關(guān)鍵變 化,這個(gè)是我覺(jué)得這個(gè),你剛才說(shuō)到難點(diǎn)在哪。那么這個(gè)難點(diǎn)歸根到底就在于,我認為SOA存在的關(guān)鍵在于,它是否能夠培養出足夠多的高素質(zhì)的,高質(zhì)量的這種 SOA架構師。
SOA的架構師跟我們傳統意義上的架構師不太一樣,傳統意義上的架構師就是變魔術(shù)的那幫人,也不知道他怎么想的就變了?,F在呢,要把這個(gè)過(guò) 程分成兩步,第一步把它分解成為服務(wù),把服務(wù)之間的關(guān)系理順;第二步,把每個(gè)服務(wù)的接口、契約,全部都封裝好,服務(wù)之間的關(guān)系,包括它的 Governance之間的關(guān)系,這個(gè)叫做業(yè)務(wù)架構,這個(gè)人我認為是在SOA時(shí)代最吃香而且至關(guān)重要的一個(gè)腳色。
記者:你按照你的意思來(lái)說(shuō),就是我們現在的開(kāi)發(fā)人員,或者說(shuō)是一些架構師,做轉變的話(huà),要重視業(yè)務(wù)的發(fā)展,是這樣嗎?
孟 巖:對,我覺(jué)得這句話(huà)其實(shí)說(shuō)的很多。就是沒(méi)有SOA時(shí)候,大家也都在做,你作為一個(gè)開(kāi)發(fā)者也好,作為一個(gè)架構師也好,你一定要關(guān)注業(yè)務(wù)。但是呢,過(guò)去這種 說(shuō)法,是種泛泛的,我們不知道怎么關(guān)注,你總不能讓我去成為一個(gè)石油專(zhuān)家,一個(gè)銀行家,或者一個(gè)什么,才能夠就是說(shuō)開(kāi)始這樣的一個(gè)系統,那這樣的人有多少 呢?成為那樣的人,還做IT系統嗎?有這樣的問(wèn)題存在。
現在呢,有一個(gè)具體的指導方針,就是說(shuō)你該怎么去了解業(yè)務(wù)了,你要把業(yè)務(wù)分解成為一個(gè)一個(gè)的 Service,理順這些Service的關(guān)系,調整Service的接口和契約,這是對這個(gè)的理解。對開(kāi)發(fā)者的理解,對開(kāi)發(fā)者的影響來(lái)講,有些實(shí)踐就要 變了。比如說(shuō),我們現在用到的一些,它已經(jīng)熟習的一些思想、方法,一些東西可能有一些變化。
因為過(guò)去呢,你直接面向業(yè)務(wù),開(kāi)發(fā)者往往要學(xué)會(huì )一種能力,看了一段自然語(yǔ)言文本,就把一個(gè)什么對象圖啊,什么模塊圖啊,類(lèi)圖啊等都畫(huà)出來(lái),這個(gè)是過(guò)去要求 的一個(gè)?,F在呢,你要面對的問(wèn)題,可能就是說(shuō),你要面臨的是怎么樣最好的,向外界提供高質(zhì)量的符合企業(yè)的服務(wù),這是開(kāi)發(fā)者的一個(gè)變化。但是更大的影響呢, 對于開(kāi)發(fā)者來(lái)講的話(huà),是他需要重新安排自己的職業(yè)生涯和規劃,過(guò)去他覺(jué)得我學(xué)習這些東西也就可以成為架構師,設計師架構師怎么怎么樣,或者我就專(zhuān)心的做我 的.NET,做我的Java的內核,高效率的東西,也可以成為那個(gè)領(lǐng)域的專(zhuān)家,但是你要知道這是兩個(gè)不同的路線(xiàn)?,F在呢,你想做企業(yè)里面的架構師,有來(lái)之 后,你就可能,對自己職業(yè)的規劃,一個(gè)目標,要有一些調整和變化。
記者:我在看很多關(guān)于SOA的文章都提到各式各樣的標準,我想問(wèn)一下,為什么SOA里面會(huì )有那么多的標準?
孟巖:其實(shí)坦率的說(shuō),現在SOA一個(gè)很大的問(wèn)題就是標準化不夠,標準沒(méi)有得到很好的制定和實(shí)施,甚至可以說(shuō),我可以這么講,SOA,現在是有一個(gè) OSOA組織了,但是這個(gè)組織不是一個(gè)很強有力的組織,國際化的這個(gè)標準組織一般都是比較松散的,這個(gè)OSOA也是松散的。然后呢,各大廠(chǎng)商都有自己的想 法和主意,結果就是說(shuō),SOA標準化的東西目前做的不是特別好,但是盡管有這么多的問(wèn)題,還是有SCA、SDO這樣的標準出現,這個(gè)對于SOA還是很好的 事情,還有一些其他的標準,比如說(shuō)WS-*,有三十多個(gè)標準,那些東西不屬于SOA,盡管可以用它很好的來(lái)實(shí)現SOA,但是你不要把它作為SOA標準,所 以在我看來(lái)呢,SOA的問(wèn)題不是說(shuō)標準化太多,而是標準不足的問(wèn)題。
我們馬上面臨很大的一個(gè)問(wèn)題就是說(shuō),微軟它做了一套體系,跟SOA的SCA、SDO標 準是不一致的,這里的問(wèn)題就是說(shuō),我們當然還要看,微軟的WPF、WCF跟這個(gè)是相關(guān)的,以及WF這個(gè)標準,能夠互相兼容,互相操作。如果可以的話(huà),當然 很好,如果不可以的話(huà),怎么辦?我們得到了一些微軟方面的承諾,但是畢竟這個(gè)還是不官方承諾,我們想看看這個(gè)事情怎么發(fā)展。所以標準有,如果談到SOA的 話(huà),標準真的不是太多了,而是還不夠。
記者:另外然后業(yè)界里面流行的概念,一個(gè)是SOA,另外一個(gè)是Web 2.0,兩者之間也是有很大的關(guān)系,我想請你評價(jià)一下這兩者之間的關(guān)系?
孟巖:這次我去美國的時(shí)候呢,我去參加的IBM Impact 2007這個(gè)大會(huì ),這個(gè)大會(huì )的主辦者或者說(shuō)最主要的一個(gè)人,是IBM軟件集團的一個(gè)副總載,叫Sandy Carter,是一位女士,IBM的一位傳奇的一位女性。她寫(xiě)了一本書(shū),叫做《業(yè)務(wù)的新語(yǔ)言》,子標題是SOA&Web2.0,所以從這句話(huà)來(lái) 看,就知道這兩個(gè)是有關(guān)系的。什么關(guān)系?我可以這么說(shuō)的,這兩個(gè)東西協(xié)同起來(lái),可以共同為我們搭配剛才所說(shuō)的敏捷業(yè)務(wù)的目標,為什么這么說(shuō),因為傳統上, 這個(gè)企業(yè)呀,你像我們業(yè)務(wù)系統總得用數據,業(yè)務(wù)邏輯,在它上面展現,還有一些整合的過(guò)程,有人提出Portal,企業(yè)級Portal這樣一個(gè)概念,這么一 些過(guò)程的話(huà)。
實(shí)際上,當整個(gè)技術(shù)轉移到外圍以后,由于Web技術(shù),第一代Web技術(shù)的制約,也使得它們在企業(yè)運行當中的,企業(yè)當中的一些運用受到了一些限 制,現在的問(wèn)題就是說(shuō),Web 2.0這東西怎么理解呀,大家還在說(shuō)。我覺(jué)得固然有很多,從網(wǎng)絡(luò )社會(huì )學(xué)意義角度去出發(fā),去闡述Web 2.0,著(zhù)名的博客Keso,他提了很多,比如說(shuō)用戶(hù)與這個(gè)編輯處于同等地位呀,強調自由啊,強調話(huà)語(yǔ)權的平等呀,開(kāi)放性呀,強調用戶(hù)權益至上,把這些東 西列為Web 2.0的一個(gè)標桿。
但是從我們做IT的技術(shù)來(lái)講,Web 2.0他有他固定的技術(shù)含義,他是指一系列的第二代的Web服務(wù)的集合,這里面包括像RSS、Atom,然后有這個(gè)Syndication,其實(shí)就是剛才 說(shuō)的這兩個(gè)協(xié)議的抽象概念。然后有像這個(gè)Blog的這種服務(wù),社會(huì )網(wǎng)絡(luò ),技術(shù)上的有Ajax,數據的Mashup ,有數據的微格式,這樣的一些東西,這個(gè)東西綜合起來(lái),能夠給用戶(hù)更好的體驗,能夠給實(shí)施者提供更輕便,更容易的一種集成,這種東西叫Web 2.0。
那么它為什么可以用來(lái)和SOA一起來(lái)為企業(yè)來(lái)服務(wù)來(lái)使用呢?你記住,我們剛才說(shuō)為了業(yè)務(wù)敏捷性,業(yè)務(wù)敏捷性就意味著(zhù),我們不僅僅數據和業(yè)務(wù)的關(guān)系 發(fā)生變化,它給用戶(hù)的展現,它的集成方式,它的集成范圍,都會(huì )迅速發(fā)生改變,而在這一點(diǎn)上,傳統的企業(yè)使用的C/S模型,或者第一代Web技術(shù),它那種局 限性,都使你沒(méi)有辦法很快地,使你的最后傳到用戶(hù)那里的最后的一公里也跟著(zhù)一塊變。 只有我們采用Web 2.0這些功能,Web 2.0提供的這些服務(wù)和協(xié)議,它這種風(fēng)格,REST和Micro-format也就是微格式,這些東西融合起來(lái),你才能夠從下到上為用戶(hù),為企業(yè)提供一套 完整的敏捷的技術(shù)棧,才能夠說(shuō),人家的Idea一變,業(yè)務(wù)一變,底下的數據變,上面的模型,上面的業(yè)務(wù)叫流程變、服務(wù)變,流程變,最后到上頭來(lái),到前邊 Portal也變了,這個(gè)界面也變了,數據表單也變了,只有這個(gè)才能做到這一點(diǎn)。
所以Sandy Carter在這本書(shū)里面畫(huà)了一張圖,我剛剛提到她也是這個(gè)原因,這張圖是一個(gè)金字塔,然后她用一張薄片,把金字塔攔腰一切,底下SOA,上邊Web 2.0,很明顯地說(shuō)明這個(gè)問(wèn)題,就是說(shuō)在底下要用企業(yè)級的SOA技術(shù)解決問(wèn)題,將數據用標準方式如XML等暴露出來(lái),上邊用Web 2.0的技術(shù)去整合Mashup,去呈現,這種東西就會(huì )導致,就會(huì )使得我們剛才說(shuō)的業(yè)務(wù)敏捷性的目標得以實(shí)現,這就是這兩個(gè)技術(shù)應用之間的關(guān)系。
它們之間有什么關(guān)系?它們之間是盟友的關(guān)系,我們共同協(xié)作可以達成敏捷性的目標,否則的話(huà),如果你幾家是很快變化的數據和流程,上面我還是傳統老舊的那一 套,比如說(shuō)Web 1.0的,或者是,甚至是更傳統的VB或者是更傳統的.NET富客戶(hù)端所寫(xiě)的程序,當然對于企業(yè)最后還是得不到迅速變化,隨之實(shí)施的這么一個(gè)結果。那我可 以給你舉一個(gè)小例子,這個(gè)Web 2.0一旦跟企業(yè)應用相結合,形成一個(gè)Enterprise Web 2.0這么一個(gè)新概念。
那么這個(gè),我給你舉一個(gè)小例子,已經(jīng)實(shí)施的例子:就是有一家遠洋航運公司,他們呢,做了這么樣一個(gè)應用,就是他們通過(guò)GPS系統,將自己的每一艘航船在遠 洋,在地球上的位置,都能夠實(shí)時(shí)的確定下來(lái),他們把這個(gè)數據得到并放在一個(gè)服務(wù)器系統里面;他們另外一個(gè)系統保存著(zhù)每一艘遠洋航船此次航運他的目的地、起 點(diǎn)、他的運貨是哪些,這些定單信息,這些商務(wù)上的信息;另外一個(gè)系統保存著(zhù)每艘航船里邊的人都是誰(shuí),雇員的信息,海員的信息,臨時(shí)工是誰(shuí),他的情況是什么 樣子。然后,其實(shí)現在就表示他們已經(jīng)提供了一些服務(wù)了,在把這些服務(wù)跟就是,他把這些數據用SOA的方式,把這些服務(wù)給整合起來(lái)。
整合起來(lái)之后,跟Web 2.0這個(gè)技術(shù)能夠理解的格式比如XML以后,再跟Google Map整合,立刻得到了一張全球海洋圖,一張大的一個(gè)全球地圖,每一艘現在在什么位置都可以看到。當他點(diǎn)擊那個(gè)船的時(shí)候,他可以立刻看到這個(gè)船本身的信 息,船上船員的信息,這次航行的有關(guān)商務(wù)信息,都可以看到,這個(gè)就是SOA跟Web 2.0融合的一個(gè)例子。
但故事還沒(méi)完,當我們部署到內部的時(shí)候,好多事情就會(huì )不斷的出現。因為你不僅可以縫合你,Mashup你自己企業(yè)內部的信息,當你 采用公共的Enterprise Web 2.0作為你的架構以后,你就可以公開(kāi)的自由的獲得,或者是通過(guò)付費的方式,獲得別的企業(yè)高質(zhì)量的數據服務(wù)。他們很快又購買(mǎi)了一家海洋天氣預報公司所提供 的高質(zhì)量的數據服務(wù),然后Mashup到這張圖里面,就可以看到天氣的情況。
然后更有意思的是,他們后來(lái)又想知道海盜報警,哪些地方發(fā)生海盜的事情,英國 有家公司提供這樣的信息,于是他們就把那些信息又通過(guò)Web Service的方式抓過(guò)來(lái),那些公司的信息通過(guò)Web Service的方式暴露出來(lái)了,他們把這些信息抓過(guò)來(lái),縫合到這張圖里面去,讓它來(lái)顯示不同的信息。它立刻就可以得到,我這次航行處在什么樣的氣象條件 下,海洋氣象條件下,然后它前方或者它路過(guò)的地方,有沒(méi)有海盜的這個(gè)情況,高危險地區我就要提示它警告它,這樣的一個(gè)應用,我認為是目前我所知道的,比較 好的Enterprise Web 2.0和SOA的應用,這么一個(gè)表現。
我相信,由于這樣的一個(gè)系統,據我所知,它是在一家全球頂級的大公司支持之下,來(lái)完成的。據說(shuō)這個(gè)整個(gè)的項目的實(shí) 施,尤其是后面融合數據的過(guò)程,都是非???,花費統一,而且就是說(shuō),完全沒(méi)有那些繁冗的過(guò)程,這就是Enterprise web 2.0的威力。

