IBM WebSphere Application Server Community Edition 是在 ApacheGeronimo 之上構(gòu)建的 Java 2 Platform, Enterprise Edition (J2EE) 應(yīng)用服務(wù)器,由 ApacheFoundation 創(chuàng)建的開(kāi)放源代碼應(yīng)用服務(wù)器。
什么時(shí)候使用 WebSphere Application Server Community Edition
什么時(shí)候應(yīng)該使用 WebSphere Application Server Community Edition呢?這取決于您使用應(yīng)用服務(wù)器的計(jì)劃,有幾種情況使用 WebSphere Application Server CommunityEdition(以下稱(chēng)為 Community Edition)會(huì)是您的最佳實(shí)現(xiàn)選擇;同樣,有時(shí)使用更健壯的 WebSphereApplication Server 產(chǎn)品是合理的,甚至有時(shí)使用 Apache Geronimo 更為合適。例如:
如果您需要輕量級(jí)的應(yīng)用服務(wù)器作為測(cè)試平臺(tái)來(lái)運(yùn)行 J2EE 應(yīng)用程序,并且傾向于使用一個(gè)相對(duì)穩(wěn)定、經(jīng)過(guò)反復(fù)測(cè)試和可得到世界級(jí)技術(shù)支持的產(chǎn)品,則從技術(shù)和經(jīng)濟(jì)角度來(lái)看,Community Edition 將是您的最佳選擇。您可以相信該應(yīng)用服務(wù)器能夠足夠穩(wěn)定地運(yùn)行應(yīng)用程序和原型,另外 Community Edition 還可以免費(fèi)下載和使用。您可以在短時(shí)間內(nèi)安裝并使用它來(lái)進(jìn)行商業(yè)評(píng)估或原型演示。在您免費(fèi)使用該產(chǎn)品的同時(shí),可以根據(jù)需要購(gòu)買(mǎi) IBM 支持(可選),如果需要,還可以遷移到其他 WebSphere Application Server 產(chǎn)品。
如果您打算運(yùn)行要求高可用性、集群或故障轉(zhuǎn)移的重要應(yīng)用程序,或者想要通過(guò)復(fù)雜的管理控制臺(tái)和工具功能來(lái)幫助部署和調(diào)試 J2EE 應(yīng)用程序,則應(yīng)該考慮其他 IBM WebSphere Application Server 產(chǎn)品。使用 Community Edition,您可以快速開(kāi)發(fā)應(yīng)用程序并使其以增量的方式發(fā)展,同時(shí)提供基本的安全性、簡(jiǎn)單的管理和手動(dòng)的應(yīng)用程序部署。Community Edition 的目標(biāo)用戶(hù)是單個(gè)開(kāi)發(fā)人員、部門(mén)員工或小型企業(yè)。在此范圍之外,您應(yīng)該考慮其他 WebSphere Application Server 產(chǎn)品。如果您正在尋找的是更加可視化的快速開(kāi)發(fā)工具,則 WebSphere Application Server - Express 可能是更好的選擇。如果您需要可伸縮性、在企業(yè)范圍部署、功能豐富且健壯,或者您有大量事務(wù),想要自動(dòng)部署應(yīng)用程序,或者基于商業(yè)目標(biāo)實(shí)現(xiàn)應(yīng)用優(yōu)先級(jí),則 應(yīng)該考慮 WebSphere Application Server、WebSphere Application Server Network Deployment 或 WebSphere Extended Deployment。
如果您想要改進(jìn)或自定義應(yīng)用服務(wù)器的實(shí)現(xiàn)、添加功能或者修復(fù)錯(cuò)誤,則使用 Apache Geronimo 可能較為合適,它可以讓您獲得所有的相關(guān)源代碼和構(gòu)建自己的應(yīng)用服務(wù)器。另外,您可以將您的更新發(fā)布到 Apache Geronimo 社區(qū),以便您的工作可以被其他人利用。
Apache Geronimo 是由 Apache Software Foundation 開(kāi)發(fā)的開(kāi)放源代碼 J2EE應(yīng)用服務(wù)器項(xiàng)目,它集成了來(lái)自廣泛的開(kāi)放源代碼社區(qū)的領(lǐng)先技術(shù)(例如 Apache Jetty、ApacheTomcat、ActiveMQ、Tranql、OpenEJB,等等)以支持 J2EE 堆棧。(完整的技術(shù)列表請(qǐng)參閱參考資料中的 Community Edition 文檔)。Geronimo 是由 Apache 許可的,它可高度自定義和社區(qū)驅(qū)動(dòng)的。
Community Edition 是在 Apache Geronimo Milestone 5 之上構(gòu)建的輕量級(jí) J2EE應(yīng)用服務(wù)器,它具有 IBM 添加的關(guān)鍵功能,并可得到 IBM 世界級(jí)的支持。Community Edition 主要由 ApacheGeronimo M5 組成,并具有包含 IBM 附加值的產(chǎn)品。Community Edition 的關(guān)鍵功能包括:
Community Edition 系統(tǒng)的先決條件:
Community Edition 可以運(yùn)行在其他平臺(tái)上,但如果需要獲得支持,則必須使用這些環(huán)境之一:
如果您還沒(méi)有一個(gè)支持的 Java 環(huán)境,則可以下載包含支持的 JRE 的安裝包。
下載和安裝 Community Edition 相當(dāng)簡(jiǎn)單。您可以從 developerWorks免費(fèi)下載 Community Edition 軟件。Community Edition有四種可用的版本;下載哪種版本取決于您的平臺(tái)以及您是否已經(jīng)安裝支持的 Java Runtime Environment(JRE)。如果您還沒(méi)有支持的 JRE,請(qǐng)確保選擇標(biāo)簽為“plus JRE”的一種包。
如果您已經(jīng)有了支持的 Java 環(huán)境,則只需要通過(guò)運(yùn)行 setup-wasce 文件安裝 CommunityEdition。否則,需要展開(kāi)(untar 或 unzip,取決于您的平臺(tái))wasce10_ibm142jre 文件并運(yùn)行setup-ibm-jre-142 來(lái)創(chuàng)建支持的 JRE,然后才能運(yùn)行 setup-wasce 文件。
在 Windows 2003 或 XP 服務(wù)器上,通過(guò)選擇 Start => Programs => IBM WebSphere => Application Server Community Edition => Start the server 來(lái)啟動(dòng)服務(wù)器。這將啟動(dòng)位于 C:\Program Files\IBM\WebSphere\AppServerCommunityEdition\bin\startServer.exe(假設(shè)您使用缺省安裝位置)的 Startup Launcher。
在 Linux 上,通過(guò)運(yùn)行 /opt/IBM/WebSphere/AppServerCommunityEdition/bin 上的 startServer.sh 來(lái)啟動(dòng)服務(wù)器(假設(shè)您使用缺省安裝位置)。
圖 1 顯示了當(dāng)服務(wù)器成功啟動(dòng)時(shí)會(huì)顯示的 Geronimo Application Server started
消息。
要停止服務(wù)器,請(qǐng)?jiān)诜?wù)器啟動(dòng)窗口中按下 Ctrl-C。會(huì)顯示消息 Server shutdown begun
,然后服務(wù)器立即關(guān)閉。
當(dāng)您下載 Community Edition時(shí)其中有一個(gè)文件是包含 J2EE 示例應(yīng)用程序的 ZIP 文件。使用這些示例是開(kāi)始使用 Community Edition的一個(gè)很好方式。通過(guò)部署其中最簡(jiǎn)單的應(yīng)用程序——Hello 示例,您可以快速掌握將自己的應(yīng)用程序部署到 Community Edition的基本知識(shí)。要使用這些示例和部署 Hello 應(yīng)用程序,您應(yīng)該執(zhí)行以下操作:
從產(chǎn)品下載頁(yè)面下載 wasce10_samples.zip 文件,并將其解壓縮到一個(gè)已知位置。
在 samples 目錄下,hello 目錄包含應(yīng)用程序的源代碼和二進(jìn)制兩種形式。如果您導(dǎo)航至 src/webapp,您將看到這是一個(gè)非常簡(jiǎn)單的 Web 應(yīng)用程序。主文件是一個(gè) Java ServerPages 文件 index.jsp(清單 1)。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <jsp:useBean id="datetime" class="java.util.Date" /> <title> Hello IBM WebSphere Application Server Community Edition Version 1 </title> </head> <body> <h2> Welcome to IBM WebSphere Application Server Community Edition Version 1 </h2> <p> Congratulations on running this very simple demo application on ${datetime}. </p> </body> </html> |
Hello 應(yīng)用程序也有一個(gè)遵循標(biāo)準(zhǔn) J2EE 的部署描述符(清單 2)。Hello 應(yīng)用程序是一個(gè)標(biāo)準(zhǔn)的 Web 應(yīng)用程序,所以應(yīng)該不需要做任何更改就可以在 Community Edition 或其他任何 J2EE 應(yīng)用服務(wù)器上運(yùn)行。
<?xml version="1.0" encoding="UTF-8" ?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" /> |
在部署應(yīng)用程序之前啟動(dòng)服務(wù)器。
打開(kāi)另一個(gè)命令提示符并導(dǎo)航至 wasce_install 目錄。
執(zhí)行命令:
java -jar bin\deployer.jar --user system --password manager deploy samples_home\hello\bin\hello.war |
當(dāng)部署命令完成時(shí),將會(huì)顯示此消息以指示部署成功:
Deployed hello @ http://localhost:8080/hello |
在新的瀏覽器窗口中打開(kāi) http://localhost:8080/hello。您應(yīng)該能看到一條祝賀您應(yīng)用程序部署成功的消息(圖 2)。
您已經(jīng)成功部署并運(yùn)行了該應(yīng)用程序。這再簡(jiǎn)單不過(guò)了。然而,如果您查看啟動(dòng)服務(wù)器的窗口,您將看到這段消息:
WARN [TomcatModuleBuilder] Web application does not contain a WEB-INF/geronimo-web.xml deployment plan. This may or may not be a problem, depending on whether you have things like resource references that need to be resolved. You can also give the deployer a separate deployment plan file on the command line. |
因?yàn)檫@是一個(gè)簡(jiǎn)單的應(yīng)用程序,它不需要額外的信息就可以部署成功,所以這不是問(wèn)題。如果您部署一個(gè)更復(fù)雜的應(yīng)用程序(例如,依賴(lài)于外部庫(kù)的應(yīng)用程序,或者需要將任何資源引用映射成實(shí)際資源的應(yīng)用程序),則需要在部署時(shí)提供額外信息。對(duì)于 CommunityEdition,這一信息是以部署計(jì)劃的形式提供的。
作為簡(jiǎn)單的示例,讓我們將 Hello 應(yīng)用程序的上下文根 (context root) 更改為 simpledemo 而非 hello。
在可以用新的上下文根部署 Hello 應(yīng)用程序之前,您必須將它解除部署。在 wasce_install 目錄中執(zhí)行以下命令:
java -jar bin\deployer.jar --user system --password manager undeploy hello |
您應(yīng)該能看到一段消息,表明您已成功解除部署應(yīng)用程序。(您可能會(huì)忘記包含應(yīng)用程序的模塊的名稱(chēng),對(duì)于這種情況,您可以執(zhí)行 list-modules
命令來(lái)查看當(dāng)前部署在服務(wù)器上的所有模塊。)
將清單 3 中的代碼復(fù)制到名為 hello-plan.xml 的文件中來(lái)部署計(jì)劃。
<?xml version="1.0"?> <web-app xmlns="http://geronimo.apache.org/xml/ns/web" xmlns:naming="http://geronimo.apache.org/xml/ns/naming" configId="HelloApp"> <context-root>/simpledemo</context-root> </web-app> |
通過(guò)執(zhí)行此命令再次部署應(yīng)用程序——這次也提供部署計(jì)劃的位置:
java -jar bin\deployer.jar --user system --password manager deploy samples_home\hello\bin\hello.war |
當(dāng)部署完成時(shí),您應(yīng)該能看到一段消息表明部署成功:
Deployed HelloApp @ http://localhost:8080/simpledemo |
不僅上下文根改變了,連模塊名稱(chēng)現(xiàn)在都與部署計(jì)劃中指定的配置 ID 相同。
當(dāng)您遇到問(wèn)題時(shí),首先要查看的地方是日志。
安裝日志
服務(wù)器日志
Community Edition 服務(wù)器日志可以在 installDir/var/log 目錄中找到,其中 installDir 是服務(wù)器的安裝目錄。
缺省數(shù)據(jù)庫(kù)日志
IBM Cloudscape Version 10.1 是缺省的系統(tǒng)數(shù)據(jù)庫(kù),它的日志 derby.log 可以在 installDir/var/log 目錄中找到,其中 installDir 是服務(wù)器的安裝目錄。
IBM 技術(shù)支持小組為 Community Edition 提供了三種級(jí)別的付費(fèi)支持,可以按年度訂閱。有關(guān)詳細(xì)信息,請(qǐng)?jiān)L問(wèn)技術(shù)支持服務(wù)頁(yè)面。
示例下載 ZIP 文件中提供了其他示例應(yīng)用程序。已證明使用這些示例是繼續(xù)學(xué)習(xí)應(yīng)用服務(wù)器的一種好方式。其他示例應(yīng)用程序包括:
CViewer - 一個(gè)Web 應(yīng)用程序包含了一個(gè) JSP 和它調(diào)用的一個(gè)servlet。它為用戶(hù)提供一個(gè)表單,讓其輸入完全有效的類(lèi)名稱(chēng)。表單提交后,該 Servlet 會(huì)“映射”到該類(lèi)名稱(chēng)并將結(jié)果返回給用戶(hù)。
DBDemo1 - 一個(gè)訪(fǎng)問(wèn) Derby 數(shù)據(jù)庫(kù)中的 WASCE_USERS 數(shù)據(jù)庫(kù)表的 Web 應(yīng)用程序。
EMPdemo - 一個(gè)表明如何訪(fǎng)問(wèn) Derby 數(shù)據(jù)庫(kù)以及如何配置訪(fǎng)問(wèn)外部 Oracle 數(shù)據(jù)庫(kù)的示例應(yīng)用程序。它通過(guò)一個(gè) WAR 文件部署。
Daytrader - 一個(gè)枚舉股票交易情況的示例應(yīng)用程序。用戶(hù)可以查看投資組合、獲得報(bào)價(jià)以及買(mǎi)賣(mài)股票。這是一個(gè)高級(jí)的應(yīng)用程序,它使用許多 J2EE 功能,包括 JSP、Servlet、Enterprise JavaBeans、JDBC 和 JMS。
請(qǐng)查看 Community Edition 的產(chǎn)品文檔,它涵蓋對(duì) Community Edition 需要了解的其他一切,包括快速入門(mén)、選擇策略、概念、任務(wù)、引用和常見(jiàn)問(wèn)題。
聯(lián)系客服