昨天參加Oracle的一個活動,知道了WebLogic的強大,于是對應用服務器產生了興趣。
WebLogic是一個Java EE應用服務器(與Java EE對應的另外一個技術平臺就是.NET)。
為什么要應用服務器?
當你開發了一個服務端應用程序,部署到服務器之后,需要一個針對這個應用程序的執行環境,而不是將代碼放到服務器上就能運行。
你需要將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的解釋值得一看,把其中的幾張圖貼出來:
【相關鏈接】
Why does Java apps need an application server and .Net just IIS Web Server?
文章列表
留言列表