Web 2.0 早已不是什麼新話題。過去的幾年內,知名度高如 Google、Yahoo、MySpace、PayPal 等大站,也都無法完全免疫,而陸續爆發過各種攻擊事件(釣魚、蟲…)。Web 2.0 網站不管是選擇用 AJAX 、Flash,還有逐漸風行的離線解決方案,如 Dojo Offline、Google Gears 、Adobe AIR 等,來提供互動性更高的 UI,只要一不小心,這些 Web 應用出現安全漏洞、被壞人佔便宜的機率,其實是很高的。有時候不僅是自己的 code,而問題也可能出現在第三方提供的現成工具箱、API。
要如何防範?對網站開發人員而言,在過去,對這個主題的探討,往往比較零散,要不就偏學術,要求較高的門檻(例如 OWASP 發表的文獻),一直缺乏系統化,全面性,且深入淺出的探討。不久前終於出了一本好書 — AJAX Security,作者為 Billy Hoffman 和 Bryan Sullivan 這兩位 Web 2.0 安全的專家(過去在零星的安全相關報道中,也常出現他們兩位的影子)。在此強烈推薦這本書,給所有從事與 Web 2.0 開發相關的網友。儘管書名選擇叫 “AJAX” Security,但事實上,除了 AJAX 之外,Flash 安全,甚至於如何將 CSS 這種看似無害、展現層的東西,拿來攻擊的方法,在書中都有深入探討(第十二章)。儘管這樣的書,早該出現,但出版時間晚,反而也做出一些額外的貢獻 — 比較新的科技,如上述的 Google Gears 和 Dojo 離線工具箱的安全弱點,在書中都涵蓋了。希望它盡快能被翻譯成中文,以造福更多大眾。
more »
無巧不成 blog。
大約在半年前寫過關於 PaaS (Platform as a Service) 和亞馬遜的 AWS (可謂 PaaS 鼻祖)。上周有位記者朋友向我詢問相關資訊,打算做個深入報道。同樣在上周,看到有篇 blog,談到一個馬路訊息,說 Google 很快就要開始「搶亞馬遜」 的午餐了。當時看了以後,只覺得這個可能性的確存在,但不知何時才會發生。沒想到來得這麼快 — 幾個小時前,華爾街日報報道,Google 也將開始做基礎設施租賃的生意。
亞馬遜最早開發 AWS 的念頭來自於 — 既然我自己能把基礎設施玩得這麼好,為什麼不乾脆把它鬆耦合化,當成一門生意 outsource 出去?Google 玩基礎設施、電腦中心這方面的效率是出了名的(之前也寫過),這是他們的核心競爭實力,對公司財務報表的 bottom-line,帶來很大的貢獻,放眼 Web 的世界,可說無人能敵。所以本著同樣的論點,Google 可說非常有資格做 PaaS 這門生意。
more »
REST 是好東西,但受到兩個問題的拖累。
之前已經寫過一些對 REST 的簡介和看法。不久前恰好又在中文版的 infoQ 網站上看到一篇剛翻譯成中文的文章,發現一些問題,於是又把整個 REST vs. SOAP 的論戰再仔細看過一遍,刀光劍影,娛樂性十足。好訊息是,最近這幾個月,比較聳動或炒作性的 REST 話題似乎開始從網站、雜誌頭版消失。就來回顧和總結一下,事情其實很簡單,REST 是被兩個問題給害了。
more »
過去兩年因著書《長尾》而爆紅的作者克裡斯安德森,最近開始推銷他的下一本書《免費》(英文書名目前定為:“Free: the Economics of Giving Stuff Away”),預計明年出版。一如過去對《長尾》的行銷,這次要闡述 「免費經濟」 的現象和模式,安德森的首選通路,自然是充分利用他任職總編的《Wired》雜誌。前兩天他在 Wired 網站發表了這篇專文。除此之外,還配合三月號「訂雜誌、免費附贈別冊」 的行銷活動(老掉牙的把戲了,但多少還是得營造一點氣勢出來)。而他在稍早,半年前的一個 O’Reilly 的演講場子上,已開始談 “免費”。這場演說在一個月前被整理成podcast發行。
這篇文章將近幾年在網路經濟和摩爾定律推波助瀾下產生的種種免費現象和經濟模式,做了一個比較完整的整理。因此,個人認為還是蠻值得看的(不過目前在網路上還沒見到中譯版)。至於那場演說,除了基本上把文章中的重點都快速地涵蓋之外,還多談了一個主題 — 為什麼書不能走免費路線?《長尾》大賣後,安德森接下來要出的書,還是要收錢的;深知這個問題一定會被人拿出來 challenge,故決定將此問題,主動提出來探討。很多網友知道,我在8年前便實驗過免費電子書的模式,故對此一課題,特別感興趣。在針對安德森在那場演講中,就他在免費書議題的表述上,講一些我個人的觀點前,我想先來對他在專文中整理出來的六種免費經濟的模式,和大家做個扼要的分享。《Wired》雜誌另外還整理了一頁 “How-to Wiki”,將提供免費商品/服務的手法,做了一個羅列(推薦)。
more »
昨天從 Digg 得知 Google Talk 剛增加一個翻譯功能,用法很有創意(大概又是哪位 Google 員工利用每週 20% 的自由時間想出來的),設定方式是必須先將恰當的語言,以聯絡人的方式加入,格式為 xx2yy@bot.talk.google.com,其中 xx 和 yy 是根據 IANA 制定的雙字母語言碼,中間加 2,例如英翻中為:en2zh@bot.talk.google.com,其他語言可如法炮製(Google 目前支援二十多種語言間的互轉),@後一律相同。如果要利用這個 bot 充當語言不通的 IM 用戶間的即時翻譯的話,可以用 group chat 的方式,把翻譯 bot 同時加入。
用幾個口語的句子測了一下它的中英文翻譯能力,和對簡繁體字的處理,發現它和 Google 的搜尋引擎一樣,繁體和簡體中文同時支援,Google 會自動判別,這點做得不錯,至於翻譯的準確性,就有點爆笑了 — 相同意思的三句話,分別用英文和中文版本測了一下(如下圖),翻譯出來的結果,其中甚至連語法都有問題(不過最搞笑的,還是將中文的語助詞 「啊」 硬生生地翻成 “ah”,讓我想起在和香港的朋友 chat,英文句尾夾帶 “ma”、”la” 的感覺)。(BTW, “You never cease to amaze me” 是英文常用的說法,有時候用來諷刺,但這裡我們看到 GTalk 的 bot 把意思完全搞反了)。
不過我主要想談的,不是它的翻譯水準,而是其背後的運作機制。這個翻譯機器人 (bot) 的運作方式,仰賴的正是 Cloud Computing(雲運算) — 無獨有偶地,恰好是前幾天紐約時報和美國商業週刊封面故事分別報道的主題(儘管二者的側重點不同)。更巧的是,最早觸發商業週刊對 Google 雲運算做報道的,正是這個翻譯 bot 。在商業週刊幕後故事 podcast中,記者談到他在兩年前,從卡內基美隆大學那兒聽到,曾經有一場自然語言電腦翻譯大賽。參賽者中,IBM 自然不能缺席,此外還有來自亞洲、歐洲的團隊,當然還有 Google。Google 團隊的玩法與眾不同,他們不用傳統 AI 那套,從分析語句結構、語義模型等入手,而是利用一組超強的分散式運算 cluster(也就是那朵「雲」),然後餵給它大量的聯合國翻譯稿件,讓它根據字的關聯性,做出統計分析,作為翻譯的基礎。結果 Google 隊贏了。自此之後,美國許多大學的研究機構,都渴望能有一套像 Google 一樣的運算怪獸,用來加速對大量資訊的科學分析。兩年後,他們終於如願以償。這篇報道講的正是背後的故事 — 一名 Google 員工如何將公司核心競爭力平台的縮小版,帶入校園,教導大學生如何善用平行運算資源。這項利用 20% 自由時間的專案,稍後還帶動了和 IBM 的研發合作。同樣巧合的是,紐約時報這周也對平行運算和它對程式設計帶來的新挑戰,做了一個報道(中譯)。
紐約時報對 Cloud Computing 的報道,則著重於和微軟的競爭,和潮流的變遷。簡單的講,Google 玩的是改變遊戲規則的玩法,順著時勢潮流,用雲來遮蔽桌面。
這幾篇報道的相關鏈結:
回到 Google Talk 翻譯機器人的翻譯水準問題,由於聽了上述翻譯大賽的故事,還有之前對 Google 超級電腦的粗淺瞭解,我的猜測是 1) Google 的翻譯引擎的翻譯能力是可以調整的,而他們大概沒有分給 Gtalk 翻譯 bot 太多的腦細胞/運算能力(使用比較簡化的運算過程),目前的目的只在實驗這個新的應用模式,以致翻譯品質仍處在搞笑階段;2) 我用來考它的生活口語太難了,它比較擅長的,應該還是正經八百的官樣文章,這或許是為什麼餵食大量聯集國資料和網頁的 Google 雲能夠贏得冠軍的原因吧!


