原文地址:http://news.csdn.net/n/20070828/108019.html

記者:請(qǐng)問你是怎么理解SOA的?


孟巖:我這個(gè)理解來說下來就是,有這么大概幾個(gè)過程,也分成這么幾個(gè)階段。最早就是03年左 右,我剛到CSDN的時(shí)候,那個(gè)時(shí)候呢,SOA有一段的這個(gè)宣傳的這種高潮,各大公司,包括微軟、IBM、Oracle、BEA啊,都在打SOA,所以當(dāng) 時(shí)我們作為技術(shù)媒體,不得不了解一下SOA是什么東西,在那個(gè)時(shí)候,我們是很模糊的。

所以我的第一個(gè)階段呢,我就認(rèn)為在技術(shù)上,我認(rèn)為SOA是一個(gè)用 Web Services來做企業(yè)應(yīng) 用的,這么一個(gè)想法,所以本質(zhì)上我只是覺得這東西沒什么大不了得,因?yàn)樵?3年的時(shí)候,Web Services 這個(gè)概念已經(jīng)火了兩三年了,所以我覺得,SOA沒有什么了不起的。 之后不久呢,通過跟企業(yè)接觸,企業(yè)告訴我們呢,也是一個(gè)誤解,現(xiàn)在來看也就是一個(gè)誤解,就是SOA是一個(gè)新一代的企業(yè)應(yīng)用集成這樣的一種架構(gòu),也就是 EAI的下一代,當(dāng)時(shí)我們就這么看的一個(gè)問題。

有人提出來說,中國(guó)是不是不太適合SOA,因?yàn)樵谥袊?guó)EAI在企業(yè)沒有特別多成熟的運(yùn)用系統(tǒng),主要依靠新 建,所以呢,當(dāng)時(shí)也比較困惑這個(gè)問題。后來SOA呢,進(jìn)入了一段相對(duì)不是那么熱鬧的一個(gè)階段,可以說進(jìn)入了一個(gè)具體實(shí)施的一個(gè)時(shí)期,各家的認(rèn)識(shí)和經(jīng)驗(yàn)都在 積累,我們的思想也處在一個(gè)相對(duì)來說比較穩(wěn)定的一個(gè)狀態(tài)。

那么再過一段時(shí)間,當(dāng)這個(gè)一些實(shí)施成果上來以后,包括我們?nèi)ゲ稍L一些SOA實(shí)施,有了實(shí)踐經(jīng)驗(yàn)以 后的這些人,我們作為媒體來講,得到一個(gè)新的認(rèn)識(shí),就是因?yàn)镾OA是一種新的企業(yè)的IT基礎(chǔ)架構(gòu)的,這么一種風(fēng)格,一種架構(gòu),其中流行的一種東西就是一個(gè) ESB,即總線,然后很多Services通過根據(jù)總線相連接,簡(jiǎn)化之間的交互,達(dá)到松耦合等等。

所以當(dāng)時(shí),我們那個(gè)時(shí)候,大概一年以前的時(shí)候,我對(duì)這件 事情的認(rèn)識(shí)呢,進(jìn)化到它是一個(gè)風(fēng)格,它是一種架構(gòu),它架構(gòu)也可以具體實(shí)例化成一種技術(shù),一個(gè)產(chǎn)品,這是我當(dāng)時(shí)的一個(gè)認(rèn)識(shí)。 那么到現(xiàn)在,到今天,又經(jīng)過一段時(shí)間的演化,又經(jīng)過了跟一些企業(yè)的交流,跟一些這個(gè)行里的大師,或者行業(yè)里的領(lǐng)導(dǎo)人物的交流,我最后,我覺得我現(xiàn)在的認(rèn) 識(shí),相對(duì)可能比較接近1996年Gartner提出來SOA的概念,這SOA是指什么呢,SOA是一種新的建構(gòu)企業(yè)應(yīng)用和企業(yè)IT基礎(chǔ)架構(gòu),主要是企業(yè) IT基礎(chǔ)架構(gòu)的思想、方法、風(fēng)格、工具的一個(gè)總稱,所以SOA現(xiàn)在的這個(gè)思想,比較泛,就是說比較寬廣,就是說含義比較寬廣。

