Web 2.0:打造開放參與的架構(gòu) |
作者: builder.com.cn 2007-04-03 15:52:13 |
上周談了些Web 2.0及SOA之間的相似處,本周再談些Web 2.0 和 SOA 的比較。我發(fā)現(xiàn)二者在某些特征上有異曲同工之處。上回提到 Tim O‘Reilly 的 Web 2.0 專文。其中談到一項(xiàng) Web 2.0 的 pattern,叫 "Architecture of Participation" -- 開放參與的架構(gòu)。什么叫「開放參與的架構(gòu)」?之前文章中提到,懂得搶搭、駕馭 Web 2.0 潮流的眾家網(wǎng)站,如 Google, Yahoo, Amazon 等,近幾年來紛紛將許多站內(nèi)的功能以 Web API 的方式提供出來。 我們看它們在過去 Web 1.0 時(shí)代,正如同當(dāng)今大多數(shù)尚未「Web 2.0 化」的網(wǎng)站一樣,少了這層 Web API(以 XML/Web servivces 方式提供),那么瀏覽器/HTML網(wǎng)頁就成了唯一的媒介,讓大家可以去使用這些網(wǎng)站的功能,取得它提供的信息。或許有的人會(huì)直覺上認(rèn)為,有網(wǎng)頁可以去操作、瀏覽,感覺上已經(jīng)很夠用了,為什么還要大費(fèi)周折搞個(gè) Web API? 正因?yàn)?/strong> Web API 是一個(gè)開放參與的架構(gòu)。如果沒有它,我們對一個(gè)網(wǎng)站的功能和操作接口,便毫無選擇和掌控的權(quán)利-- 接口設(shè)計(jì)成什么樣子,進(jìn)階搜尋有哪些條件選項(xiàng),一切都操控在該網(wǎng)站的主事者手上;更甭提將數(shù)個(gè)網(wǎng)站的功能融合在一起,作創(chuàng)新的 mashup 應(yīng)用了。舉個(gè)更實(shí)際的例子,Amazon.com 創(chuàng)辦人/CEO Jeff Bezos 在一年半前一場 Web 2.0 的演講中提到,他們提供了 Web services 之后,讓很多 Amazon 自己沒時(shí)間做、較低優(yōu)先的創(chuàng)新應(yīng)用,能借他人之手,讓網(wǎng)絡(luò)上廣大的程序設(shè)計(jì)者,根據(jù)自身的需要,一同來幫忙開發(fā)。 在眾多的創(chuàng)新應(yīng)用中,有一個(gè)得獎(jiǎng)的應(yīng)用叫 ScoutPal。這是某位網(wǎng)站開發(fā)人員,為了幫忙在網(wǎng)絡(luò)上作舊書買賣的太太所寫的。他用 Perl 語言,只花了一天的時(shí)間便完成了這個(gè)應(yīng)用。搭配一個(gè) bar code 掃描儀,接上一個(gè)可無線上網(wǎng)的手機(jī)/PDA,便可以讓她在四處尋訪搜集舊書時(shí)(像是去跳蚤市場、舊書攤和私人庭院辦的 garage sales),立即從 Amazon 的 Web services 中查詢到一本書當(dāng)下的行情。藉以和眼前的貨主所愿意出的價(jià)相比,來決定是否值得把書買下來。 也就是說,提供一個(gè)開放的架構(gòu),廣邀各路網(wǎng)絡(luò)開發(fā)好漢,不管是擅長哪一種語言 -- JavaScript, Perl, Java, PHP, Python, Ruby, VB, C#... 的開發(fā)人員,都能輕易快速地兜出一個(gè)組合式的應(yīng)用,來快速滿足各自的需要。 企業(yè)所致力打造的 Service-Oriented Architecture,正是這么一個(gè)參與的架構(gòu)(Architecture of Participation)。而企業(yè)進(jìn)行 SOA 體質(zhì)改造的第一大要?jiǎng)?wù),正是研究如何將必須不斷沿用下去的各后臺(tái) legacy 系統(tǒng),給 service-enable 起來。換句話說,就是替他們設(shè)計(jì)一層 Web API,將既有的重要功能以 XML/Web services 的方式給包裝起來。 由于 XML/Web services 是完全跨平臺(tái)、跨程序語言的媒介,各種相應(yīng)的高階 API、工具箱,和可視化發(fā)展工具又日新月異,因此開發(fā)組合式應(yīng)用 (Composite Applications) 的門坎比傳統(tǒng)的應(yīng)用開發(fā)低了許多。這么一來,CIO 便可開始將企業(yè)內(nèi)原本隸屬不同團(tuán)隊(duì)(如 J2EE, .NET, PHP, SAP, PowerBuilder...)的開發(fā)人員加以整并,統(tǒng)合運(yùn)用,而可更有效率地作任務(wù)編組,來完成未來需要交付的新應(yīng)用。此項(xiàng) SOA 所帶來的獲益,就個(gè)人觀察,在目前已成功導(dǎo)入的企業(yè)中,屢見不鮮。 有人預(yù)測,五年至十年之后,隨著 SOA 的大行其道,成功的企業(yè)將逐漸實(shí)現(xiàn) Gartner 所謂的 "Real-time Enterprise"。也就是說,業(yè)務(wù)部門有任何新的應(yīng)用需求,都能很快地得到實(shí)現(xiàn)。有的時(shí)候,業(yè)務(wù)人員甚至不需借手 IT 部門。因?yàn)樵S多業(yè)務(wù)服務(wù),都已經(jīng)以高階的 Web services 的方式提供出來,許多會(huì)在 Excel 里作一點(diǎn) scripting 的 power users 和 business analysts,都能夠很輕易地去運(yùn)用,例如在電子表格中動(dòng)態(tài)呼叫幾個(gè) Web services,組出一份最實(shí)時(shí)的報(bào)表。 我在 BEA 一位負(fù)責(zé)業(yè)務(wù)的同事,數(shù)年前在某大軟件公司任職業(yè)務(wù)時(shí),就曾經(jīng)因?yàn)楣镜?commission 計(jì)算方式太過龐雜,從來沒有人真正搞清楚過到底算出來的數(shù)字是否正確,就連會(huì)計(jì)都有時(shí)都不是很確定。這位兄弟索性自己寫一個(gè) Excel 電子表格,造福大眾。從此以后,不再有計(jì)算獎(jiǎng)金的爭議。其實(shí)企業(yè)里面臥虎藏龍,具有這種實(shí)力的 power users 甚至不在少數(shù),「開放參與的架構(gòu)」和 SOA 提供了他們更多揮灑的空間和參與的機(jī)會(huì),來打造他們最切身需要的應(yīng)用。 文/蕭百齡 (勞虎) |
聯(lián)系客服