今早上班途中,在一個 podcast 中聽到一個很酷的概念。這個 podcast 談的是 Centric CRM 這家公司所提供的服務和產品,它是利用 open source 堆疊所建立的一套本身也是 open-source 的 CRM 應用,除了和 Salesforce.com 一樣,以 SaaS 模式提供客戶直接從網路遠端租用之外,它和 Salesforce 這類 closed-source 服務商在商業模式上的一大區別,在於除了可以透過網路租用外,也可讓客戶選擇把整套應用部署在客戶自己的機器上,像傳統的 CRM, ERP 一樣,讓企業自行維運(有趣附帶一提的是,Salesforce 本身也大量採用 open-source 軟體,例如它後台的資料庫用的是 MySQL,但在 open-source 基礎上建立的 CRM 應用則是 closed-source 的。這種 “在 open-source 平台上搭建 closed-source 應用服務” 的現象在 Web 2.0 領域裡比比皆是,Yahoo!, Google, …)。
同樣強調 open-source 、並採用相同商業模式的 SugarCRM (以前也聽過一個他們介紹自己產品的 podcast),是 Centric CRM 主要的競爭對手。Centric 強調自己的平台建立在 Java 之上,效能和 scalability 上都遠比建立在 PHP 上的 Sugar 更適合規模和用戶數較大的企業。
今天在 podcast 裡聽到一個比較酷的比喻,是他們用「租用大自然」 — Rent Mother Nature 這家公司的商業模式來比喻。
more »

