它位于網絡和數據庫之間,那么應用服務器實際上是做什么的?
應用程序服務器是為應用程序提供業務邏輯的代碼。它是基于組件的,位于以服務器為中心的架構的中間層。
這個架構主要基于Web。中間層是業務邏輯所在的應用服務器。而第三層,則是事務服務器的數據庫。應用程序服務器充當的是用戶和數據庫之間的交互。
應用服務器通過各種協議把商業邏輯曝露給客戶端的程序。它還可以包括計算機、web服務器或其他應用服務器上的圖形用戶界面。業務邏輯通過組件API公開。它還管理自己的資源以及執行安全性、事務處理、資源池以及消息傳遞。
對于高端需求,應用服務器往往具有高可用性監視、集群化、負載平衡、集成冗余和高性能分布式應用服務,以及對復雜的數據庫訪問的支持。
在流行的應用服務器平臺中有J2EE,WebLogic,Glassfish,JBoss企業應用平臺,以及Apache Tomcat和Apache Geronimo等等。
為什么要使用應用服務器?有什么好處?
當你需要與現有數據庫和服務器(如Web服務器)集成時,就應使用應用程序服務器。
它可以通過支持應用程序更新和升級的集中式方法來提供數據和代碼的完整性。
可擴展性是使用應用服務器的另一個原因和好處。應用程序服務器可以連接數據庫連接池。這意味著組織可以在不增加數據庫連接量的情況下擴展Web“服務器農場”。
另一個好處是安全。使用單獨的數據訪問層執行數據驗或顯示業務邏輯,可以確保以Web表單輸入的文本不被SQL調用。通過集中化身份驗證過程以及數據訪問管理,安全性也有所提高。
它還可以通過對網絡流量進行限制來提高大量使用應用程序的性能。
它與其他類型的服務器有何區別?
應用程序服務器與Web服務器不同,因為前者通過多種協議處理向應用程序提供業務邏輯,而Web服務器響應并處理HTTP請求。雖然Web服務器可能不支持事務或數據庫連接池,但它可能具有容錯和可擴展性功能,如負載平衡、緩存和集群。
應用服務器與數據庫服務器不同,因為該服務器執行諸如數據分析、存儲、數據處理、歸檔以及其他與數據管理相關的任務。數據庫服務器則使用諸如ODBC、JDBC等協議來命名。