[ASP.NET]利用WebService構建多層Web應用
[ASP.NET]利用WebService構建多層Web應用
在A(yíng)SP.NET中,用WebService構建多層Web應用,比如我們其分為三層,最前面的表現層,中間的邏輯和數據處理層,和最后的數據庫層。前面的表現層,就是ASP.NET WEB應用程序,而中間的邏輯和數據處理層,就是ASP.NET WEB服務(wù),最后的是數據庫。最小可放在一臺主機上,最多,可放在N多臺主機上,至少,可以把這三層方到三臺主機上。
WebService好搭建,但WebService搭建起來(lái)后,Web Application如何應用它,是個(gè)大問(wèn)題。Web Application應用WebService有三種方法,第一種是直接在WebApplication里建WebService,這種方法最簡(jiǎn)單,但其缺點(diǎn)是,在代碼上可能能把他們分開(kāi),但在實(shí)際使用上卻沒(méi)把表現層和邏輯層分開(kāi),實(shí)際上是混到了一起。
第二種是直接引用WebService的DLL文件,這樣,WebApplication和WebService在開(kāi)發(fā)的時(shí)候各做各的,不過(guò)麻煩的是,事實(shí)上,在運行中,他們實(shí)際上還是在一臺機器上。而沒(méi)有分開(kāi)到不同的機器中。
第三種是真正的在物理上和邏輯上把表現層和邏輯層分離了開(kāi)來(lái)。WebApplication應用WebService的時(shí)候,是采用Web引用,生成一個(gè)訪(fǎng)問(wèn)WebService的類(lèi)代碼,在運行的時(shí)候,實(shí)際上凡是用到WebService的時(shí)候,都是由這個(gè)WebService類(lèi)代碼轉移到了 WebService實(shí)際所在的地址(另外的主機,當然,也可以在同一臺主機上)去處理,然后把處理結果返回到WebApplication中。這樣,就實(shí)現了物理和邏輯上的完全分離。就像是我們要使用一個(gè)函數庫,但我們不需要把那個(gè)函數庫的庫文件搬到
我們這里來(lái),我們只需要它的實(shí)際地址,當我們要用它的時(shí)候,就把消息發(fā)給它,等它處理完再返回來(lái)給我。
最佳的應用,當然是使用第三種方式
我們發(fā)現,當前,ASP.NET和JSP都支持這種方式的開(kāi)發(fā),進(jìn)行企業(yè)級應用開(kāi)發(fā),而PHP目前還支持不夠,真誠地希望PHP能早點(diǎn)實(shí)現這一步,不至于被落下太多。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。