甚至我發(fā)明了一個(gè)順口溜,說 “SOA是個(gè)筐,什么都可以往里裝”,只要你這些新方法,是符合企業(yè)IT基指架構(gòu)發(fā)展的下一個(gè)潮流,一個(gè)階段,那么現(xiàn)在很多人都把它會(huì)往SOA里去裝,但 是呢,SOA還是有它確切的含義和它明確的價(jià)值,所以,我剛才說的這個(gè)含義呢,其實(shí)是我現(xiàn)在的一個(gè)認(rèn)識(shí)。

記者:我也知道你在前段時(shí)間去了美國(guó),去參加一個(gè)IBM組織的SOA大會(huì),然后也接觸了很多國(guó)外的SOA專家,我想問一下,國(guó)外的那個(gè)技術(shù)人員對(duì)SOA的理解和國(guó)內(nèi)的人對(duì)SOA的理解,有什么區(qū)別嗎? 

孟巖:恩,說實(shí)話,在這一點(diǎn)上,我不能說我知道的很清楚。我是跟國(guó)外的技術(shù)人員就這方面交流的并不多,但是呢,從國(guó)外的一些文章,網(wǎng)站上的一些文 章,還從有限的一些交流來看的話,SOA這個(gè)概念即使在美國(guó),這仍然是一個(gè)引起很多爭(zhēng)議,引起很多的誤會(huì)的這個(gè)概念。尤其是在開發(fā)者,在很技術(shù)的人員當(dāng) 中,SOA是一個(gè)招人討厭的,或者說是不被人理解的,或者是別人覺得,你就是個(gè)叫Hip,這么一個(gè)東西。

也有很多不同的認(rèn)識(shí)跟理解,可是我覺得,如果要是 正本溯源的話,還是應(yīng)該去向Gartner這個(gè)提出SOA的這個(gè)組織,像IBM,像BEA,Oracle,包括微軟,他們技術(shù)的決策者,技術(shù)方向的決策 者,到那里去SOA的真經(jīng),如果我們到那里去問的話,我覺得,他們那里的SOA的思路跟我們國(guó)內(nèi)目前一般開發(fā)人員,一般技術(shù)管理者的認(rèn)識(shí)水平,那還是不太 一樣的,就是還是有,他們還是比我們要領(lǐng)先很多的。

記者:但是另外一種觀點(diǎn)就是說,SOA是從國(guó)外開始興起的,主要是去解決一些,去整合遺留的系統(tǒng),但是我們國(guó)內(nèi)的IT歷史并不是特別長(zhǎng),你認(rèn)為SOA對(duì)我們國(guó)內(nèi)的IT界有什么作用? 

孟巖:我需要指出的是,你剛才的那個(gè)Statement就不對(duì),首先它是從國(guó)外來的,這是對(duì)的,我們所有的東西差不多都是從國(guó)外來的。但是說它只是 為了整合遺留系統(tǒng),這句話就有問題。因?yàn)镾OA要做的第一件事情不是整合,第一件事情,當(dāng)然還是重新梳理你的業(yè)務(wù)流程,把它SOA把它Service化, 但是呢,在著手進(jìn)行改造,第一件事情,打散你的業(yè)務(wù),先破再立,不是簡(jiǎn)單的把過去的業(yè)務(wù)進(jìn)行整合。

我們?nèi)绻\(yùn)氣好,你過去的業(yè)務(wù)系統(tǒng)呢,正好能被完整的包 裝成一個(gè)服務(wù),那當(dāng)然好了,但是如果你過去的業(yè)務(wù)系統(tǒng),不好被完整的包裝成一個(gè)服務(wù),那就需要先把它打開,給張三的給張三,給李四的給李四,把它包裝配成 一個(gè)服務(wù),這個(gè)是要糾正的。