[10/19/2007 更新]
以前寫過一個關於 Amazon Web Services (AWS) 的帖子,這應該算是第一個對 Web 2.0/SOA 基礎設施租賃市場的大規模嘗試。不久前接受 iTHome 採訪,起因於微軟的 Internet Service Bus,一個小規模、提供給開發者作實驗性的嘗試。
我對 AWS 、以及它所試探的潛在市場,基本上樂觀其成,自從 AWS 推出 S3, SQS 和 EC2 後,已經出現了許多有趣的加值應用,例如有人用它來建構新一代的 B2B/EDI VAN,Doug Kaye 在這個 podcast 中,則侃侃而談,說明如何利用 AWS 的基礎設施,設計出 GigaVox 這個 podcast 平台的架構。在 podcast 討論中,Kaye 除了講解他如何善用 Amazon 出租的資料服務 S3,中介訊息服務 SQS,和建立在 Xen 上的虛擬化平台 EC2,來設計出他的應用架構外, 還談到作為一個 early adopter,所遇到的種種限制問題,如何克服,更提供了 Amazon 未來對 AWS 的改進參考。不意外,就像所有軟體一樣,這種直接透過網路租用的軟體服務,目前仍屬於非常早的階段,當然還有不少可進一步完善的空間。這類的案例,非常有助於我們對此類服務的完備和成熟程度,進行更客觀的了解。
more »
2005 年底,著名 IT 分析機構 Gartner 的一個分析師 Nick Gall 發明了一個新詞 — WOA (Web-Oriented Architecture) 。大家知道,發明新縮寫字 (acronym) 一向是 Gartner 的絕活。幾個月後,SOA 界著名的 blogger 和專欄作家 Dion Hinchcliffe 對它表示支持,他甚至畫了一幅圖,說明基於 SOAP 和 WS-* 的 Web services,和基於 REST、POX和 JSON 的 WOA,以及其他 SOA 相關科技,在複雜度和豐富程度上的比較。
本以為 “WOA” 的命運,差不多已經和先前廣遭聲討的 “SOA 2.0” 一樣,開始消聲匿跡,但最近在一片大談 REST 聲中(前兩篇帖子的主題),發現 WOA 已死灰復燃。
more »
REST 的最大價值,在於它的簡約;只要遵循上回帖子中提到的幾個基本原則,便可直接充分利用 HTTP 和 Web server 先天具備的架構優勢,包括 GET 的請求會被 Web server 有效地 cache,和因不需要維繫各別的 session 狀態,而達到非常高的延展性。Google 和 Amazon 等所提供的 Web services,是最好的明證。這是 REST 的擁護者津津樂道的論點。
但如果照目前的氣氛繼續發展下去,過分炒作「REST 是比 SOAP 更適合於 SOA 的技術實現手段」、「SOA 未來的希望在 REST」這類危險的觀念(上回談的主題),其最終的結果,可能是既傷害了 REST,又對 SOA 沒好處的雙輸局面。
more »
最近幾個月,網路上 REST vs. SOAP 的口角甚囂塵上,實在看不下去了。就連在 SOA 和 Web services 界的重量級人物 — Burton Group 的分析總監 Anne Thomas Manes (ATM),也開始加入炒作 REST 的行列。
自 J2EE 草創期以來,我對 ATM 一直非常推崇,但這篇報導著實讓我有些驚訝!或許其中難免有幾分媒體的加油添醋,但大膽宣稱「SOA 的未來在 REST」,實在是太過火了。 more »