七款最佳的免費應用服務器
譯文應用服務器是為應用程序提供業務邏輯的計算機軟件。它提供了諸多服務,如管理大型分布式系統、數據服務、負載均衡、事務支持和網絡安全等服務。應用服務器是三層應用體系的一部分,由圖形化界面服務器、應用(業務邏輯)服務器和數據庫/事務服務器組成。許多應用服務器支持Java平臺,但是它們可能出現在其他環境中。
在企業環境部署應用服務器有幾個充分的理由。大體上來說,應用服務器能夠將應用程序的更新版和升級版分發給所有用戶。系統管理員也得益于這個事實:可以集中對應用程序配置進行更改,這大大簡化了技術支持,最終大大簡化了最終用戶體驗。應用服務器還可以簡化用戶管理,不需要為應用程序建立和維護用戶管理系統。這種類型的軟件還可以改善可擴展性和資源使用狀況,通過不同的部署包裝器來展現業務組件。
隨著云計算變得越來越重要,應用服務器的角色勢必只會日益重要。
為了深入了解市面上這種軟件的質量,我們列出了七款應用服務器,它們有望最終為部署了企業應用程序的機構大幅節省成本。
值得一提的兩款應用軟件是IBM WebSphere應用服務器和Apache Tomcat。IBM提供了社區版本的軟件,采用免費使用和分發的許可證來發行,但是它基于下文介紹的Apache Geronimo。實際上,Apache Tomcat是一種Web容器,而不是完全成熟的應用服務器。Web容器是Web服務器中與服務器端小程序(servlet)交互的Web組件,而服務器端小程序就是一些Java類,可以擴展讓客戶端訪問應用程序的服務器的功能。不過,Tomcat避免了與功能完備的應用服務器有關的一些開銷。
為了深入了解現有軟件的質量,我們列出了七款出色的開源應用服務器。但愿需要分層架構的企業會在這里找到感興趣的一款應用服務器。
現在,我們介紹七款隨時可用的應用服務器。我們全面介紹了每一款應用服務器,并深入分析了其特性,還提供了相關資源和評論的鏈接。
#p# JBoss
JBoss應用服務器是符合J2EE認證的平臺,可用于開發和部署企業Java應用程序、Web應用程序和門戶網站。除了擴展的企業服務(包括集群、緩存和持久化)外,JBoss應用服務器還提供了一系列齊全的J2EE 1.4特性。
JBoss應用服務器包括對Enterprise Java Beans (EJB) 3.0的支持,旨在顯著簡化企業Java編程模式。
JBoss是市面上使用最廣泛的第一大Java應用服務器。成百上千的專業開源開發人員致力于為JBoss應用服務器從事開發。實際上,所有受雇為JBoss應用服務器從事開發的人都是從開源社區雇來的,他們每個人都為開源項目從事過開發工作。
特性包括:
•支持面向方面的編程(AOP)
•集群
•部署API
•分布式緩存(使用JBoss Cache,這是一個獨立產品)
•分布式部署(批量部署)
•Enterprise JavaBeans版本3和2.1
•故障切換(包括會話)
•與Hibernate集成(面向持久化編程;Java持久性API或JPA)
•Java驗證和授權服務(JAAS)
•與Java EE連接件架構(JCA)集成
•Java管理擴展件
•Java服務器頁面(JSP)/ Java Servlet 2.1/2.5(Tomcat)
•JBoss Web服務(JBossWS),面向JAX-WS等Java EE Web服務
•JDBC
•負載均衡
•管理API
•OSGi框架
•RMI-IIOP(JacORB,Java和CORBA的縮寫)
•SOAP with Attachments API for Java(SAAJ)
•Teiid數據虛擬化系統
•與JBoss 5包含在一起的JBoss EJB3實現了最新版的Enterprise Java Beans(EJB)規范。EJB 3.0深入改進和簡化了EJB規范。EJB 3.0的目的是簡化開發,方便測試驅動方法,并且主要致力于編寫普通Java對象(POJO),而不是針對復雜的EJB API來進行編程。
•JBoss Messaging是JBoss企業中間件堆棧(JEMS)中的高性能JMS提供者,與作為默認消息提供者的JBoss 5包含在一起。它還是JBoss企業服務總線(ESB)基礎架構的基石。JBoss Messaging對JBossMQ進行了全面改寫,JBossMQ是JBoss AS 4.x系列的默認JMS提供者。
•JBossCache 2.0分為兩個版本。一種是傳統的樹狀結構、基于節點的緩存;另一種是PojoCache,這種內存中的、事務型的、復制的緩存系統讓用戶可以透明地處理簡單的POJO,不需要用戶主動管理復制或持久化方面。
•JBossWS 2是面向JBoss 5的Web服務堆棧,提供了與Java EE兼容的Web服務:JAXWS-2.0。
•JBoss Transactions是JBoss 5的默認事務管理器。JBoss Transactions基于被行業證實的技術,而且18年來一直是分布式事務領域的領導者。
•JBoss Web是JBoss 5中的Web容器,這個基于Apache Tomcat的實現機制包括Apache便攜式運行時(APR)和Tomcat原生技術,以獲得不亞于Apache Http服務器的可擴展性和性能特點。
#p# Zope
Zope(Z對象發布環境)是一款免費開源的、面向對象的Web應用服務器,用Python編程語言編寫而成。
Zope可以幫助你迅速創建動態的Web應用程序,比如門戶網站和內聯網網站。Zope隨帶所需的各項功能,包括支持成員、搜索和新聞。
特性包括:
•全面、自動的硬件檢測
•結合了Python的優點、ZODB對象數據庫和內置安全系統
•內置的Web服務器
•FTP服務器
•WebDAV服務器
•XML-RPC服務功能
•基于Web的界面
•對象數據庫——事務型對象數據庫,不但能存儲內容和自定義數據,還能存儲動態HTML模板、腳本、數據引擎、關系數據庫(RDBMS)連接和代碼。
•與關系數據庫集成
•腳本支持
•用于創建HTML模板的兩種機制:動態模板標記語言(DTML)和Zope頁面模板(ZPT)
#p# Apache Geronimo
Apache Geronimo是一款開源應用服務器,由Apache軟件基金會開發,采用Apache許可證來發行。Geronimo目前與Java企業版(Java EE)5.0規范兼容。
Apache Geronimo v2.2.1服務器通過了Sun的JEE5認證測試套件的測試。每個Geronimo服務器包都包括兩種可能的Web容器中的一種:Tomcat或Jetty。
Geronimo提供了一種名為GShell的命令外殼環境,用于執行命令。
特性包括:
•易于使用
•Build服務器
•與Java企業版(Java EE)5.0規范兼容,比如JDBC、RMI、電子郵件、JMS、Web服務、XML、Enterprise JavaBeans、連接件、服務器端小程序、門戶組件、JavaServer Pages和幾項Web服務技術
•組件包括:
○Apache Tomcat
○Jetty
○Apache ActiveMQ
○Apache OpenEJB
○Apache OpenJPA
○Apache ServiceMix
○Apache Axis和Apache Scout
○Apache CXF
○Apache Derby
○Apache WADI
○MX4J
•支持Java SE 6
•插件配置文件
•提供滿足開發人員、管理員和系統集成人員要求的運行時環境
•與市面上最佳的開源工具(如Eclipse)集成
•Geronimo管理控制臺是一種基于Web的界面,為管理Geronimo服務器的諸多方面提供了一種使用方便、對用戶友好的方式
•Geronimo Eclipse插件(GEP)為之前版本的Geronimo服務器環境提供了兼容性支持
#p# GlassFish
GlassFish是一款最初由Sun公司為Java EE平臺開發的開源應用服務器,現在由甲骨文公司來支持。這個項目提供了用于開發高質量應用服務器的結構化流程。
GlassFish基于Sun發布的源代碼和甲骨文公司的TopLink持久化系統。它使用Apache Tomcat的衍生版本作為用于提供Web內容的服務器端小程序容器。
特性包括:
•開放的、模塊化的、可擴展的平臺
•輕型、靈活
•基于OSGi的可擴展核心
•企業就緒的應用服務器,擁有大規模可擴展性和先進的管理功能
•全面集群
•集中式管理,基于角色的安全
•SSH或DCOM配置
•高可用性
•易于使用的管理控制臺
•命令行工具
•更新中心
•嵌入式API
•為應用服務器消除監控負擔的Flashlight基礎架構
•支持REST監控
•支持所有的Java EE API規范,比如JDBC、RMI、電子郵件、JMS、Web服務、XML及更多
•支持動態語言,比如Ruby on Rails、Jython和Groovy
•支持Java EE 6
•插入式容器、支持腳本語言
•可與微軟.NET協同運行
#p# Zend服務器社區版
Zend服務器社區版是一款簡單的、直觀的開源軟件Web應用服務器,面向PHP 5,旨在消除編程方面的繁瑣細節,讓用戶可以致力于大局。
Zend框架的一個優點是,采用了高度模塊化的模型-視圖-控制器(MVC)設計,使得代碼更容量重復使用、更容易維護。
你可以在開發和測試期間,使用Zend服務器社區版在生產環境中運行應用程序,確保在整個應用程序的生命周期中擁有一致的環境。
Zend Server提供了兩個版本:Zend服務器社區版是一款輕型版的Zend服務器,另一個版本是全面的、企業就緒的Web應用服務器,它是為了在生產環境中部署、運行和管理業務關鍵型PHP應用程序而設計的。
特性包括:
•全面的PHP堆棧,包括Zend框架
•應用程序部署
•基于Web的PHP管理控制臺
•調試器界面
•PHP緩存和優化
•字節碼加速
•支持充分利用REST的Web API
•Java連接件
•PHP字節碼加速(Zend Optimizer+)——無需對應用程序進行變更,即可提升性能
•數據緩存API——一組函數讓開發人員可以將數據緩存到共享內存或緩存到磁盤
•可連接到所有常見數據庫
•與Apache或IIS集成
•全面支持PHP 5.2和5.3
•原生安裝
非開源Zend服務器的額外特性
•PHP監控
○函數錯誤
○數據庫錯誤
○函數執行速度慢
○查詢執行速度慢
○請求執行速度慢
○內存占用率高
○輸出大小不一致
○Java錯誤未發現
○例外情況
○自定義事件
○致命的PHP錯誤
○PHP錯誤
•應用程序問題的診斷
•代碼跟蹤
•集群支持
•作業隊列:卸載了執行長時間運行的PHP腳本這一任務
•Zend下載服務器
#p# JOnAS
JOnAS是一款成熟的開源應用服務器,由ObjectWEB聯盟開發和運行,它實現了符合Java EE 5認證的應用服務器規范。
該軟件通過EasyBeans提供了全面兼容的EJB容器,與嵌入式Tomcat或Jetty Web容器一并提供。
特性包括:
•實現了全面的Java EE 5執行堆棧,并與EasyBeans一起提供了高效的、可插入的、易于使用的EJB3容器,還提供了一些Java EE 6TM預覽(JPA 2.0和CDI等),借助OW2 EasyBeans容器支持EJB3、借助Tomcat 6/7或Jetty 6/8支持服務器端小程序、借助CXF 2支持JAX-WS,借助Jersey支持JAX-RS 1.1等
•高級集群機制,確保可擴展性和高可用性
•一目了然的遠程管理控制臺
•在OSGi架構上運行
•面向許多集成開發環境(IDE)的插件
#p# Jetty
Jetty是一款開源HTTP服務器端小程序服務器(應用服務器),完全用Java編寫而成。它旨在確保輕型、高性能、嵌入式、可擴展和靈活,因而使得它成為處理來自任何Java應用程序的動態HTTP請求的理想平臺。Jetty可以嵌入到眾多設備、工具、框架、應用服務器和集群中。
Jetty用于許多不同的產品,包括Ubuntu、Liferay、Zimbra、雅虎Hadoop集群、Apache Geronimo、Alfresco、谷歌應用引擎、Eclipse及其他許多產品中。
特性包括:
•功能齊全、基于標準
•實現了核心標準服務器端小程序2.5規范
•靈活、可擴展。它可以部署和集成到廣泛環境:
○軟件框架和工具
○JEE應用服務器
○嵌入式應用程序、產品和服務
○從手機到大型服務器的諸多設備
•占用資源少
•可嵌入式
•異步
•可靈活擴展,適用于企業環境
•靈感源自EE的眾多特性,比如Java命名和目錄接口(JNDI)、Java事務API(JTA)、Java消息服務(JMS)和郵件服務器
•采用Apache和Eclipse雙許可證來發行
原文鏈接: http://www.linuxlinks.com/article/20120317015727999/ApplicationServers.html