文章出處

昨天參加Oracle的一個活動,知道了WebLogic的強大,于是對應用服務器產生了興趣。

WebLogic是一個Java EE應用服務器(與Java EE對應的另外一個技術平臺就是.NET)。

Java應用服務器

為什么要應用服務器?

當你開發了一個服務端應用程序,部署到服務器之后,需要一個針對這個應用程序的執行環境,而不是將代碼放到服務器上就能運行。

你需要將Java的JVM或者.NET的CLR運行起來執行你的應用程序;如果是Web應用程序,需要接收用戶通過瀏覽器發出來的請求,并且能將處理結果返回給瀏覽器。。。

所以,服務器上僅有操作系統是不夠的,還需要相應的應用程序執行環境,最好能有提供執行環境、方便應用程序運行的專用服務器,于是應用服務器應運而生。

如果你是用Java開發的服務端應用程序,不管服務器用的是什么操作系統,只要安裝一個Java應用服務器就行了,比如這里提到的WebLogic。

如果你是用.NET開發的服務端應用程序,如果服務器用的是Windows,你需要安裝IIS,安裝.NET Framework;如果服務器用的是Linux,您需要安裝Apache,安裝Mono,安裝Apache Mono模塊。如果有跨平臺的.NET應用服務器,比如叫NWeblogLogic,不管服務器用的是什么操作系統,只要安裝NWeblogLogic,就能跑.NET應用程序,是不是更幸福一些。

目前有沒有.NET應用服務器?

有!一圖勝千言,請看下圖:

Windows Server 2012有一個專門的角色叫Application Server,而要跑.NET Web應用程序,必須要安裝Application Server中的2個功能:IIS+.NET Framework 4.5。

所以,我覺得在不開源的.NET時代,真正的.NET應用服務器就一個——IIS+.NET Framework。

隨著.NET進入開源時代,你可以把IIS換成另外的Web服務器(因為有了OWIN),把.NET Framework換成.NET Core,再加上OWIN服務器,再加上WCF的替代品,將這些打包在一起,做成一個.NET應用服務器——NWebLogic。Mono也許可以往這個方向發展。

應用服務器是一個不容易理解的概念,寫出來理清一下自己的理解,不對之處,歡迎指出。

【更新】

目前我最喜歡的對Application Server的定義:

An application server exposes business logic to client applications through various protocols.

【補充】

PC Magazine對Application Server的解釋值得一看,把其中的幾張圖貼出來:

【相關鏈接】

Java vs .Net

Why does Java apps need an application server and .Net just IIS Web Server?

Application Server vs. Web Server


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()