所以就是說,即使從國(guó)外的企業(yè)來講,它也不純粹是一個(gè)整合的概念,它確實(shí)是一個(gè)以服務(wù)為導(dǎo)向,重新規(guī)劃系統(tǒng)的這么一個(gè)過程,而 對(duì)中國(guó)呢,我講過了剛才的觀點(diǎn),如果說國(guó)外呢,是改建為主,就是我的房子已經(jīng)蓋好了,我要改建,我一定要把它該拆的拆,該破的破,該打通的打通,對(duì)吧,但 是它畢竟都屬于改建;中國(guó)的情況呢,則是新建、改建、擴(kuò)建并行,我們大量的系統(tǒng),大量的企業(yè),到現(xiàn)在還在懷疑IT的價(jià)值,它沒有進(jìn)行第一代的IT化的建 設(shè),還有一些企業(yè)已經(jīng)進(jìn)行了第一代的IT建設(shè),還有很多的企業(yè)正在進(jìn)行第二代的,第三代的IT建設(shè)。

從2003年開始,中國(guó)IT建設(shè)70%的投資是二次建設(shè),所以你可以想像一下,做IT的公司才多少?大量的公司,大量的企業(yè)還沒有做IT,還沒有認(rèn)真的把 IT放到自己的這個(gè)管理中間來,包括還有一些非企業(yè)性質(zhì)的,政府、學(xué)校和一些社會(huì)組織,都還沒有把IT納入自己的業(yè)務(wù)管理的過程當(dāng)中,所以潛力是很大的。 對(duì)于它們來說,一個(gè)主要的考慮就是,說白了,領(lǐng)導(dǎo)說話算不算話,這個(gè)很重要,領(lǐng)導(dǎo)說話要算話你就必須要讓IT系統(tǒng)足夠靈活。

我們中國(guó)的企業(yè)是有這樣的特 點(diǎn),和我們國(guó)家國(guó)情比較接近,我們喜歡突變,我們可能會(huì)在某一個(gè)水平線上,某一個(gè)狀態(tài)上維持一個(gè)比較長(zhǎng)的時(shí)間,然后突然一下發(fā)生巨大變化,這個(gè)時(shí)候就是要 求我們IT系統(tǒng)非常靈活,其實(shí)我個(gè)人認(rèn)為,我們中國(guó)的企業(yè)在國(guó)際市場(chǎng)上獲得一些成果一個(gè)很重要的原因,我們以外國(guó)人想象不到的速度在改變自己。

所以呢,這 是我剛才上一個(gè)問題講到的,中國(guó)的企業(yè)絕不會(huì)允許自己損失機(jī)動(dòng)性,損失敏銳性,因?yàn)檫@是我們賴以生存的一個(gè)根本,所以如果你上一個(gè)IT系統(tǒng),讓我把這個(gè)敏 銳性給損失掉了,我就不會(huì)上,也不會(huì)要的。 反映在很多現(xiàn)實(shí)當(dāng)中,開發(fā)人員給我們無(wú)耐地?fù)u頭解釋說,中國(guó)沒法做IT,那領(lǐng)導(dǎo)人拍腦袋就變,你還非得聽他的不可。這就說明一個(gè)問題,領(lǐng)導(dǎo)人拍腦袋就變, 這可不一定是壞事,這可能是這個(gè)企業(yè)競(jìng)爭(zhēng)力的源泉之一。

所以我們?cè)谥袊?guó)做企業(yè)的話,要支持這種東西,要足夠靈活,要讓IT系統(tǒng)能夠跟隨決策者的思想變化而 變化。IT的意義本身在于使你的管理規(guī)范化,流程化,效率提高,嚴(yán)格,這樣一個(gè)避免人為因素,降低對(duì)人力素質(zhì)的要求,這樣的一個(gè)特點(diǎn)。所以我們,還是剛才 說的,我們中國(guó)的IT,目前在SOA要解決的問題就是不損失靈活性的情況下,提高管理水平、有效性、管理的效果。

記者:那么在實(shí)施SOA的過程中你認(rèn)為應(yīng)該注意哪些問題,有哪些難點(diǎn)存在? 

