2007年3月13日 星期二

lwkhttpd : Lightweight kHTTPd for Linux Kernel

昨天在SourceForge.net註冊了新專案Ajax/Embedded,做了必要的設定後,開始將之前Proof-of-Concept的程式碼check-in到SVN中。今天開放的項目是子計畫:lwkhttpd,也就是 "Lightweight kHTTPd for Linux Kernel" 之意,以下是該子計畫簡介:

lwkhttpd : Lightweight kHTTPd for Linux Kernel 2.6 series

Copyright (c) 2007 Open RazzmatazZ Laboratory (OrzLab).
Maintained by Jim Huang
Development page: http://sourceforge.net/projects/ajaxembed

[-] Overview

Ajax/Embedded is an experimental design dedicated to perform Ajax applications on embedded systems, such as Wirelss routers. To fit the web traffic on these devices, lwkhttpd is developed as the full kernel-mode HTTP daemon for Linux kernel 2.6 series. Besides handling static requests, lwkhttpd redirects dynamic requests to the user-mode webserver (used for Ajax engine) for extensibility.
儘管Web 2.0並未帶來相當革命性的技術移轉,但我們可以看到Web engine卻有調整與最佳化的空間。在lighttpd開發者的blog有一篇名為 "Faster Web 2.0" 的文章,提出三個方向對Web 2.0應用程式提供更好的效能:
  • Large Response content
  • Pre-generating content
  • Read Ahead
簡單來說,FastCGI的執行模型雖然對OpenWebMail一類的Perl-based Web application有相當程度的效能提昇,但對於Ajax導向的模式來說,還是沒有切中問題核心。Ajax/Embedded底層提供如此一個kernel-mode HTTP daemon,以處理大量的static data,同時也提供 redirect to user-space的機制,讓動態網頁資料 (主要是XMLHttpRequest) 得以「轉包」到我們的Ajax engine,在這之上有豐富的C/C++ Web UI widget set可用。整體效益就如之前blog「Ajax/Embedded」所提,得以建構兼具效能、功能,以及安全性的native Web framework。

對了,Ajax/Embedded計畫項目會參加今年的Coding Jam 2007活動,已提交簡要的ProposalTaiwanCodeJam的wiki page中。希望能快點拿到我們的參考硬體,ARM-based的硬體已開始運作,現在要試試Wifi相關的部份,開發的過程中讓我發現很有趣的現象:現在的computing model逐漸「M化」,不僅是mobile化,也是朝向兩個極端的演化,就Ajax/Embedded專案的適用範疇來看,事實上就是「client比server快上許多」的模式,同時server-side產生相對少量的資料,讓client-side盡情去描繪多采多姿的內容,也對使用者互動方面有了更多的需求。

沒有留言: