軟體2.0時代之三:毛新生談他眼中的Web2.0
最後更新:2018-07-20
來源:互聯網
上載者:User
軟體2.0時代之三:毛新生談他眼中的Web2.0
2007.08.31 來自:CSDN 共有評論(7)條 發表評論 [收藏到我的網摘]
Web是一個“活物”,是一個時時新、日日新,每天都在生長著的世界上最大的開放分布式系統。Web和以前的IT系統之間的差別主要體現在兩個方面 【CSDN獨家報道】
軟體2.0系列之一:孟岩談Web2.0與SOA的結合
軟體2.0系列之二:勞虎談企業應該如何看待Enterprise2.0
IBM的首席架構師毛新生講述了對於Web 2.0的看法。他認為,在討論Enterprise 2.0之前,應該先來瞭解什麼是Web2.0以及Web。在演講中他提到,Web是一個“活物”,是一個時時新、日日新,每天都在生長著的世界上最大的開放分布式系統。Web和以前的IT系統之間的差別主要體現在兩個方面:
首先,從社會角度來看,Web網站所服務的人數規模前所未有的龐大,動輒就是百萬、千萬。然而如此規模的人群卻也能很好的共處,還能通過協作做一些很有意義的事情。而以前要做到這點並不容易。
其次,從技術角度來看,建立和提供這些服務的方式,也和過去是如此的不同。比如Google、Amazon,他們所使用的硬體、構造的軟體、使用的技術,甚至技術人員所說的話,都和傳統企業世界裡的不同。
如果要探討推動Web發展的第一驅動力,其實就是千千萬萬的普通人。在全球寬頻化的背景下,越來越多的人蔘與到其中,並在參與的過程中和別人建立聯絡、分享想法、建立內容,甚至編寫小的應用等等。因此線下的種種事情,都能反映到線上的虛擬世界;而線上虛擬世界的種種互動和參與,又能帶動線下的
生活 、工作和商業的大幅度變化。
這樣的變化給Web帶來了巨大的商業潛力,在利益驅使下,相當多的 *.com公司前僕後繼地去進行技術和商業模式的創新。而這些創新主要集中在下面兩方面:
一、如何將內容、應用和服務帶給一個非常大規模的人群。如何大規模的將內容分發出去。能不能大規模生產簡單的應用和工具來供人們使用。這需要在軟體開發方法、基礎架構、技術和開發過程、軟體存在形態和供應方式等等方面,都要發生大的變化。
二、在擁有大規模使用人群之後,如何讓這些人從以前Web 1.0時單純的消費者變成生產者。因此,我們可以看到Web 2.0出現了新的模式:一個網站什麼都沒有,只有一點計算資源,然後運作一個品牌、確定一個方向、提供一些工具,剩下的就讓這群人自己玩。然後,尋找一種設計模式,一種全新的軟體模式,想辦法把這群人搭的台、唱的戲中比較精華的東西抽取出來。而這種模式也就是群體智慧。
Web 2.0展示了如何通過社交運算,將大規模人群組織起來,為他們搭建一個環境和平台,由他們自己去協作,去分發和生產大規模的內容,甚至建立各種各樣大量簡單的應用,來服務於一個大規模的、有機的、動態群體所需要的生活、工作和娛樂方式。
Web 2.0帶來的技術變革
Web 2.0在這樣的嘗試中,逐漸找到了一些新的模式,而這些模式如今已遍及了我們的生活、商業、技術和社會的各個層面。所以,Web 2.0實質上是一個社會、商務、技術三相融合的發展趨勢的總和。
圖:Web 2.0 是一個社會、商務、技術三相融合的發展趨勢
在技術上,我們發現一種新型分布式架構範式在浮現——這就是WOA(Web Oriented Architecture,面向Web的體繫結構),這也是SOA(Services Oriented Architecture,服務導向架構)的最新發展。
過去Web 1.0的網路在逐漸被由結構化的資料(如REST,即Xml Over Http)或者半結構化的資料(如Feeds)這樣的充滿了語義的網路所替代,網路的結構化、語義化為WOA的出現奠定了技術基礎。而社會層面的發展也非常的迅速,像 Blog/Wiki這樣的社交運算的工具僅僅是開始的一個小插曲而已,未來還會出現擁有更加強大能力,支援更大大規模人群協作、內容分發,和擁有更多新功能的應用。
所以,Web 2.0其實就是在將資訊和服務福士化。也就是讓不具備特別IT技能的普通人,也有能力去消費各種想要的內容、資料和服務。在技術上它從三個大的方面來實現:
第一,將軟體服務化進行到底。當前的SOA其實就是在談論如何將企業內部的核心商務程序,相對穩定和關鍵的資訊資源進行拆分重組,變成可重用、可組裝、位置透明和技術無關的及基於分布式架構的服務。而此時,Web 2.0又從消費者和Web的角度啟動了另外一種模式的服務化。所以,無論是國外的Amazone、eBey,還是國內的淘寶、阿里巴巴,他們所做事情的關鍵點就是服務化。
第二,就是如何能夠將大規模的人群很好地,有機地組織起來。即大家可以自由活動,但同時也非常有序;大家可以很自由的去做事情、去分享,但也能出來很好的結果。這方面是社區、社交運算等所努力去探索的地方。
最後,就是如何“簡化”,如何將消費和提供服務變得簡單和傻瓜化,讓福士都能夠做到。相比較而言,SOA處理的比較多的還是IT領域專業的東西,SOA也是給IT專業人員用的,主要用在處理企業內部比較複雜的事情。這也是WOA和SOA的一個很重要的區別。
在這樣的一些趨勢之下,Web 2.0也逐步的浮現出相應的編程模型,主要有下面幾個大的要素:
首先Web 2.0是一個輕量級的編程模型,用來構建一些必要的邏輯,這些邏輯通常會以REST,Feeds的形式表現出來。其背後的理念是:Web as the platform。
其次是資料服務,即如何輕鬆的將來自不同地方的資料進行融合、過濾並重新構造成新的資料,同時確保資料的一致性、安全性、可管理性和存取控制等。這背後的理念是:Web as the database。
然後UI部分是RIA(Rich Internet Applications),即如何利用Ajax技術或者其他技術去提供非常易用,並和過去大不相同的使用者體驗。這背後的理念是:Browser as the application platform。
在這些編程模型的基礎之上有兩個十分重要的關鍵點:
一是我們如何將這些資料和服務轉化為 Mash-able Assets,即可以被用來Mash-up的東西。什麼是Mash-up。Mash-up之於Web 2.0,就好比是整合相對於SOA;但不同之處在於,SOA整合需要IT專業知識來做,而Mash-up只需要普通人拖拖拽拽就可以完成。
二是有了這些Mash-able Assets之後,我們如何將他們放在一起,這就需要由企業級的Mashup Makers來做。通過一些工具,很簡單的將這些資料和服務串連起來,形成新的應用。
當然,Web 2.0編程模型還在持續的演化,其結果就是當前大家所談論的 WOA。從本質上講,WOA和SOA遵循同樣的哲學、設計原則和範式。而當我們將WOA看作是SOA範式的一種實踐或者執行個體的時候,那麼傳統SOA的內涵將發生變化。我們目前通常所講的SOA,即以WS-*協議為主構建服務的SOA,我們確切地稱之為 Enterprise SOA;而WOA和Enterprise SOA都是SOA範式的不同實現。
WOA和Enterprise SOA的差別
那麼WOA和Enterprise SOA的差別又是什麼。
服務的表現形式從Enterprise SOA基於WS-*等協議,轉變為WOA基於簡單的XML over HTTP,即REST的方式。其次,WOA交換的資料是經過編碼的XML,或者JSON以及ATOM。最後,WOA通常使用Ajax等RIA技術來構建使用者介面。
我們再來看看WOA最佳實務中的一些有趣的範式:
UI層運行在十分輕量的Web伺服器和瀏覽器中,不需要任何容器,很簡單;
內容也很簡單,人和機器都能夠閱讀;
所使用和遵循的技術和標準是Web幾個最成熟的技術,如HTML,XML,CSS,JavaScript,HTTP,RSS,REST等;
當然,引入WOA範式給我們帶來巨大的好處:WOA和Enterprise SOA可以用來分別處理不同領域的問題。Enterprise SOA 用來處理企業中穩定性、確定性比較強的,比較核心的商務程序和資訊資產等;而WOA用來處理比較邊緣性的應用,一些不正式和不確定的過程。
比如和夥伴的互動、人與人之間的協作、一些情景應用等等,這樣的應用,都讓IT工程師用Enterprise SOA來實現很不現實;而WOA則提供了一種方式能讓使用者自己來搭建這樣的應用,這些應用做出來之後,還可以一生二、二生三、三生萬物……WOA作為SOA一種簡化的架構範式,事實上是將SOA的實踐推進到了一個新的階段和境界。
從
孟岩談Web2.0與SOA的結合 到
勞虎談企業應該如何看待Enterprise2.0 ,今天的
毛新生談他眼中的Web2.0 ,來自業內的企業技術專家和Web 2.0實踐者共同對軟體的2.0時代進行了深入的探討。(未完待續)
更多精彩內容,請關注2007年11月29、30兩天,CSDN聯合美國權威IT技術媒體CMP集團,共同舉辦國內最權威的技術大會----“2007 軟體開發2.0大會”
本文系CSDN獨家報道,轉載請註明出處