孟巖:在實(shí)施SOA的過程當(dāng)中,第一個(gè)難點(diǎn),我覺得是要改變一些思維,改變一些傳統(tǒng)的思維方式。傳統(tǒng)的思維方式是把這種,從業(yè)務(wù)到IT系統(tǒng),這種運(yùn) 作過程看成是一種魔術(shù)的,要靠培養(yǎng)巨牛無(wú)比的人,這個(gè)既要具有極強(qiáng)的面向?qū)ο筮@些基礎(chǔ)的軟件和IT基礎(chǔ)的這種知識(shí)和技能,通過多年的磨煉,能夠規(guī)避各種各 樣的風(fēng)險(xiǎn);然后還要懂這個(gè)業(yè)務(wù),要善于溝通,要用有效的方法來幫它及時(shí)地找到和發(fā)現(xiàn)自己的錯(cuò)誤,這是非常難做到的事情。

那么首先要改變觀念就是說,我們現(xiàn) 在一個(gè)層面是業(yè)務(wù),一個(gè)層面是技術(shù),所以我們?cè)谥虚g加一個(gè)層面,叫Service,這個(gè)Service是一個(gè)貼近技術(shù),貼近業(yè)務(wù),又可以被技術(shù)支持的 一個(gè) 概念,能夠以它為標(biāo)準(zhǔn),又能夠以它為單位,對(duì)于業(yè)務(wù)來進(jìn)行模塊化,實(shí)現(xiàn)Service之后,你會(huì)發(fā)現(xiàn),當(dāng)你的業(yè)務(wù)要發(fā)生變化的時(shí)候,你所要做的僅僅是微調(diào) Service內(nèi)部的接口、契約、服務(wù)質(zhì)量和重新調(diào)整各個(gè)Service之間的關(guān)系,幾乎就可以滿足你對(duì)業(yè)務(wù)調(diào)整的需要。

這就是說我們把業(yè)務(wù)給模塊化,找到合理的一個(gè)單元,可以用它來把業(yè)務(wù)這個(gè)事情模塊化,而這個(gè)單元又特別巧的,也不是特別巧的,刻意地可以被技術(shù),用我們現(xiàn) 在傳統(tǒng)的這一代組件啊,對(duì)象啊這些東西來支持和實(shí)現(xiàn),這不是很好的事情嗎?我們說一句諺語(yǔ)叫“當(dāng)你在軟件里面遇到任何問題的時(shí)候,請(qǐng)?jiān)黾右粋€(gè)中間層”,這 個(gè)就是這個(gè)思想的一個(gè)應(yīng)用。增加了一個(gè)Service這樣的一個(gè)中間層,一個(gè)間接層,來協(xié)調(diào)這兩個(gè)差的太遠(yuǎn)的之間的關(guān)系,來做到這件事情。

所以首先思想上 要改變,要知道SOA為什么?知道了這一點(diǎn),你才能夠有可能去正確的去實(shí)施SOA,SOA在實(shí)施的時(shí)候第一步,應(yīng)該是梳理業(yè)務(wù)流程;第二步,應(yīng)該是用 Service的觀點(diǎn)重新描述你的業(yè)務(wù)流程,這個(gè)過程也是挺關(guān)鍵的,我認(rèn)為,從這個(gè)過程往下,就比較容易一些,包括做一些具體實(shí)現(xiàn)Service的一些方 法、操作和我們常用的一些方法。當(dāng)然可能還有一些新的標(biāo)準(zhǔn),SCA啊,SDO啊,包括ESB啊,包括一些提供的工具。

但總的來說,到了我們開發(fā)者日常工作這一塊,他的改變有,但是他的工作形態(tài)的變化并不是很大,可是在這個(gè)業(yè)務(wù)梳理和業(yè)務(wù)架構(gòu)這個(gè)過程當(dāng)中,是有一個(gè)關(guān)鍵變 化,這個(gè)是我覺得這個(gè),你剛才說到難點(diǎn)在哪。那么這個(gè)難點(diǎn)歸根到底就在于,我認(rèn)為SOA存在的關(guān)鍵在于,它是否能夠培養(yǎng)出足夠多的高素質(zhì)的,高質(zhì)量的這種 SOA架構(gòu)師。

