我對傳說中"多層"的理解 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 我對傳說中"多層"的理解 (http://www.webasp.net/article/17/16551.htm) |
| -- 作者:未知 -- 發佈日期: 2005-02-21 |
| 自從數據庫一誕生,人們就學會了用數據庫存貯東西,而相應的程序是直連數據庫的,直到程序關閉,這個連接才會斷開.這就是C/S程序的最初原形.
但是這種程序有一個問題,只要一程序運行,就必須要連接據庫,只要客戶端一多,哪麼就會有N多數據連接,而N多數據連接,可能有N-1個數據連接是無效的,也就是說N-1台機器上的程序是沒有對數據庫進行操作的。所以這樣的話,對數據庫系統資源佔用很大,因為90%的資源都是浪費在無效連接上。 但是這樣的程序只能適合在局域網,或者廣域網上,當然這樣的程也有優點,哪就是速度快,能進行 大規模的數據運算。 到了Internet時代後,一種新的概念出現了,這個時候人們需要更多數據連接,並且internet的帶寬又有限,不能傳輸大容量數據。 所以人們開始尋求新的解決方案,於是Micrsoft就搞出了一個叫ODBC的東西,直到現在人們也還在用這個東西。ODBC有一個最大的好處就是,他有一個連接池的概念,比如有N台機器連接ODBC,有N-1台機器是靜止的,哪麼,ODBC就的連接池就只會連接一個,沒有用的會自動釋放,連接池的連接數到一定程序時,其它連接就會處於一個等待狀態.直到上一個連接事物處理完後,再接入下一個事物連接。 大份的網頁程序就是這樣的就是就傳統的B/S結構程,但是它中間有一個數據連接操作層,所以也能稱之為三層. 直到J2EE誕生,Net誕生,不對,應該是J2EE首先提出數據服務這個概念,然後Net可能是抄襲Java的這種思想吧,搞了一個叫Web Service的東西。 這個時候人們對程序的需求,就發生重大變化了,要求實現業務羅輯封裝,身份驗證封裝,數據層封裝...等需求.這個時候Web Service直到2002年才被人們正式認可,儘管這個概念早就誕生了. 由於B/S的程序還是由於帶寬的問題,仍然只是有服務器端運行,客戶端接收數據。 也就是說網頁還是在服務器端運行,所以這樣的程序從某種意義上來講,不能算是三層,正是因為人們對程序的要求越來越高了,所以多層的概念也就出來了,多層的東西,應該能實現每一層都有可以運算數據的功能。 當然web service本身就是一個多層的玩意,因為WEB Service本身就可以調用另外一個 WEB Service的方法,還可以向數據庫操作數據,還可以運算數據,可以裝一些業務邏輯進行封裝.這一點是ODBC沒有的,所以說 WEB Service本身就是一個多層的東西,ASP.NET+Web Service搞出來的東西,所以只能算是變向的三層結構,因為ASP.Net不會再去用ODBC了,但是他的理論還是以ODBC為基礎 . 真正意義上的多層應該指的是 Win Form + Web Service. 還沒用Net做過一個項目 ,對於高手來說我寫的可能是垃圾,鬱悶ing...... |
| webasp.net |