IBM邀請我們公司試用websphere application server v8.5 liberty profile,因此經理讓我下載下來安裝,測試一下,正好我正對這個新東西也挺感興趣的,所以在此把過程記錄下來.
一、簡介
Liberty profile是WAS V8.5的一個新特性,它代表WAS服務器上的App正常運行必須的一組運行時環境集合,這個環境是可以動態配置的。簡單說Liberty profile就是WAS8.5的精簡版,具有占用空間少、啟動速度快、調試方便、完全支持JavaEE、App無縫移植到WAS8.5等特性,特別適合 開發測試階段使用。
二、安裝,部署
1.前提:
確保計算機上正確安裝了JDK1.6或以上版本,Eclipse3.7或以上版本(可選)。
2.安裝Liberty profile
將下載得到的Zip包was4d-20111202-0614.zip,解 壓到磁盤任意目錄下,無誤后安裝完畢。可以參照根目錄下的readme.txt文件,掌握Liberty profile的基本配置管理。在這里假設Liberty profile的安裝目錄為<install.dir>。
3.創建server實例
Liberty profile繼承了WAS的profile特性,即運行時環境可以以實例的形式單獨動態配置,實例之間互不影響。因此,進入cmd模式下 cd bin ,然后was4d.bat create myserver,這樣就創建了一個名稱為myserver的運行時環境實例,其磁盤路徑為<install.dir>\usr \servers\myserver,我們開發的App可以部署到myserver目錄下的dropins文件夾中運行,供外界訪問。
4.安裝Liberty profile Eclipse開發插件
在Eclipse Marketplace中鍵入websphere,在隨后的結果列表中找到websphere application server v8.5 liberty profile beta一項,點擊install安裝,完畢后重啟Eclipse。
5.在Eclipse中引用myserver實例
在Eclipse 中的Server視圖中右擊 New-Server,在彈出框中選擇IBM- websphere application server v8.5 liberty profile beta,然后根據提示選擇myserver實例即可,無誤完畢后會在Server視圖中出現websphere application server v8.5 liberty profile beta at localhost 一項,右擊websphere application server v8.5 liberty profile beta at localhost選擇start,此時Console視圖會出現myserver啟動日志,“The feature update is complete after …”表示啟動成功。
6.開發App
在Eclipse中新建一個簡單的Java Web App 命名為hello-app,在其index.jsp頁面中輸入hello world即可。
7.App部署和卸載
部署和卸載行為可以在兩個地方發生,一個是server.xml配置文件中,另一個是dropins目錄.
(1) 在 myserver目錄下找到server.xml文件并打開,加入”<application id="hello-app" location="hello-app.war" name="hello-app" type="war"/>”即可完成部署,刪除這句話即可完成卸載,即便myserver處于運行狀態也可以這樣操作,因為server.xml是 可以即時更新的,所做的修改能夠馬上生效。相對于tomcat這是Liberty profile的一個優勢,當tomcat的server.xml內容被修改修改時必須重啟才能生效。這種部署方式適用于開發階段。
(2) 直接將war包扔進myserver目錄下的dropins文件夾中即可完成部署,刪除此war包機完成卸載,這種部署適用于實施階段。
8.訪問App
在瀏覽器中鍵入http://localhost:9080/hello-app/index.jsp,頁面顯示hello world,說明App部署成功,運行正常。
三、Liberty,Tomcat6,was比較
Tomcat 和was的比較很簡單,一個開源一個商用,開源的Tomcat小巧,靈活適合做開發測試,商用的was它提供了一個平臺,你可以基于各種增值功能、使用 Process Server、MQ等等更先進而穩定的架構來構建應用.對于并發,高性能訪問的處理能力會更強.
由于Liberty profile 是 was 的簡易版本,所以Liberty profile只適合開發相對比較簡單的App,而這個App可以無縫移植到WAS上.
Tomcat6 與 Liberty profile的比較,紅色為各自的優勢
Tomcat6 Liberty profile
占用空間 27MB 56MB
啟動時間 996ms 1600ms
配置復雜度 較復雜,配置文件較多 很簡單,可以無配置文件
Server.xml
即時更新 不支持,需重啟生效支持,即時生效
運行環境
多實例 不支持,靈活性較差支持,靈活性較高
Java EE
規范支持 不支持serverlet3.0支持serverlet3.0
支持jpa2.0 支持jpa2.0
不支持EJB 不支持EJB
四、總結
之前開發WAS應用時,如果這個App不依賴于容器,我們通常的做法是在Tomcat中開發測試,在WAS中部署運行,而部署時App的配置文件必定要做相應的修改,比如JNDI。
現在不用了,我們有了Liberty profile----WAS的一組運行時環境,它與Tomcat一樣免費,輕巧,快速,靈活,而且開發的應用不做任何修改就能移植到WAS上。
相對于與Tomcat6,Liberty profile支持最新的JavaEE規范,增加了很多功能更加強大,使用非常方便的特性,所以Liberty profile比Tomcat更優秀,即便App不是基于WAS也可以使用Liberty profile進行開發測試。