SOA的架構(gòu)師跟我們傳統(tǒng)意義上的架構(gòu)師不太一樣,傳統(tǒng)意義上的架構(gòu)師就是變魔術(shù)的那幫人,也不知道他怎么想的就變了。現(xiàn)在呢,要把這個(gè)過 程分成兩步,第一步把它分解成為服務(wù),把服務(wù)之間的關(guān)系理順;第二步,把每個(gè)服務(wù)的接口、契約,全部都封裝好,服務(wù)之間的關(guān)系,包括它的 Governance之間的關(guān)系,這個(gè)叫做業(yè)務(wù)架構(gòu),這個(gè)人我認(rèn)為是在SOA時(shí)代最吃香而且至關(guān)重要的一個(gè)腳色。
 
記者:你按照你的意思來說,就是我們現(xiàn)在的開發(fā)人員,或者說是一些架構(gòu)師,做轉(zhuǎn)變的話,要重視業(yè)務(wù)的發(fā)展,是這樣嗎?
 
孟 巖:對(duì),我覺得這句話其實(shí)說的很多。就是沒有SOA時(shí)候,大家也都在做,你作為一個(gè)開發(fā)者也好,作為一個(gè)架構(gòu)師也好,你一定要關(guān)注業(yè)務(wù)。但是呢,過去這種 說法,是種泛泛的,我們不知道怎么關(guān)注,你總不能讓我去成為一個(gè)石油專家,一個(gè)銀行家,或者一個(gè)什么,才能夠就是說開始這樣的一個(gè)系統(tǒng),那這樣的人有多少 呢?成為那樣的人,還做IT系統(tǒng)嗎?有這樣的問題存在。

現(xiàn)在呢,有一個(gè)具體的指導(dǎo)方針,就是說你該怎么去了解業(yè)務(wù)了,你要把業(yè)務(wù)分解成為一個(gè)一個(gè)的 Service,理順這些Service的關(guān)系,調(diào)整Service的接口和契約,這是對(duì)這個(gè)的理解。對(duì)開發(fā)者的理解,對(duì)開發(fā)者的影響來講,有些實(shí)踐就要 變了。比如說,我們現(xiàn)在用到的一些,它已經(jīng)熟習(xí)的一些思想、方法,一些東西可能有一些變化。

因?yàn)檫^去呢,你直接面向業(yè)務(wù),開發(fā)者往往要學(xué)會(huì)一種能力,看了一段自然語(yǔ)言文本,就把一個(gè)什么對(duì)象圖啊,什么模塊圖啊,類圖啊等都畫出來,這個(gè)是過去要求 的一個(gè)。現(xiàn)在呢,你要面對(duì)的問題,可能就是說,你要面臨的是怎么樣最好的,向外界提供高質(zhì)量的符合企業(yè)的服務(wù),這是開發(fā)者的一個(gè)變化。但是更大的影響呢, 對(duì)于開發(fā)者來講的話,是他需要重新安排自己的職業(yè)生涯和規(guī)劃,過去他覺得我學(xué)習(xí)這些東西也就可以成為架構(gòu)師,設(shè)計(jì)師架構(gòu)師怎么怎么樣,或者我就專心的做我 的.NET,做我的Java的內(nèi)核,高效率的東西,也可以成為那個(gè)領(lǐng)域的專家,但是你要知道這是兩個(gè)不同的路線。現(xiàn)在呢,你想做企業(yè)里面的架構(gòu)師,有來之 后,你就可能,對(duì)自己職業(yè)的規(guī)劃,一個(gè)目標(biāo),要有一些調(diào)整和變化。

記者:我在看很多關(guān)于SOA的文章都提到各式各樣的標(biāo)準(zhǔn),我想問一下,為什么SOA里面會(huì)有那么多的標(biāo)準(zhǔn)? 

