IBM WebSphere Application Server Community Edition 是在 Apache
Geronimo 之上構建的 Java 2 Platform, Enterprise Edition (J2EE) 應用服務器,由 Apache
Foundation 創(chuàng)建的開放源代碼應用服務器。
什么時候使用 WebSphere Application Server Community Edition
什么時候應該使用 WebSphere Application Server Community Edition
呢?這取決于您使用應用服務器的計劃,有幾種情況使用 WebSphere Application Server Community
Edition(以下稱為 Community Edition)會是您的最佳實現(xiàn)選擇;同樣,有時使用更健壯的 WebSphere
Application Server 產(chǎn)品是合理的,甚至有時使用 Apache Geronimo 更為合適。例如:
-
如果您需要輕量級的應用服務器作為測試平臺來運行 J2EE
應用程序,并且傾向于使用一個相對穩(wěn)定、經(jīng)過反復測試和可得到世界級技術支持的產(chǎn)品,則從技術和經(jīng)濟角度來看,Community Edition
將是您的最佳選擇。您可以相信該應用服務器能夠足夠穩(wěn)定地運行應用程序和原型,另外 Community Edition
還可以免費下載和使用。您可以在短時間內(nèi)安裝并使用它來進行商業(yè)評估或原型演示。在您免費使用該產(chǎn)品的同時,可以根據(jù)需要購買 IBM
支持(可選),如果需要,還可以遷移到其他 WebSphere Application Server 產(chǎn)品。
-
如果您打算運行要求高可用性、集群或故障轉(zhuǎn)移的重要應用程序,或者想要通過復雜的管理控制臺和工具功能來幫助部署和調(diào)試 J2EE
應用程序,則應該考慮其他 IBM WebSphere Application Server 產(chǎn)品。使用 Community
Edition,您可以快速開發(fā)應用程序并使其以增量的方式發(fā)展,同時提供基本的安全性、簡單的管理和手動的應用程序部署。Community
Edition 的目標用戶是單個開發(fā)人員、部門員工或小型企業(yè)。在此范圍之外,您應該考慮其他 WebSphere Application
Server 產(chǎn)品。如果您正在尋找的是更加可視化的快速開發(fā)工具,則 WebSphere Application Server - Express
可能是更好的選擇。如果您需要可伸縮性、在企業(yè)范圍部署、功能豐富且健壯,或者您有大量事務,想要自動部署應用程序,或者基于商業(yè)目標實現(xiàn)應用優(yōu)先級,則
應該考慮 WebSphere Application Server、WebSphere Application Server Network
Deployment 或 WebSphere Extended Deployment。
-
如果您想要改進或自定義應用服務器的實現(xiàn)、添加功能或者修復錯誤,則使用 Apache Geronimo 可能較為合適,它可以讓您獲得所有的相關源代碼和構建自己的應用服務器。另外,您可以將您的更新發(fā)布到 Apache Geronimo 社區(qū),以便您的工作可以被其他人利用。
Community Edition 的附加值
Apache Geronimo 是由 Apache Software Foundation 開發(fā)的開放源代碼 J2EE
應用服務器項目,它集成了來自廣泛的開放源代碼社區(qū)的領先技術(例如 Apache Jetty、Apache
Tomcat、ActiveMQ、Tranql、OpenEJB,等等)以支持 J2EE 堆棧。(完整的技術列表請參閱參考資料中的 Community Edition 文檔)。Geronimo 是由 Apache 許可的,它可高度自定義和社區(qū)驅(qū)動的。
Community Edition 是在 Apache Geronimo Milestone 5 之上構建的輕量級 J2EE
應用服務器,它具有 IBM 添加的關鍵功能,并可得到 IBM 世界級的支持。Community Edition 主要由 Apache
Geronimo M5 組成,并具有包含 IBM 附加值的產(chǎn)品。Community Edition 的關鍵功能包括:
- J2EE 1.4 認證,它支持性能在整個行業(yè)領先的 IBM Java Virtual Machine (JVM);其他 WebSphere Application Server 產(chǎn)品也附帶相同的 JVM。
- 使用 Apache Tomcat 作為缺省 Web 容器(Geronimo 使用 Jetty)。
- IBM Cloudscape V10.1 數(shù)據(jù)庫嵌入 Community Edition,并支持在開發(fā)和生產(chǎn)中使用。
- 支持 DB2?、Oracle? 數(shù)據(jù)庫、Microsoft? SQL Server 和 MySQL 數(shù)據(jù)庫服務器。
- 采用 InstallShield 安裝,下載包占用空間小。Community Edition 通??梢栽谖宸昼妰?nèi)安裝完畢;ISV 供應商可以輕松地嵌入 Community Edition。
- IBM WebSphere 產(chǎn)品外觀。
- 有助于從 Gluecode Standard Edition、Apache Geronimo 和 Apache Tomcat
遷移到 Community Edition,以及從 Community Edition 遷移到其他 WebSphere Application
Server 產(chǎn)品。
- IBM LDAP 集成。
- 詳細而完整的文檔資產(chǎn)。
- 沒有產(chǎn)品許可限制;用戶可以在開發(fā)、測試和部署中免費使用 Community Edition。
- 一個版本可以得到一年半的 IBM 世界級產(chǎn)品支持。(IBM Apache Geronimo 支持需要頻繁更新,因為它與 Apache Geronimo 社區(qū)結(jié)合得很緊密。)
回頁首
下載和安裝 Community Edition
Community Edition 系統(tǒng)的先決條件:
- 支持的操作系統(tǒng):
- Intel? 體系結(jié)構 - 32 位 (IA-32) 處理器上的 Windows? 平臺
- Microsoft Windows Server 2003,帶有 Service Pack 1 (SP1)
- Microsoft Windows XP Professional Edition,帶有 Service Pack 2 (SP2)(只用于開發(fā),不用于生產(chǎn))
- Intel 體系結(jié)構 - 32 位 (IA-32) 處理器上的 Linux? 平臺
- Red Hat Enterprise Linux Version 3 Update 5(Work Station (WS)、Entry Server (ES) 或 Advanced Server (AS))
- Red Hat Enterprise Linux Version 4 Update 1(Work Station (WS)、Entry Server (ES) 或 Advanced Server (AS))
- Novell? SuSE Linux Enterprise Server 9 Service Pack 2 (SP2)
- RedFlag Data Center 5.0
Community Edition 可以運行在其他平臺上,但如果需要獲得支持,則必須使用這些環(huán)境之一:
- 支持的 Java 環(huán)境:
- IBM Java 2 Standard Edition (J2SE) Software Development Kit
(SDK) Version 1.4.2 build cn142ifx-20051109
(142SR3+97115+97198+97199+97509) 或更高版本,以及 IBM Java ORB build
orb142ifx-20051109 (142SR3+97115+97198+97199+97509) 版本 1420:1 或更高版本
- IBM Java 2 Standard Edition (J2SE) Java Runtime Environment
(JRE) Version 1.4.2 build cn142ifx-20051109
(142SR3+97115+97198+97199+97509) 或更高版本,以及 IBM Java ORB build
orb142ifx-20051109 (142SR3+97115+97198+97199+97509) 版本 1420:1 或更高版本
- Sun? Microsystems Java 2 Standard Edition (J2SE) Software Development Kit (SDK) Version 1.4.2 build 1.4.2_09 或更高版本
- Sun Microsystems Java 2 Standard Edition (J2SE) Java Runtime Environment (JRE) Version 1.4.2 build 1.4.2_09 或更高版本
如果您還沒有一個支持的 Java 環(huán)境,則可以下載包含支持的 JRE 的安裝包。
下載和安裝
下載和安裝 Community Edition 相當簡單。您可以從 developerWorks
免費下載 Community Edition 軟件。Community Edition
有四種可用的版本;下載哪種版本取決于您的平臺以及您是否已經(jīng)安裝支持的 Java Runtime Environment
(JRE)。如果您還沒有支持的 JRE,請確保選擇標簽為“plus JRE”的一種包。
如果您已經(jīng)有了支持的 Java 環(huán)境,則只需要通過運行 setup-wasce 文件安裝 Community
Edition。否則,需要展開(untar 或 unzip,取決于您的平臺)wasce10_ibm142jre 文件并運行
setup-ibm-jre-142 來創(chuàng)建支持的 JRE,然后才能運行 setup-wasce 文件。
回頁首
啟動和停止服務器
啟動服務器的操作
在 Windows 2003 或 XP 服務器上,通過選擇 Start => Programs => IBM WebSphere => Application Server Community Edition => Start the server 來啟動服務器。這將啟動位于 C:\Program Files\IBM\WebSphere\AppServerCommunityEdition\bin\startServer.exe(假設您使用缺省安裝位置)的 Startup Launcher。
在 Linux 上,通過運行 /opt/IBM/WebSphere/AppServerCommunityEdition/bin 上的 startServer.sh 來啟動服務器(假設您使用缺省安裝位置)。
圖 1 顯示了當服務器成功啟動時會顯示的 Geronimo Application Server started 消息。
圖 1. Community Edition 服務器已啟動
停止服務器的操作
要停止服務器,請在服務器啟動窗口中按下 Ctrl-C。會顯示消息 Server shutdown begun,然后服務器立即關閉。
回頁首
部署您的第一個應用程序
當您下載 Community Edition
時其中有一個文件是包含 J2EE 示例應用程序的 ZIP 文件。使用這些示例是開始使用 Community Edition
的一個很好方式。通過部署其中最簡單的應用程序——Hello 示例,您可以快速掌握將自己的應用程序部署到 Community Edition
的基本知識。要使用這些示例和部署 Hello 應用程序,您應該執(zhí)行以下操作:
-
從產(chǎn)品下載頁面下載 wasce10_samples.zip 文件,并將其解壓縮到一個已知位置。
-
在 samples 目錄下,hello 目錄包含應用程序的源代碼和二進制兩種形式。如果您導航至 src/webapp,您將看到這是一個非常簡單的 Web 應用程序。主文件是一個 Java ServerPages 文件 index.jsp(清單 1)。
清單 1. index.jsp
<%@ 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 應用程序也有一個遵循標準 J2EE 的部署描述符(清單 2)。Hello 應用程序是一個標準的 Web 應用程序,所以應該不需要做任何更改就可以在 Community Edition 或其他任何 J2EE 應用服務器上運行。
清單 2. web.xml
<?xml version="1.0" encoding="UTF-8" ?>
<web-app version="2.4" xmlns="http://java./xml/ns/j2ee"
xmlns:xsi="http://www./2001/XMLSchema-instance"
xsi:schemaLocation="http://java./xml/ns/j2ee
http://java./xml/ns/j2ee/web-app_2_4.xsd" />
|
-
在部署應用程序之前啟動服務器。
-
打開另一個命令提示符并導航至 wasce_install 目錄。
-
執(zhí)行命令:
java -jar bin\deployer.jar --user system --password manager
deploy samples_home\hello\bin\hello.war
|
當部署命令完成時,將會顯示此消息以指示部署成功:
Deployed hello @ http://localhost:8080/hello
|
-
在新的瀏覽器窗口中打開 http://localhost:8080/hello。您應該能看到一條祝賀您應用程序部署成功的消息(圖 2)。
圖 2. Hello 應用程序
您已經(jīng)成功部署并運行了該應用程序。這再簡單不過了。然而,如果您查看啟動服務器的窗口,您將看到這段消息:
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.
|
因為這是一個簡單的應用程序,它不需要額外的信息就可以部署成功,所以這不是問題。如果您部署一個更復雜的應用程序(例如,依賴于外部庫的應
用程序,或者需要將任何資源引用映射成實際資源的應用程序),則需要在部署時提供額外信息。對于 Community
Edition,這一信息是以部署計劃的形式提供的。
作為簡單的示例,讓我們將 Hello 應用程序的上下文根 (context root) 更改為 simpledemo 而非 hello。
-
在可以用新的上下文根部署 Hello 應用程序之前,您必須將它解除部署。在 wasce_install 目錄中執(zhí)行以下命令:
java -jar bin\deployer.jar --user system --password manager undeploy hello
|
您應該能看到一段消息,表明您已成功解除部署應用程序。(您可能會忘記包含應用程序的模塊的名稱,對于這種情況,您可以執(zhí)行 list-modules 命令來查看當前部署在服務器上的所有模塊。)
-
將清單 3 中的代碼復制到名為 hello-plan.xml 的文件中來部署計劃。
清單 3. hello-plan.xml
<?xml version="1.0"?>
<web-app
xmlns="http://geronimo./xml/ns/web"
xmlns:naming="http://geronimo./xml/ns/naming"
configId="HelloApp">
<context-root>/simpledemo</context-root>
</web-app>
|
-
通過執(zhí)行此命令再次部署應用程序——這次也提供部署計劃的位置:
java -jar bin\deployer.jar --user system --password manager
deploy samples_home\hello\bin\hello.war
path_to_hello_plan\hello-plan.xml
|
當部署完成時,您應該能看到一段消息表明部署成功:
Deployed HelloApp @ http://localhost:8080/simpledemo
|
不僅上下文根改變了,連模塊名稱現(xiàn)在都與部署計劃中指定的配置 ID 相同。
回頁首
故障排除
當您遇到問題時,首先要查看的地方是日志。
安裝日志
- Windows:wasce_install.log 可以在用戶的主目錄中找到(例如 C:\Documents and Settings\userID,其中 userID 替換為用于登錄的用戶名稱)。
- Linux:wasce_install.log 可以在公共 log 目錄 /var/log 中找到。
服務器日志
Community Edition 服務器日志可以在 installDir/var/log 目錄中找到,其中 installDir 是服務器的安裝目錄。
-
server.log 是包含服務器啟動、部署、配置、應用程序運行和服務器關閉數(shù)據(jù)的日志。
-
deployer.log 是當服務器沒有運行時,執(zhí)行脫機部署時的活動日志。如果服務器正在運行,部署信息就會轉(zhuǎn)到服務器日志上。
-
client.log 是 J2EE 客戶端容器日志。
缺省數(shù)據(jù)庫日志
IBM Cloudscape Version 10.1 是缺省的系統(tǒng)數(shù)據(jù)庫,它的日志 derby.log 可以在 installDir/var/log 目錄中找到,其中 installDir 是服務器的安裝目錄。
技術支持(可選)
IBM 技術支持小組為 Community Edition 提供了三種級別的付費支持,可以按年度訂閱。有關詳細信息,請訪問技術支持服務頁面。
回頁首
接下來的步驟
試驗示例應用程序
示例下載 ZIP 文件中提供了其他示例應用程序。已證明使用這些示例是繼續(xù)學習應用服務器的一種好方式。其他示例應用程序包括:
-
CViewer - 一個Web 應用程序包含了一個 JSP 和它調(diào)用的一個servlet。它為用戶提供一個表單,讓其輸入完全有效的類名稱。表單提交后,該 Servlet 會“映射”到該類名稱并將結(jié)果返回給用戶。
-
DBDemo1 - 一個訪問 Derby 數(shù)據(jù)庫中的 WASCE_USERS 數(shù)據(jù)庫表的 Web 應用程序。
-
EMPdemo - 一個表明如何訪問 Derby 數(shù)據(jù)庫以及如何配置訪問外部 Oracle 數(shù)據(jù)庫的示例應用程序。它通過一個 WAR 文件部署。
-
Daytrader - 一個枚舉股票交易情況的示例應用程序。用戶可以查看投資組合、獲得報價以及買賣股票。這是一個高級的應用程序,它使用許多 J2EE 功能,包括 JSP、Servlet、Enterprise JavaBeans、JDBC 和 JMS。
閱讀文檔
請查看 Community Edition 的產(chǎn)品文檔,它涵蓋對 Community Edition 需要了解的其他一切,包括快速入門、選擇策略、概念、任務、引用和常見問題。