Web開發技術發展史話 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 網站建設 >

Web開發技術發展史話

發表時(shí)間:2004-12-10

發布人(rén):融晨科技

浏覽次數:46

  讨論Web開發技術的(de)曆史,當然要(yào / yāo)先說(shuō)說(shuō)Web的(de)起源。衆所周知,Web這(zhè)個(gè)Internet上(shàng)最熱門的(de)應用架構是(shì)由Tim Berners-Lee發明的(de)。Web的(de)前身是(shì)1980年Tim Berners-Lee負責的(de)Enquire(Enquire Within Upon Everything的(de)簡稱)項目。1990年11月,第一個(gè)Web服務器nxoc01.cern.ch開始運行,Tim Berners-Lee在(zài)自己編寫的(de)圖形化Web浏覽器"WorldWideWeb"上(shàng)看到(dào)了(le/liǎo)最早的(de)Web頁面。1991年,CERN(European Particle Physics Laboratory)正式發布了(le/liǎo)Web技術标準。目前,與Web相關的(de)各種技術标準都由著名的(de)W3C組織(World Wide Web Consortium)管理和(hé / huò)維護。

   從技術層面看,Web架構的(de)精華有三處:用超文本技術(HTML)實現信息與信息的(de)連接;用統一資源定位技術(URI)實現全球信息的(de)精确定位;用新的(de)應用層協議(HTTP)實現分布式的(de)信息共享。這(zhè)三個(gè)特點無一不(bù)與信息的(de)分發、獲取和(hé / huò)利用有關。其實,Tim Berners-Lee早就(jiù)明确無誤地(dì / de)告訴我們:"Web是(shì)一個(gè)抽象的(de)(假想的(de))信息空間。"也(yě)就(jiù)是(shì)說(shuō),作爲(wéi / wèi)Internet上(shàng)的(de)一種應用架構,Web的(de)首要(yào / yāo)任務就(jiù)是(shì)向人(rén)們提供信息和(hé / huò)信息服務。

   很可惜,在(zài)Web應用日新月異的(de)今天,許多搞技術的(de)人(rén)似乎已經忘記了(le/liǎo)Web架構的(de)設計初衷。他(tā)們在(zài)自己開發的(de)網站或Web應用中大(dà)肆堆砌各種所謂的(de)"先進"技術,但最終用戶能夠在(zài)這(zhè)些網站或應用中獲得的(de)有價值信息卻寥寥無幾。這(zhè)個(gè)問題絕不(bù)像評論者常說(shuō)的(de)"有路無車"或"信息匮乏"那麽簡單。一個(gè)Web開發者倘若忘記了(le/liǎo)Web技術的(de)最終目标是(shì)提供信息和(hé / huò)信息服務,他(tā)的(de)愚蠢程度就(jiù)絲毫不(bù)亞于(yú)一個(gè)在(zài)足球場上(shàng)隻知道(dào)賣弄技巧,卻忘記了(le/liǎo)射門得分的(de)大(dà)牌球星。從這(zhè)個(gè)角度來(lái)說(shuō),評價一種Web開發技術優劣的(de)标準隻有一個(gè),那就(jiù)是(shì)看這(zhè)種技術能否在(zài)最恰當的(de)時(shí)間和(hé / huò)最恰當的(de)地(dì / de)點,以(yǐ)最恰當的(de)方式,爲(wéi / wèi)最需要(yào / yāo)信息的(de)人(rén)提供最恰當的(de)信息服務。

  客戶端技術的(de)萌芽和(hé / huò)演進

   Web是(shì)一種典型的(de)分布式應用架構。Web應用中的(de)每一次信息交換都要(yào / yāo)涉及到(dào)客戶端和(hé / huò)服務端兩個(gè)層面。因此,Web開發技術大(dà)體上(shàng)也(yě)可以(yǐ)被分爲(wéi / wèi)客戶端技術和(hé / huò)服務端技術兩大(dà)類。我們先來(lái)談談客戶端技術的(de)萌芽和(hé / huò)演進過程。

   Web客戶端的(de)主要(yào / yāo)任務是(shì)展現信息内容,而(ér)HTML語言則是(shì)信息展現的(de)最有效載體之(zhī)一。作爲(wéi / wèi)一種實用的(de)超文本語言,HTML的(de)曆史最早可以(yǐ)追溯到(dào)上(shàng)世紀四十年代。1945年,Vannevar Bush在(zài)一篇文章中闡述了(le/liǎo)文本和(hé / huò)文本之(zhī)間通過超級鏈接相互關聯的(de)思想,并在(zài)文中給出(chū)了(le/liǎo)一種能實現信息關聯的(de)計算機Memex的(de)設計方案。Doug Engelbart等人(rén)則在(zài)1960年前後,對信息關聯技術做了(le/liǎo)最早的(de)實驗。與此同時(shí),Ted Nelson正式将這(zhè)種信息關聯技術命名爲(wéi / wèi)超文本(Hypertext)技術。1969年,IBM的(de)Charles Goldfarb發明了(le/liǎo)可用于(yú)描述超文本信息的(de)GML(Generalized Markup Language)語言。1978到(dào)1986年間,在(zài)ANSI等組織的(de)努力下,GML語言進一步發展成爲(wéi / wèi)著名的(de)SGML語言标準。當Tim Berners-Lee和(hé / huò)他(tā)的(de)同事們在(zài)1989年試圖創建一個(gè)基于(yú)超文本的(de)分布式應用系統時(shí),Tim Berners-Lee意識到(dào),SGML是(shì)描述超文本信息的(de)一個(gè)上(shàng)佳方案,但美中不(bù)足的(de)是(shì),SGML過于(yú)複雜,不(bù)利于(yú)信息的(de)傳遞和(hé / huò)解析。于(yú)是(shì),Tim Berners-Lee對SGML語言做了(le/liǎo)大(dà)刀闊斧的(de)簡化和(hé / huò)完善。1990年,第一個(gè)圖形化的(de)Web浏覽器"WorldWideWeb"終于(yú)可以(yǐ)使用一種爲(wéi / wèi)Web度身定制的(de)語言--HTML來(lái)展現超文本信息了(le/liǎo)。

   最初的(de)HTML語言隻能在(zài)浏覽器中展現靜态的(de)文本或圖像信息,這(zhè)滿足不(bù)了(le/liǎo)人(rén)們對信息豐富性和(hé / huò)多樣性的(de)強烈需求--這(zhè)件事情最終的(de)結果是(shì),由靜态技術向動态技術的(de)轉變成爲(wéi / wèi)了(le/liǎo)Web客戶端技術演進的(de)永恒定律。

   能存儲、展現二維動畫的(de)GIF圖像格式早在(zài)1989年就(jiù)已發展成熟。Web出(chū)現後,GIF第一次爲(wéi / wèi)HTML頁面引入了(le/liǎo)動感元素。但更大(dà)的(de)變革來(lái)源于(yú)1995年Java語言的(de)問世。Java語言天生就(jiù)具備的(de)平台無關的(de)特點,讓人(rén)們一下子(zǐ)找到(dào)了(le/liǎo)在(zài)浏覽器中開發動态應用的(de)捷徑。1996年,著名的(de)Netscape浏覽器在(zài)其2.0版中增加了(le/liǎo)對JavaApplets和(hé / huò)JavaScript的(de)支持。Netscape的(de)冤家對頭,Microsoft的(de)IE 3.0也(yě)在(zài)這(zhè)一年開始支持Java技術。現在(zài),喜歡動畫、喜歡交互操作、喜歡客戶端應用的(de)開發人(rén)員可以(yǐ)用Java或JavaScript語言随心所欲地(dì / de)豐富HTML頁面的(de)功能了(le/liǎo)。順便說(shuō)一句,JavaScript語言在(zài)所有客戶端開發技術中占有非常獨特的(de)地(dì / de)位:它是(shì)一種以(yǐ)腳本方式運行的(de),簡化了(le/liǎo)的(de)Java語言,這(zhè)也(yě)是(shì)腳本技術第一次在(zài)Web世界裏嶄露頭角。爲(wéi / wèi)了(le/liǎo)用純Microsoft的(de)技術與JavaScript抗衡,Microsoft還爲(wéi / wèi)1996年的(de)IE 3.0設計了(le/liǎo)另一種後來(lái)也(yě)聲名顯赫的(de)腳本語言--VBScript語言。

   真正讓HTML頁面又酷又炫、動感無限的(de)是(shì)CSS(Cascading Style Sheets)和(hé / huò)DHTML(Dynamic HTML)技術。1996年底,W3C提出(chū)了(le/liǎo)CSS的(de)建議标準,同年,IE 3.0引入了(le/liǎo)對CSS的(de)支持。CSS大(dà)大(dà)提高了(le/liǎo)開發者對信息展現格式的(de)控制能力。1997年的(de)Netscape 4.0不(bù)但支持CSS,而(ér)且增加了(le/liǎo)許多Netscape公司自定義的(de)動态HTML标記,這(zhè)些标記在(zài)CSS的(de)基礎上(shàng),讓HTML頁面中的(de)各種要(yào / yāo)素"活動"了(le/liǎo)起來(lái)。1997年,Microsoft發布了(le/liǎo)IE 4.0,并将動态HTML标記、CSS和(hé / huò)動态對象模型(DHTML Object Model)發展成了(le/liǎo)一套完整、實用、高效的(de)客戶端開發技術體系,Microsoft稱其爲(wéi / wèi)DHTML。同樣是(shì)實現HTML頁面的(de)動态效果,DHTML技術無需啓動Java虛拟機或其他(tā)腳本環境,可以(yǐ)在(zài)浏覽器的(de)支持下,獲得更好的(de)展現效果和(hé / huò)更高的(de)執行效率。今天,已經很少有哪個(gè)HTML頁面的(de)開發者還會對CSS和(hé / huò)DHTML技術視而(ér)不(bù)見了(le/liǎo)。

   爲(wéi / wèi)了(le/liǎo)在(zài)HTML頁面中實現音頻、視頻等更爲(wéi / wèi)複雜的(de)多媒體應用,1996年的(de)Netscape 2.0成功地(dì / de)引入了(le/liǎo)對QuickTime插件的(de)支持,插件這(zhè)種開發方式也(yě)迅速風靡了(le/liǎo)浏覽器的(de)世界。在(zài)Windows平台上(shàng),Microsoft将客戶端應用集成的(de)賭注押到(dào)了(le/liǎo)1990年代中期剛剛問世的(de)COM和(hé / huò)ActiveX身上(shàng)。1996年,IE 3.0正式支持在(zài)HTML頁面中插入ActiveX控件的(de)功能,這(zhè)爲(wéi / wèi)其他(tā)廠商擴展Web客戶端的(de)信息展現方式開辟了(le/liǎo)一條自由之(zhī)路。1999年,Realplayer插件先後在(zài)Netscape和(hé / huò)IE浏覽器中取得了(le/liǎo)成功,與此同時(shí),Microsoft自己的(de)媒體播放插件Media Player也(yě)被預裝到(dào)了(le/liǎo)各種Windows版本之(zhī)中。同樣值得紀念的(de)還有Flash插件的(de)橫空出(chū)世:1990年代初期,Jonathan Gay在(zài)FutureWave公司開發了(le/liǎo)一種名爲(wéi / wèi)Future Splash Animator的(de)二維矢量動畫展示工具,1996年,Macromedia公司收購了(le/liǎo)FutureWave,并将Jonathan Gay的(de)發明改名爲(wéi / wèi)我們熟悉的(de)Flash。從此,Flash動畫成了(le/liǎo)Web開發者表現自我、展示個(gè)性的(de)最佳方式。

   除了(le/liǎo)編寫HTML頁面之(zhī)外,客戶端應用的(de)開發者還可以(yǐ)利用一些成熟的(de)技術将浏覽器的(de)功能添加到(dào)自己的(de)應用程序中。從1992年開始,W3C就(jiù)免費向開發者提供libwww開發庫。借助libwww,我們可以(yǐ)自己編寫Web浏覽器和(hé / huò)Web搜索工具,也(yě)可以(yǐ)分析、編輯或顯示HTML頁面。1999年,Microsoft在(zài)IE 5.0中引入的(de)HTAs(HTML Applications)技術則允許我們直接将HTML頁面轉換爲(wéi / wèi)一個(gè)真正的(de)應用程序。從1997年的(de)IE 4.0開始,Microsoft爲(wéi / wèi)開發者提供了(le/liǎo)WebBrowser控件和(hé / huò)其他(tā)相關的(de)COM接口,允許程序員在(zài)自己的(de)程序中直接嵌入浏覽器窗口,或調用各種浏覽器的(de)功能,如分析或編輯HTML頁面等。Windows 98及其後的(de)Windows操作系統甚至還利用WSH(Windows Script Host)技術将原本隻在(zài)浏覽器中運行的(de)JavaScript、VBScript變成了(le/liǎo)可以(yǐ)在(zài)WIN32環境下使用的(de)通用腳本語言,這(zhè)大(dà)概也(yě)可算作我們對Web客戶端開發技術的(de)一種巧妙利用吧。

  服務端技術的(de)成熟與發展

   與客戶端技術從靜态向動态的(de)演進過程類似,Web服務端的(de)開發技術也(yě)是(shì)由靜态向動态逐漸發展、完善起來(lái)的(de)。

   最早的(de)Web服務器簡單地(dì / de)響應浏覽器發來(lái)的(de)HTTP請求,并将存儲在(zài)服務器上(shàng)的(de)HTML文件返回給浏覽器。一種名爲(wéi / wèi)SSI(Server Side Includes)的(de)技術可以(yǐ)讓Web服務器在(zài)返回HTML文件前,更新HTML文件的(de)某些内容,但其功能非常有限。第一種真正使服務器能根據運行時(shí)的(de)具體情況,動态生成HTML頁面的(de)技術是(shì)大(dà)名鼎鼎的(de)CGI(Common Gateway Interface)技術。1993年,CGI 1.0的(de)标準草案由NCSA(National Center for Supercomputing Applications)提出(chū),1995年,NCSA開始制定CGI 1.1标準,1997年,CGI 1.2也(yě)被納入了(le/liǎo)議事日程。CGI技術允許服務端的(de)應用程序根據客戶端的(de)請求,動态生成HTML頁面,這(zhè)使客戶端和(hé / huò)服務端的(de)動态信息交換成爲(wéi / wèi)了(le/liǎo)可能。随着CGI技術的(de)普及,聊天室、論壇、電子(zǐ)商務、信息查詢、全文檢索等各式各樣的(de)Web應用蓬勃興起,人(rén)們終于(yú)可以(yǐ)享受到(dào)信息檢索、信息交換、信息處理等更爲(wéi / wèi)便捷的(de)信息服務了(le/liǎo)。

   早期的(de)CGI程序大(dà)多是(shì)編譯後的(de)可執行程序,其編程語言可以(yǐ)是(shì)C、C++、Pascal等任何通用的(de)程序設計語言。爲(wéi / wèi)了(le/liǎo)簡化CGI程序的(de)修改、編譯和(hé / huò)發布過程,人(rén)們開始探尋用腳本語言實現CGI應用的(de)可行方式。在(zài)此方面,不(bù)能不(bù)提的(de)是(shì)Larry Wall于(yú)1987年發明的(de)Perl語言。Perl結合了(le/liǎo)C語言的(de)高效以(yǐ)及sh、awk等腳本語言的(de)便捷,似乎天生就(jiù)适用于(yú)CGI程序的(de)編寫。1995年,第一個(gè)用Perl寫成的(de)CGI程序問世。很快,Perl在(zài)CGI編程領域的(de)風頭就(jiù)蓋過了(le/liǎo)它的(de)前輩C語言。随後,Python等著名的(de)腳本語言也(yě)陸續加入了(le/liǎo)CGI編程語言的(de)行列。

   1994年,Rasmus Lerdorf發明了(le/liǎo)專用于(yú)Web服務端編程的(de)PHP(Personal Home Page Tools)語言。與以(yǐ)往的(de)CGI程序不(bù)同,PHP語言将HTML代碼和(hé / huò)PHP指令合成爲(wéi / wèi)完整的(de)服務端動态頁面,Web應用的(de)開發者可以(yǐ)用一種更加簡便、快捷的(de)方式實現動态Web功能。1996年,Microsoft借鑒PHP的(de)思想,在(zài)其Web服務器IIS 3.0中引入了(le/liǎo)ASP技術。ASP使用的(de)腳本語言是(shì)我們熟悉的(de)VBScript和(hé / huò)JavaScript。借助Microsoft Visual Studio等開發工具在(zài)市場上(shàng)的(de)成功,ASP迅速成爲(wéi / wèi)了(le/liǎo)Windows系統下Web服務端的(de)主流開發技術。當然,以(yǐ)Sun公司爲(wéi / wèi)首的(de)Java陣營也(yě)不(bù)會示弱。1997年,Servlet技術問世,1998年,JSP技術誕生。Servlet和(hé / huò)JSP的(de)組合(還可以(yǐ)加上(shàng)JavaBean技術)讓Java開發者同時(shí)擁有了(le/liǎo)類似CGI程序的(de)集中處理功能和(hé / huò)類似PHP的(de)HTML嵌入功能,此外,Java的(de)運行時(shí)編譯技術也(yě)大(dà)大(dà)提高了(le/liǎo)Servlet和(hé / huò)JSP的(de)執行效率--這(zhè)也(yě)正是(shì)Servlet和(hé / huò)JSP被後來(lái)的(de)J2EE平台吸納爲(wéi / wèi)核心技術的(de)原因之(zhī)一。

  兩種重要(yào / yāo)的(de)企業開發平台

   Web服務端開發技術的(de)完善使開發複雜的(de)Web應用成爲(wéi / wèi)了(le/liǎo)可能。在(zài)此起彼伏的(de)電子(zǐ)商務大(dà)潮中,爲(wéi / wèi)了(le/liǎo)适應企業級應用開發的(de)各種複雜需求,爲(wéi / wèi)了(le/liǎo)給最終用戶提供更可靠、更完善的(de)信息服務,兩個(gè)最重要(yào / yāo)的(de)企業級開發平台--J2EE和(hé / huò).NET在(zài)2000年前後分别誕生于(yú)Java和(hé / huò)Windows陣營,它們随即就(jiù)在(zài)企業級Web開發領域展開了(le/liǎo)你死我活的(de)拼争。平台之(zhī)争讓整個(gè)Web世界在(zài)最近的(de)幾年裏不(bù)得安甯,但從某種意義上(shàng)說(shuō),也(yě)正是(shì)這(zhè)種針鋒相對的(de)競争關系促使了(le/liǎo)Web開發技術以(yǐ)前所未有的(de)速度提高和(hé / huò)躍進。

   J2EE是(shì)純粹基于(yú)Java的(de)解決方案。1998年,Sun發布了(le/liǎo)EJB 1.0标準。EJB爲(wéi / wèi)企業級應用中必不(bù)可少的(de)數據封裝、事務處理、交易控制等功能提供了(le/liǎo)良好的(de)技術基礎。至此,J2EE平台的(de)三大(dà)核心技術Servlet、JSP和(hé / huò)EJB都已先後問世。1999年,Sun正式發布了(le/liǎo)J2EE的(de)第一個(gè)版本。緊接着,遵循J2EE标準,爲(wéi / wèi)企業級應用提供支撐平台的(de)各類應用服務軟件争先恐後地(dì / de)湧現了(le/liǎo)出(chū)來(lái)。IBM的(de)WebSphere、BEA的(de)WebLogic都是(shì)這(zhè)一領域裏最爲(wéi / wèi)成功的(de)商業軟件平台。随着開源運動的(de)興起,JBoss等開源世界裏的(de)應用服務新秀也(yě)吸引了(le/liǎo)許多用戶的(de)注意力。到(dào)2003年時(shí),Sun的(de)J2EE版本已經升級到(dào)了(le/liǎo)1.4版,其中三個(gè)關鍵組件的(de)版本也(yě)演進到(dào)了(le/liǎo)Servlet 2.4、JSP 2.0和(hé / huò)EJB 2.1。至此,J2EE體系及相關的(de)軟件産品已經成爲(wéi / wèi)了(le/liǎo)Web服務端開發的(de)一個(gè)強有力的(de)支撐環境。

   和(hé / huò)J2EE不(bù)同的(de)是(shì),Microsoft的(de).NET平台是(shì)一個(gè)強調多語言間交互的(de)通用運行環境。盡管.NET的(de)設計者試圖以(yǐ).NET平台作爲(wéi / wèi)絕大(dà)多數Windows應用的(de)首選運行環境,但.NET首先吸引的(de)卻是(shì)Web開發者的(de)目光。2001年,ECMA通過了(le/liǎo)Microsoft提交的(de)C#語言和(hé / huò)CLI标準,這(zhè)兩個(gè)技術标準構成了(le/liǎo).NET平台的(de)基石,它們也(yě)于(yú)2003年成爲(wéi / wèi)了(le/liǎo)ISO的(de)國(guó)際标準。2002年,Microsoft正式發布.NET Framework和(hé / huò)Visual Studio .NET開發環境。早在(zài).NET發布之(zhī)前,就(jiù)已經有許多Windows平台的(de)Web開發者迫不(bù)及待地(dì / de)利用Beta版本開發Web應用了(le/liǎo)。這(zhè)大(dà)概是(shì)因爲(wéi / wèi),.NET平台及相關的(de)開發環境不(bù)但爲(wéi / wèi)Web服務端應用提供了(le/liǎo)一個(gè)支持多種語言的(de)、通用的(de)運行平台,而(ér)且還引入了(le/liǎo)ASP.NET這(zhè)樣一種全新的(de)Web開發技術。ASP.NET超越了(le/liǎo)ASP的(de)局限,可以(yǐ)使用VB.NET、C#等編譯型語言,支持Web Form、.NET Server Control、ADO.NET等高級特性。客觀地(dì / de)講,.NET平台,尤其是(shì).NET平台中的(de)ASP.NET的(de)确不(bù)失爲(wéi / wèi)Web開發技術在(zài)Windows平台上(shàng)的(de)一個(gè)集大(dà)成者。

  XML語言及相關技術

   如果說(shuō)HTML語言給Web世界賦予了(le/liǎo)無限生機的(de)話,那麽,XML語言的(de)出(chū)現大(dà)概就(jiù)可以(yǐ)算成是(shì)Web的(de)一次新生了(le/liǎo)。按照Tim Berners-Lee的(de)說(shuō)法,Web是(shì)一個(gè)"信息空間"。HTML語言具有較強的(de)表現力,但也(yě)存在(zài)結構過于(yú)靈活、語法不(bù)規範的(de)弱點。當信息都以(yǐ)HTML語言的(de)面貌出(chū)現時(shí),Web這(zhè)個(gè)信息空間是(shì)雜亂無章、沒有秩序的(de)。爲(wéi / wèi)了(le/liǎo)讓Web世界裏的(de)所有信息都有章可循、有法可依,我們需要(yào / yāo)一種更爲(wéi / wèi)規範、更能夠體現信息特點的(de)語言。

   1996年,W3C在(zài)SGML語言的(de)基礎上(shàng),提出(chū)了(le/liǎo)XML(Extensible Markup Language)語言草案。1998年,W3C正式發布了(le/liǎo)XML 1.0标準。XML語言對信息的(de)格式和(hé / huò)表達方法做了(le/liǎo)最大(dà)程度的(de)規範,應用軟件可以(yǐ)按照統一的(de)方式處理所有XML信息。這(zhè)樣一來(lái),信息在(zài)整個(gè)Web世界裏的(de)共享和(hé / huò)交換就(jiù)有了(le/liǎo)技術上(shàng)的(de)保障。HTML語言關心的(de)是(shì)信息的(de)表現形式,而(ér)XML語言關心的(de)是(shì)信息本身的(de)格式和(hé / huò)數據内容。從這(zhè)個(gè)意義上(shàng)說(shuō),XML語言不(bù)但可以(yǐ)将客戶端的(de)信息展現技術提高到(dào)一個(gè)新的(de)層次,而(ér)且可以(yǐ)顯著提高服務端的(de)信息獲取、生成、發布和(hé / huò)共享能力。爲(wéi / wèi)了(le/liǎo)将XML信息轉換爲(wéi / wèi)HTML等不(bù)同的(de)信息展現形式,1999年,W3C制定出(chū)了(le/liǎo)XSLT标準。同一年,IE 5.0增加了(le/liǎo)對XML和(hé / huò)XSLT的(de)支持。

   現在(zài),網站的(de)開發者可以(yǐ)直接使用XML語言發布信息了(le/liǎo)。針對不(bù)同的(de)應用領域,人(rén)們還制定了(le/liǎo)許多專門的(de)XML規範。例如,2001年W3C發布的(de)SVG(Scalable Vector Graphics)1.0标準就(jiù)是(shì)一種用XML語言表達的(de)、全新的(de)二維矢量圖形格式。開發者可以(yǐ)用SVG格式描述大(dà)多數已有的(de)Flash動畫。與Flash格式相比,符合XML标準的(de)SVG格式顯然更有利于(yú)信息交換和(hé / huò)共享。

   Web本身就(jiù)是(shì)一個(gè)最大(dà)的(de)分布式應用系統。對于(yú)分布式開發而(ér)言,XML技術也(yě)大(dà)有用武之(zhī)地(dì / de)。一個(gè)明顯的(de)事實是(shì),如果能讓分布式應用借助XML格式交換信息,那麽,以(yǐ)往橫亘在(zài)分布式架構上(shàng)的(de)信息交換難題也(yě)就(jiù)迎刃而(ér)解了(le/liǎo)。1999年,W3C和(hé / huò)相關的(de)企業開始讨論設計基于(yú)XML的(de)通信協議,2000年,W3C發布SOAP(Simple Object Access Protocol)協議的(de)1.1版。人(rén)們把利用SOAP協議傳遞XML信息的(de)分布式應用模型稱爲(wéi / wèi)Web Service。2001年,W3C發布了(le/liǎo)WSDL(Web Services Description Language)協議的(de)1.1版。SOAP協議和(hé / huò)WSDL協議共同構成了(le/liǎo)Web Service的(de)基礎。随後,J2EE和(hé / huò).NET這(zhè)兩大(dà)企業級開發平台先後實現了(le/liǎo)Web Service,并将其視爲(wéi / wèi)平台的(de)一項核心功能。

   Web Service對于(yú)Web開發者的(de)重要(yào / yāo)意義在(zài)于(yú),當我們需要(yào / yāo)在(zài)不(bù)同的(de)服務端、不(bù)同的(de)客戶端乃至不(bù)同的(de)應用類型、不(bù)同的(de)計算設備之(zhī)間傳遞信息的(de)時(shí)候,以(yǐ)往的(de)分布式開發技術或者因爲(wéi / wèi)适應性不(bù)強,或者因爲(wéi / wèi)擴展能力不(bù)足,都難以(yǐ)滿足現代Web開發的(de)需要(yào / yāo),而(ér)Web Service正好填補了(le/liǎo)這(zhè)一空白。

  Web開發框架和(hé / huò)應用模型

   2000年以(yǐ)後,随着Web應用的(de)日益複雜,人(rén)們逐漸意識到(dào),單純依靠某種技術多半無法達到(dào)快速開發、快速驗證和(hé / huò)快速部署的(de)最佳境界。研究者開始嘗試着将已有的(de)Web開發技術綜合起來(lái),形成完整的(de)開發框架或應用模型,并以(yǐ)此來(lái)滿足各種複雜的(de)應用需求。

   Microsoft在(zài)客戶端的(de)技術集成方面走在(zài)了(le/liǎo)最前面。1998年時(shí)Microsoft推出(chū)的(de)Windows 98就(jiù)可以(yǐ)在(zài)桌面上(shàng)集成Web頁面,這(zhè)實際上(shàng)是(shì)将資源管理器和(hé / huò)Web浏覽器的(de)功能有效地(dì / de)結合了(le/liǎo)起來(lái)。2000年後,Microsoft陸續推出(chū)了(le/liǎo)MSN Explorer和(hé / huò)與之(zhī)相關的(de)MSN在(zài)線服務。這(zhè)一應用模型将Web浏覽、視頻點播、郵件處理、網上(shàng)遊戲、在(zài)線聊天等許多種用戶常用的(de)Web功能集成在(zài)了(le/liǎo)一個(gè)統一的(de)界面中。從信息利用的(de)角度看,MSN試圖讓用戶在(zài)一個(gè)最舒适的(de)環境中獲取足夠的(de)信息,這(zhè)種努力的(de)确值得人(rén)們稱道(dào)。另一個(gè)與客戶端技術集成相關的(de)例子(zǐ)是(shì)搜索引擎Google在(zài)2003年展示給大(dà)家的(de)Google工具欄功能。雖然Google工具欄有炒作和(hé / huò)廣告的(de)嫌疑,但安裝Google工具欄之(zhī)後的(de)IE浏覽器将信息浏覽和(hé / huò)信息檢索有機地(dì / de)結合了(le/liǎo)起來(lái),這(zhè)種小小的(de)功能改進确實是(shì)對用戶的(de)體貼和(hé / huò)幫助。

   在(zài)Web服務端,2000年以(yǐ)後出(chū)現了(le/liǎo)幾種主要(yào / yāo)的(de)技術融合方式。首先,越來(lái)越多的(de)Web開發環境開始支持MVC(Model-View-Contorller)的(de)設計模型,爲(wéi / wèi)開發者提供了(le/liǎo)全套的(de)開發框架。實際上(shàng),J2EE和(hé / huò).NET平台本身就(jiù)是(shì)這(zhè)種開發框架的(de)典型代表。其次,門戶服務(Portal Server)和(hé / huò)Web内容管理(Web Content Management)在(zài)最近幾年裏成爲(wéi / wèi)了(le/liǎo)應用集成的(de)重點模型。這(zhè)兩種應用模型可以(yǐ)直接爲(wéi / wèi)開發者或最終用戶提供構建Web應用的(de)高級平台,可以(yǐ)讓Web開發和(hé / huò)信息發布工作大(dà)爲(wéi / wèi)簡化。在(zài)商業軟件領域,這(zhè)一類應用的(de)例子(zǐ)包括Microsoft的(de)SharePoint、IBM的(de)WebSphere Portal、FileNet的(de)Web Content Manager等等。開源項目在(zài)Web開發框架和(hé / huò)應用模型方面表現得非常積極,Struts、Jetspeed、jPortlet、Cocoon、Lenya、XOOPS等都是(shì)開源世界裏與MVC開發框架、門戶服務和(hé / huò)Web内容管理相關的(de)優秀解決方案。

   當然,技術集成絕不(bù)等于(yú)技術堆砌。一些Web站點和(hé / huò)Web應用的(de)開發者把XML語言、MVC框架等時(shí)髦技術拼湊起來(lái),卻不(bù)管它們是(shì)否能适應具體的(de)應用環境,結果,他(tā)們的(de)系統要(yào / yāo)麽運行效率低下,要(yào / yāo)麽功能殘缺不(bù)全。反之(zhī),一個(gè)值得注意的(de)事實是(shì),像新浪、搜狐或網易這(zhè)樣的(de)門戶網站,在(zài)他(tā)們的(de)信息發布頁面(如新聞頁面)裏,盡管信息内容時(shí)刻都在(zài)刷新,但Web服務器上(shàng)存放的(de)始終都是(shì)靜态的(de)HTML頁面。這(zhè)種"落後技術"的(de)優點是(shì),在(zài)大(dà)量并發訪問的(de)情況下,門戶網站的(de)響應速度仍然很快。深入到(dào)技術層面,我們通常會驚訝地(dì / de)發現,這(zhè)些網站使用的(de)大(dà)多是(shì)自行研發的(de)Web内容管理系統。當網站的(de)内容編輯提交新的(de)信息時(shí),系統會自動将信息轉換爲(wéi / wèi)HTML格式,發布到(dào)Web服務器集群的(de)每一個(gè)結點上(shàng)。在(zài)新浪網的(de)一個(gè)角落裏,我們可以(yǐ)找到(dào)"新浪網站發布系統"的(de)研發曆程:

  V 1.0(1997):基于(yú)文件的(de)版本,實現新聞首頁、正文和(hé / huò)專題的(de)發布。
  V 1.1(1998/12):采用數據庫後台、實現跨服務器發布,自動化程度高。
  V 2.0(1999/3):創立模版和(hé / huò)域的(de)全新概念,奠定了(le/liǎo)該系列的(de)基本設計思路。
  V 2.1(1999/9):增加周邊模塊,如搜索、自動采集。
  V 3.0(2000/1):優化傳輸方式,增加相關新聞和(hé / huò)評論。
  V 3C(2000/6):V3.0的(de)編譯版,也(yě)是(shì)商業版的(de)原型。
  V 3.1(2000/7):優化數據庫結構,采用内存CACHE大(dà)幅提速,增加了(le/liǎo)集中監控功能。
  V 3.1C(2000/8):商業用測試版本。
  V 3.2(正在(zài)制作中):重點解決備份系統的(de)自動化切換,在(zài)機制上(shàng)實現永不(bù)宕機。

  這(zhè)一份有趣的(de)曆史記錄再一次印證了(le/liǎo)我關于(yú)Web開發技術的(de)基本觀點:一種技術隻要(yào / yāo)能爲(wéi / wèi)用戶提供高水平的(de)信息服務,它就(jiù)是(shì)最好、最先進的(de)技術。

   Web開發技術的(de)未來(lái)

  所有人(rén)都在(zài)關心Web的(de)發展前景,所有人(rén)都想知道(dào)十年以(yǐ)後的(de)Web會長成什麽樣子(zǐ)。要(yào / yāo)回答這(zhè)些問題,沒有誰比W3C更有權威了(le/liǎo)。W3C明确地(dì / de)告訴我們,Web的(de)未來(lái)是(shì)語義化的(de)Web(Semantic Web)。今天的(de)Web可以(yǐ)自如地(dì / de)生成、傳遞和(hé / huò)展現各式各樣的(de)信息,但它還隻是(shì)一個(gè)信息的(de)"容器",很難揭示出(chū)信息本身的(de)内容和(hé / huò)特性。與此相對的(de)是(shì),未來(lái)的(de)語義化Web是(shì)一種懂得信息内容的(de)Web,是(shì)真正的(de)"信息管理員"。

  從技術角度看,XML語言統一了(le/liǎo)信息的(de)表達方式,但這(zhè)離揭示信息内容的(de)目标還相距甚遠。1998年,W3C和(hé / huò)一些研究機構開始對元數據(Metadata)進行研究。元數據是(shì)描述數據的(de)數據,可以(yǐ)揭示信息的(de)内容特性。1999年,NetScape提出(chū)的(de)RSS(Rich Site Summary)建議标準是(shì)用元數據技術描述新聞等信息内容的(de)第一次嘗試。1999年,W3C的(de)研究小組提出(chū)了(le/liǎo)RDF(Resource Description Framework)标準草案。RDF在(zài)XML語法的(de)基礎上(shàng),規定了(le/liǎo)元數據的(de)存儲結構和(hé / huò)相關的(de)技術标準。使用RDF語言,我們可以(yǐ)用統一的(de)、可交換的(de)格式揭示出(chū)信息本身的(de)各種特性。2001年,W3C又開始着手制定OWL(OWL Web Ontology Language)标準。OWL語言也(yě)是(shì)一種符合XML标準的(de)語言,它比RDF又前進了(le/liǎo)一步,可以(yǐ)更加深入、細緻地(dì / de)描述信息内容。在(zài)RDF和(hé / huò)OWL語言的(de)幫助下,我們能讓Web上(shàng)的(de)信息内容變得更容易理解、更便于(yú)交換和(hé / huò)共享。2003年,W3C成立了(le/liǎo)語義化Web Service研究小組(Semantic Web Services Interest Group),研究在(zài)Web Service中加入語義技術的(de)相關問題。2004年2月,W3C宣布RDF和(hé / huò)OWL标準正式成爲(wéi / wèi)W3C的(de)建議方案,這(zhè)标志着語義化Web的(de)大(dà)廈已經破土動工。

  随着語義化Web的(de)誕生和(hé / huò)發展,Web開發技術也(yě)必将經曆更爲(wéi / wèi)重大(dà)的(de)變革。可以(yǐ)預見的(de)是(shì),在(zài)未來(lái)的(de)幾年裏,還會有許多新的(de)開發技術或開發平台出(chū)現。從靜态技術到(dào)動态技術,從開發平台到(dào)應用模型,從傳統Web到(dào)語義化Web……爲(wéi / wèi)了(le/liǎo)讓更多的(de)人(rén)獲得更有價值的(de)信息服務,Web開發者們也(yě)許還會經曆一次又一次的(de)技術浪潮,還會面臨更爲(wéi / wèi)嚴峻的(de)技術挑戰,但這(zhè)和(hé / huò)信息共享的(de)最高目标相比,又算得了(le/liǎo)什麽呢?

相關案例查看更多