孟巖:其實(shí)坦率的說,現(xiàn)在SOA一個(gè)很大的問題就是標(biāo)準(zhǔn)化不夠,標(biāo)準(zhǔn)沒有得到很好的制定和實(shí)施,甚至可以說,我可以這么講,SOA,現(xiàn)在是有一個(gè) OSOA組織了,但是這個(gè)組織不是一個(gè)很強(qiáng)有力的組織,國(guó)際化的這個(gè)標(biāo)準(zhǔn)組織一般都是比較松散的,這個(gè)OSOA也是松散的。然后呢,各大廠商都有自己的想 法和主意,結(jié)果就是說,SOA標(biāo)準(zhǔn)化的東西目前做的不是特別好,但是盡管有這么多的問題,還是有SCA、SDO這樣的標(biāo)準(zhǔn)出現(xiàn),這個(gè)對(duì)于SOA還是很好的 事情,還有一些其他的標(biāo)準(zhǔn),比如說WS-*,有三十多個(gè)標(biāo)準(zhǔn),那些東西不屬于SOA,盡管可以用它很好的來實(shí)現(xiàn)SOA,但是你不要把它作為SOA標(biāo)準(zhǔn),所 以在我看來呢,SOA的問題不是說標(biāo)準(zhǔn)化太多,而是標(biāo)準(zhǔn)不足的問題。

我們馬上面臨很大的一個(gè)問題就是說,微軟它做了一套體系,跟SOA的SCA、SDO標(biāo) 準(zhǔn)是不一致的,這里的問題就是說,我們當(dāng)然還要看,微軟的WPF、WCF跟這個(gè)是相關(guān)的,以及WF這個(gè)標(biāo)準(zhǔn),能夠互相兼容,互相操作。如果可以的話,當(dāng)然 很好,如果不可以的話,怎么辦?我們得到了一些微軟方面的承諾,但是畢竟這個(gè)還是不官方承諾,我們想看看這個(gè)事情怎么發(fā)展。所以標(biāo)準(zhǔn)有,如果談到SOA的 話,標(biāo)準(zhǔn)真的不是太多了,而是還不夠。
 
記者:另外然后業(yè)界里面流行的概念,一個(gè)是SOA,另外一個(gè)是Web 2.0,兩者之間也是有很大的關(guān)系,我想請(qǐng)你評(píng)價(jià)一下這兩者之間的關(guān)系? 

孟巖:這次我去美國(guó)的時(shí)候呢,我去參加的IBM Impact 2007這個(gè)大會(huì),這個(gè)大會(huì)的主辦者或者說最主要的一個(gè)人,是IBM軟件集團(tuán)的一個(gè)副總載,叫Sandy Carter,是一位女士,IBM的一位傳奇的一位女性。她寫了一本書,叫做《業(yè)務(wù)的新語(yǔ)言》,子標(biāo)題是SOA&Web2.0,所以從這句話來 看,就知道這兩個(gè)是有關(guān)系的。什么關(guān)系?我可以這么說的,這兩個(gè)東西協(xié)同起來,可以共同為我們搭配剛才所說的敏捷業(yè)務(wù)的目標(biāo),為什么這么說,因?yàn)閭鹘y(tǒng)上, 這個(gè)企業(yè)呀,你像我們業(yè)務(wù)系統(tǒng)總得用數(shù)據(jù),業(yè)務(wù)邏輯,在它上面展現(xiàn),還有一些整合的過程,有人提出Portal,企業(yè)級(jí)Portal這樣一個(gè)概念,這么一 些過程的話。

實(shí)際上,當(dāng)整個(gè)技術(shù)轉(zhuǎn)移到外圍以后,由于Web技術(shù),第一代Web技術(shù)的制約,也使得它們?cè)谄髽I(yè)運(yùn)行當(dāng)中的,企業(yè)當(dāng)中的一些運(yùn)用受到了一些限 制,現(xiàn)在的問題就是說,Web 2.0這東西怎么理解呀,大家還在說。我覺得固然有很多,從網(wǎng)絡(luò)社會(huì)學(xué)意義角度去出發(fā),去闡述Web 2.0,著名的博客Keso,他提了很多,比如說用戶與這個(gè)編輯處于同等地位呀,強(qiáng)調(diào)自由啊,強(qiáng)調(diào)話語(yǔ)權(quán)的平等呀,開放性呀,強(qiáng)調(diào)用戶權(quán)益至上,把這些東 西列為Web 2.0的一個(gè)標(biāo)桿。

