Weblogic 應用部署
Weblogic server中的J2EE應用
- WebLogic Server應用由一個或多個運行在WebLogic Server上的J2EE組件組成。它們可能包含如下組件 :
Web組件:HTML頁面,servlets,JavaServer Pages和相關文件
EJB組件:entity beans,session beans和message-driven beans
WebLogic組件:startup和shutdown類
Connector組件
WebService組件
Enterprise Application
- J2EE應用可以以企業應用包(jar,war,ear,rar)的形式或者是展開目錄格式的形式部署到WebLogic服務器上。
- 組件被打包到JAR文件中。JAR文件把一個目錄中的所有組件文件打包到單個文件中,同時保持目錄結構。JAR文件包含XML描述文件,指示WebLogic Server如何部署組件。
- Web應用被打包到以.war爲後綴名的JAR文件中。EJB、WebLogic組件和客戶端應用被打包到以.jar爲後綴名的JAR文件中。資源適配器被打包到一個以.rar作爲後綴名的JAR文件中。Web Services組件可以打包成.ear或.war爲後綴名的文件中
- 企業應用,包含集成的Web應用,EJB組件和資源適配器,被打包到一個以.ear爲後綴名的JAR文件中。一個.ear文件包含應用所需的所有.jar,.war和.rar組件打包文件和一個描述這些被打包組件的XML描述文件。
- 可以利用管理控制檯或者WebLogic Builder或命令行工具上載JAR文件到目標WebLogic Server中,來部署一個組件、應用或資源適配器。
Weblogic的部署描述文件
Weblogic支持的部署方法
組件的部署目標
- Weblogic Server(被管服務器)
- Cluster(集羣)
- Virtual Hosts:
虛擬主機就是通過DNS將一個WebLogic服務器或集羣的IP地址映射到一個或多個主機名並且指定用哪個虛擬主機來服務哪個Web應用。
例如,你可以指定一個名字爲books的Web應用響應對虛擬主機名www.books.com的請求,這些請求將由WebLogic服務器A、B、C來處理,而一個名字爲cars的Web應用將響應對虛擬主機名www.autos.com的請求,這些請求將由WebLogic服務器D、E來處理。你可以根據應用以及Web服務器的需要來組合使用虛擬主機、WebLogic服務器、集羣與Web應用。
部署概覽
一個應用被完整地部署在WLS上,必須包含以下的過程:
- installed—copied to the ‘applications’ directory or made available in the Administration server file system
- configured—registered in the config.xml repository
- targeted—applications must be associated with servers
- deployed – the deploy task is initiated and completed
兩階段部署
應用的部署過程分爲兩個階段
準備階段,這個階段的完成說明應用已經拷貝到有效的目錄,並且結果檢查能夠被部署
激活階段,這個階段完成表示應用已經完成部署,能夠使用
這個部署過程中應用有五種狀態
部署模式
- Staged(default)——應用在部署過程中將自動拷貝到每個部署了該應用的服務器上
- No-stage——應用存放在固定目錄下,該目錄能夠被所有部署了該應用的服務器所訪問
部署方法
WLS支持以下三種部署方法
自動部署
自動部署(Auto-deployment)能夠快速地在管理服務器上部署應用。推薦在單一server的開發環境中使用,不建議你在生產環境或受管服務器上使用使用自動部署。
如果目標WebLogic服務器域啓用了自動部署,當應用被複制到WebLogic管理服務器的/domain_name/applications目錄下時,管理服務器會自動檢測到新應用並自動部署該應用(如果管理服務器處於運行狀態)。如果在你把應用複製到 /applications目錄時,WebLogic服務器沒有被運行,那麼當WebLogic服務器稀下次啓動時將部署這個應用。
Weblogic Server domain有兩種運行模式:開發模式和生產模式,在生產模式中不能使用自動部署功能
控制檯部署
控制檯部署提供以下的管理功能:
- 在你指定的目錄安裝應用
- 自由定義應用的名字
- 部署應用到指定的服務器或者(和)羣集中
- 在部署之前能夠更改應用的配置
- 在必要的時候才激活應用的部署
操作步驟如下所示:
- 使用命令行方式啓動以下兩個服務後查看控制檯信息:
- 點擊“安裝”
- 選擇需要部署的war包,這裏選擇“benefits.war”
- 選擇“將此部署安裝爲應用程序”後選擇“下一步”
- 將benefits.war部署到dizzy1上
- 按照如下選擇
- 選擇“是”後點擊“完成”
- 點擊“保存”
- 部署成功後查看運行情況
- 輸入對應的URL地址查看信息
- 同樣的操作將benefits_as_default.war部署到dizzy1上後輸入對應的URL地址查看信息
- 查看這兩war包結構以及對應的文件中內容
benefits_as_default.war\WEB-INF\weblogic.xml文件內容如下所示
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<context-root>/</context-root>
</weblogic-web-app>
命令行部署
weblogic.Deployer工具爲開發者/管理員提供類似控制檯部署的功能
開發者/管理員可以將weblogic.Deployer寫入腳本,實現編程部署