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