星期三, 12月 27, 2006

Web To Database

我常用的Web系統 (例如中銀智達銀行), 今天完全不能進入, 或是慢得可憐, 令我想起了現時我們使用的Web To Database應用系統, 是如何運作呢?


我從來沒有編寫過任何 cgi 的系統, 例如 ASP, JSP和.Net, 連甚麼Web2.0我也不太清楚了. 或許大家可以告訴我, 它們是如何連接Database呢? 是否每次收到Browser的Request, 這些CGI都要連線Database一次? 做Password Authorization呢? 這樣不是很慢嗎?

另一個可能性就是使用3-tiers (或M-tiers), 即是Browser和Database之間有個Middle Tier,這個Tier會永久連接著Database, 收到CGI的Request, 就可以Send Request到Database, 從Database取得Result, 再交給CGI, 由CGI給Browser, 就算是這樣, 我亦覺得沒有效率.

現今的科技太過講求結構性了, 把系統分得很遠, 例如Web Server和Database Sever是兩個獨立的系統, 當然這樣有其好處, 但就是放棄了效率, 我就不太喜歡這樣的設計.

我在網上解決方案一文寫過MemDB如何編寫Web To Database, 就是把Web Server和Database Server整合在一個系統內, 中間沒有CGI, 即是直接收到Browser的Request, 然後在Memory裡找到Result, 直接Send給Browser, 聯播系統就是用這個技術編寫了.