但是從我們做IT的技術(shù)來講,Web 2.0他有他固定的技術(shù)含義,他是指一系列的第二代的Web服務(wù)的集合,這里面包括像RSS、Atom,然后有這個(gè)Syndication,其實(shí)就是剛才 說的這兩個(gè)協(xié)議的抽象概念。然后有像這個(gè)Blog的這種服務(wù),社會(huì)網(wǎng)絡(luò),技術(shù)上的有Ajax,數(shù)據(jù)的Mashup ,有數(shù)據(jù)的微格式,這樣的一些東西,這個(gè)東西綜合起來,能夠給用戶更好的體驗(yàn),能夠給實(shí)施者提供更輕便,更容易的一種集成,這種東西叫Web 2.0。

那么它為什么可以用來和SOA一起來為企業(yè)來服務(wù)來使用呢?你記住,我們剛才說為了業(yè)務(wù)敏捷性,業(yè)務(wù)敏捷性就意味著,我們不僅僅數(shù)據(jù)和業(yè)務(wù)的關(guān)系 發(fā)生變化,它給用戶的展現(xiàn),它的集成方式,它的集成范圍,都會(huì)迅速發(fā)生改變,而在這一點(diǎn)上,傳統(tǒng)的企業(yè)使用的C/S模型,或者第一代Web技術(shù),它那種局 限性,都使你沒有辦法很快地,使你的最后傳到用戶那里的最后的一公里也跟著一塊變。 只有我們采用Web 2.0這些功能,Web 2.0提供的這些服務(wù)和協(xié)議,它這種風(fēng)格,REST和Micro-format也就是微格式,這些東西融合起來,你才能夠從下到上為用戶,為企業(yè)提供一套 完整的敏捷的技術(shù)棧,才能夠說,人家的Idea一變,業(yè)務(wù)一變,底下的數(shù)據(jù)變,上面的模型,上面的業(yè)務(wù)叫流程變、服務(wù)變,流程變,最后到上頭來,到前邊 Portal也變了,這個(gè)界面也變了,數(shù)據(jù)表單也變了,只有這個(gè)才能做到這一點(diǎn)。

所以Sandy Carter在這本書里面畫了一張圖,我剛剛提到她也是這個(gè)原因,這張圖是一個(gè)金字塔,然后她用一張薄片,把金字塔攔腰一切,底下SOA,上邊Web 2.0,很明顯地說明這個(gè)問題,就是說在底下要用企業(yè)級(jí)的SOA技術(shù)解決問題,將數(shù)據(jù)用標(biāo)準(zhǔn)方式如XML等暴露出來,上邊用Web 2.0的技術(shù)去整合Mashup,去呈現(xiàn),這種東西就會(huì)導(dǎo)致,就會(huì)使得我們剛才說的業(yè)務(wù)敏捷性的目標(biāo)得以實(shí)現(xiàn),這就是這兩個(gè)技術(shù)應(yīng)用之間的關(guān)系。

它們之間有什么關(guān)系?它們之間是盟友的關(guān)系,我們共同協(xié)作可以達(dá)成敏捷性的目標(biāo),否則的話,如果你幾家是很快變化的數(shù)據(jù)和流程,上面我還是傳統(tǒng)老舊的那一 套,比如說Web 1.0的,或者是,甚至是更傳統(tǒng)的VB或者是更傳統(tǒng)的.NET富客戶端所寫的程序,當(dāng)然對(duì)于企業(yè)最后還是得不到迅速變化,隨之實(shí)施的這么一個(gè)結(jié)果。那我可 以給你舉一個(gè)小例子,這個(gè)Web 2.0一旦跟企業(yè)應(yīng)用相結(jié)合,形成一個(gè)Enterprise Web 2.0這么一個(gè)新概念。

那么這個(gè),我給你舉一個(gè)小例子,已經(jīng)實(shí)施的例子:就是有一家遠(yuǎn)洋航運(yùn)公司,他們呢,做了這么樣一個(gè)應(yīng)用,就是他們通過GPS系統(tǒng),將自己的每一艘航船在遠(yuǎn) 洋,在地球上的位置,都能夠?qū)崟r(shí)的確定下來,他們把這個(gè)數(shù)據(jù)得到并放在一個(gè)服務(wù)器系統(tǒng)里 面;他們另外一個(gè)系統(tǒng)保存著每一艘遠(yuǎn)洋航船此次航運(yùn)他的目的地、起 點(diǎn)、他的運(yùn)貨是哪些,這些定單信息,這些商務(wù)上的信息;另外一個(gè)系統(tǒng)保存著每艘航船里邊的人都是誰(shuí),雇員的信息,海員的信息,臨時(shí)工是誰(shuí),他的情況是什么 樣子。然后,其實(shí)現(xiàn)在就表示他們已經(jīng)提供了一些服務(wù)了,在把這些服務(wù)跟就是,他把這些數(shù)據(jù)用SOA的方式,把這些服務(wù)給整合起來。

整合起來之后,跟Web 2.0這個(gè)技術(shù)能夠理解的格式比如XML以后,再跟Google Map整合,立刻得到了一張全球海洋圖,一張大的一個(gè)全球地圖,每一艘現(xiàn)在在什么位置都可以看到。當(dāng)他點(diǎn)擊那個(gè)船的時(shí)候,他可以立刻看到這個(gè)船本身的信 息,船上船員的信息,這次航行的有關(guān)商務(wù)信息,都可以看到,這個(gè)就是SOA跟Web 2.0融合的一個(gè)例子。

但故事還沒完,當(dāng)我們部署到內(nèi)部的時(shí)候,好多事情就會(huì)不斷的出現(xiàn)。因?yàn)槟悴粌H可以縫合你,Mashup你自己企業(yè)內(nèi)部的信息,當(dāng)你 采用公共的Enterprise Web 2.0作為你的架構(gòu)以后,你就可以公開的自由的獲得,或者是通過付費(fèi)的方式,獲得別的企業(yè)高質(zhì)量的數(shù)據(jù)服務(wù)。他們很快又購(gòu)買了一家海洋天氣預(yù)報(bào)公司所提供 的高質(zhì)量的數(shù)據(jù)服務(wù),然后Mashup到這張圖里面,就可以看到天氣的情況。

然后更有意思的是,他們后來又想知道海盜報(bào)警,哪些地方發(fā)生海盜的事情,英國(guó) 有家公司提供這樣的信息,于是他們就把那些信息又通過Web Service的方式抓過來,那些公司的信息通過Web Service的方式暴露出來了,他們把這些信息抓過來,縫合到這張圖里面去,讓它來顯示不同的信息。它立刻就可以得到,我這次航行處在什么樣的氣象條件 下,海洋氣象條件下,然后它前方或者它路過的地方,有沒有海盜的這個(gè)情況,高危險(xiǎn)地區(qū)我就要提示它警告它,這樣的一個(gè)應(yīng)用,我認(rèn)為是目前我所知道的,比較 好的Enterprise Web 2.0和SOA的應(yīng)用,這么一個(gè)表現(xiàn)。

我相信,由于這樣的一個(gè)系統(tǒng),據(jù)我所知,它是在一家全球頂級(jí)的大公司支持之下,來完成的。據(jù)說這個(gè)整個(gè)的項(xiàng)目的實(shí) 施,尤其是后面融合數(shù)據(jù)的過程,都是非常快,花費(fèi)統(tǒng)一,而且就是說,完全沒有那些繁冗的過程,這就是Enterprise web 2.0的威力。



歡迎大家訪問我的個(gè)人網(wǎng)站 萌萌的IT人