劉竹濤
(民航黑龍江空中交通管理分局 黑龍江 哈爾濱 150079)
民航氣象數(shù)據(jù)庫系統(tǒng)是全國民航氣象資料交換的核心,是基于Web進(jìn)行信息交流和共享的平臺(tái)[1]。氣象數(shù)據(jù)庫服務(wù)器所采用的操作系統(tǒng)為AIX 5L Based Systems(64-Bit)操作系統(tǒng)[2],所采用的O racle Application Server 10g是一種能夠支持所有主流Web開發(fā)語言、API和框架的應(yīng)用服務(wù)器,能夠與O racle數(shù)據(jù)庫緊密結(jié)合,是一組在Web上動(dòng)態(tài)傳遞內(nèi)容的服務(wù)集合,也是中間件[3],民航氣象數(shù)據(jù)庫系統(tǒng)則是利用了其中的OC4J容器來進(jìn)行服務(wù)平臺(tái)的部署的。
O racle數(shù)據(jù)庫提供了信息資源,為了向Web服務(wù)展現(xiàn)這些資源,O racle提供了一個(gè)帶有J2EEWeb服務(wù)框架的標(biāo)準(zhǔn)-可擴(kuò)展的J2EE容器OC4J,可以生成相應(yīng)的Java包裝,并將這些包裝部署于O racle應(yīng)用服務(wù)器之中[4]。被配置在運(yùn)行于O racle應(yīng)用服務(wù)器環(huán)境中,意味著O racle應(yīng)用服務(wù)器類似一個(gè)入口,這個(gè)入口是附加的特征,通過附加的類庫提供支持,在不同的端口之間監(jiān)聽連接(O racle應(yīng)用服務(wù)器動(dòng)態(tài)平分),日志輸出到不同的文件和目錄。OC4J默認(rèn)Web監(jiān)聽器使用M od_oc4j(M od_oc4j是一個(gè)與Web服務(wù)器集成并將請(qǐng)求路由至后端OC4J進(jìn)程的模塊),能和AJP協(xié)議(AJP是為Tom cat與HTTP服務(wù)器之間通信而定制的協(xié)議,能提供較高的通信速度和效率)交流,勝于HTTP協(xié)議直接瀏覽客戶端。使用O racle企業(yè)級(jí)應(yīng)用程序管理器控制,或者用等價(jià)的命令行工具。
民航氣象數(shù)據(jù)庫服務(wù)器的操作系統(tǒng)為AIX操作系統(tǒng),需要進(jìn)行OC4JFOX AIX版的安裝,在安裝之前一定要保證此服務(wù)器上已經(jīng)安裝過O racle數(shù)據(jù)庫,這樣安裝OC4J時(shí)所必須用到的軟件包與補(bǔ)丁包就已經(jīng)安裝過了,不需要檢查了。
首先,需要編輯/etc/security/lim its文件來修改NOFILE(進(jìn)程中打開文件的最大數(shù)量),在lim its文件最后幾行中,對(duì)于O racle用戶添加nofiles=65536;其次,安裝OC4J要保證系統(tǒng)參數(shù)中“M aximum number of PROCESSESallowed per user”(每用戶可運(yùn)行的最大進(jìn)程數(shù))設(shè)置為2048或更高,在AIX系統(tǒng)中,運(yùn)行sm it chgsys工具,修改“M aximum number of PROCESSESallowed per user”值為 2048;最后,安裝 OC4J要求ARG_MAX(一個(gè)程序的命令行的最大長(zhǎng)度)的值至少為524288,在AIX系統(tǒng)中,執(zhí)行如下命令來進(jìn)行修改:#chdev-l sys0-ancargs=128。
將O racle Application Server10.1.3介質(zhì)中的內(nèi)容全部用O racle帳戶以FTP的方式上傳到服務(wù)器/u0/soft/oracleAS目錄下(如沒有用O racle帳戶上傳,必須用root帳戶修改權(quán)限,運(yùn)行如下命令:#chown –R oracle:dbaoracleAS),這樣可以提高安裝速度和穩(wěn)定性。
用xM anager軟件登錄到AIX系統(tǒng)下執(zhí)行如下命令:
#su-oracle//切換到oracle帳戶下
$vi.profile //配置環(huán)境變量
修改.profile文件中的DISPLAY的值為自己本地服務(wù)器的IP:
DISPLAY=X.X.X.X:0.0
exportD ISPLAY
ESC+:+wq //保存退出
$exit //退出使新配置的環(huán)境生效
#su-oracle//切換到O racle帳戶下
#xclock //如果能彈出電子表,就證明配置正確,否則說明配置DISPLAY錯(cuò)誤,檢查配置
$unset ORACLE_HOME //取消ORACLE_HOME的環(huán)境變量
$unsetORACLE_SID//取消ORACLE_SID的環(huán)境變量
$unset TNS_ADM IN//取消TNS_ADM IN的環(huán)境變量
#cd/u0/soft/oracleAS/Disk1//進(jìn)到安裝目錄
$chmod+x run Installer //給run Istaller這個(gè)文件添加可執(zhí)行權(quán)限
$chmod+x install/run Installer*//給installer目錄下面
$chmod+x install/unzip//以run Istaller與unzip開頭的文件加可執(zhí)行權(quán)限
$./run Installer//執(zhí)行安裝命令
此時(shí),打開另一個(gè)終端,進(jìn)入/u0/soft/oracleAS/Disk1/rootpre,執(zhí)行
#chmod+x rootpre.sh//增加可執(zhí)行權(quán)限
#./rootpre.sh//執(zhí)行命令
將安裝路徑設(shè)置為/u0/oracle/product/10.1.3.1/O racleAS_1進(jìn)行高級(jí)安裝,選擇安裝J2EEServer,將實(shí)例的名字設(shè)置為本地機(jī)場(chǎng)4字代碼(后面部署工程時(shí)作為應(yīng)用服務(wù)器名稱出現(xiàn)),默認(rèn)用戶名為oc4jadm in,默認(rèn)密碼為oracle123,選擇“Configure this as an Adm inistrator OC4J instance”來管理OC4J,安裝過程中按照要求用root用戶進(jìn)入/u0/oracle/product/10.1.3.1/O racleAS_1/目錄下運(yùn)行root.sh腳本,完成后會(huì)繼續(xù)安裝組件,成功安裝后退出。
首先需要打開/home/oracle/.profile文件,編輯修改環(huán)境變量OC4J_HOME(將OC4J的安裝目錄/u0/oracle/

完成后退出該文件,并重新進(jìn)入O racle帳戶使環(huán)境變量生效。最后可以使用$opmnctlstatus命令查看OC4J狀態(tài),如果“status”項(xiàng)為“Alive”,說明 OC4J運(yùn)行正常。
民航氣象數(shù)據(jù)庫服務(wù)平臺(tái)宿主于OC4J容器,此部分依賴于OC4J已經(jīng)成功安裝完成,并且已經(jīng)啟動(dòng)OC4J服務(wù),使用瀏覽器訪問http://xxx.xxx.xxx.xxx:8888/em(具體IP端口根據(jù)實(shí)際情況替換),出現(xiàn)登錄頁面,使用默認(rèn)用戶名oc4jadm in,默認(rèn)密碼oracle123,進(jìn)入平臺(tái)部署頁面。首先選擇需要部署的應(yīng)用服務(wù)器,該應(yīng)用服務(wù)器的名稱為本地機(jī)場(chǎng)4字代碼(前面安裝實(shí)例時(shí)已設(shè)置),然后點(diǎn)擊該應(yīng)用服務(wù)器下面的home鏈接,出現(xiàn)新的頁面,此頁面顯示的是部署到此OC4J實(shí)例的J2EE應(yīng)用程序和應(yīng)用程序組件(EJB模塊、WAR模塊和資源適配器模塊)。
選擇“應(yīng)用程序”菜單后點(diǎn)擊“部署”按鈕開始部署。①選擇歸檔:該部分有2個(gè)選項(xiàng),第1項(xiàng)是“歸檔”,如果被部署的檔案在本機(jī)上,就將要部署的檔案上載到運(yùn)行Application Server Control的服務(wù)器上,民航氣象數(shù)據(jù)庫將要部署的工程檔案名為weather.war,將該實(shí)例添加到“檔案位置”欄,如果被部署檔案已在Application Server Control服務(wù)器上,則在對(duì)話框中加入檔案所在的路徑;②部署計(jì)劃:可以選擇創(chuàng)建一個(gè)新的部署計(jì)劃,部署計(jì)劃的設(shè)置將基于歸檔中包含的OC4J默認(rèn)值和信息;第2步是應(yīng)用程序?qū)傩裕陷d完成后,按照對(duì)話框填入對(duì)應(yīng)信息,“應(yīng)用程序名稱”欄填入“weather”,“父級(jí)應(yīng)用程序”欄為“default”,“將 Web模塊綁定到站點(diǎn)”欄為“default-web-site”,“上下文根”欄為“weather”;
③部署設(shè)置:選擇“配置類加載”項(xiàng)進(jìn)行更改,首先選中“繼承父級(jí)應(yīng)用程序的共享導(dǎo)入”,在Web模塊中選中“首先搜索本地類”,然后返回點(diǎn)擊“部署”,完成應(yīng)用程序部署,就可以通過Web來訪問工程了。
OC4J的Web服務(wù)組件雖然與IIS的Web服務(wù)器比較類似,但相比較IIS的Web服務(wù)器而言具有明顯的優(yōu)勢(shì),IIS的Web服務(wù)器是用Asp、PHP等.NET編寫的應(yīng)用在IIS下部署,只能用于Windows操作系統(tǒng),而用JSP等Java編寫的應(yīng)用在OC4J和Tom cat等服務(wù)器下部署,適用于多種操作系統(tǒng)(跨平臺(tái)的)。目前,民航氣象數(shù)據(jù)庫服務(wù)器為AIX操作系統(tǒng),使用OC4J進(jìn)行工程部署,而民航氣象數(shù)據(jù)庫業(yè)務(wù)監(jiān)控系統(tǒng)為L(zhǎng)inux操作系統(tǒng),使用Tom cat進(jìn)行工程部署[5],今后,可以比較二者的特點(diǎn)進(jìn)行合理的部署,還可以嘗試多種OC4J的發(fā)布方式來優(yōu)化對(duì)工程的部署[6]。
[1]劉竹濤.民航氣象傳真廣播系統(tǒng)通信機(jī)制分析[J].計(jì)算機(jī)與網(wǎng)絡(luò),2009,35(7):47-49.
[2]馮裕忠,馮 將.UN IX/AIX操作系統(tǒng)基礎(chǔ)教程[M].清華大學(xué)出版社,2011.
[3](美)格美尼,(美)伯爾森.oracle application server10g 管理手冊(cè)[M].汪 豐,馮 飛,譯.清華大學(xué)出版社,2005.
[4]羅勇為.基于Web服務(wù)技術(shù)透明訪問網(wǎng)絡(luò)數(shù)據(jù)庫[J].陜西科技大學(xué)學(xué)報(bào),2006,24(3):118-12.
[5]太極計(jì)算機(jī)股份有限公司.民航氣象數(shù)據(jù)庫業(yè)務(wù)監(jiān)控系統(tǒng)培訓(xùn)教材[M].太極計(jì)算機(jī)股份有限公司,2013.
[6]陳 敏,田 斌.基于OC4J發(fā)布J2EE應(yīng)用的方法[J].武漢理工大學(xué)學(xué)報(bào),2004(2):60-63.