劉竹濤
(民航黑龍江空中交通管理分局 黑龍江 哈爾濱 150079)
民航氣象數(shù)據(jù)庫系統(tǒng)是全國民航氣象資料交換的核心,是基于Web進行信息交流和共享的平臺[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上動態(tài)傳遞內(nèi)容的服務(wù)集合,也是中間件[3],民航氣象數(shù)據(jù)庫系統(tǒng)則是利用了其中的OC4J容器來進行服務(wù)平臺的部署的。
O racle數(shù)據(jù)庫提供了信息資源,為了向Web服務(wù)展現(xiàn)這些資源,O racle提供了一個帶有J2EEWeb服務(wù)框架的標(biāo)準(zhǔn)-可擴展的J2EE容器OC4J,可以生成相應(yīng)的Java包裝,并將這些包裝部署于O racle應(yīng)用服務(wù)器之中[4]。被配置在運行于O racle應(yīng)用服務(wù)器環(huán)境中,意味著O racle應(yīng)用服務(wù)器類似一個入口,這個入口是附加的特征,通過附加的類庫提供支持,在不同的端口之間監(jiān)聽連接(O racle應(yīng)用服務(wù)器動態(tài)平分),日志輸出到不同的文件和目錄。OC4J默認(rèn)Web監(jiān)聽器使用M od_oc4j(M od_oc4j是一個與Web服務(wù)器集成并將請求路由至后端OC4J進程的模塊),能和AJP協(xié)議(AJP是為Tom cat與HTTP服務(wù)器之間通信而定制的協(xié)議,能提供較高的通信速度和效率)交流,勝于HTTP協(xié)議直接瀏覽客戶端。使用O racle企業(yè)級應(yīng)用程序管理器控制,或者用等價的命令行工具。
民航氣象數(shù)據(jù)庫服務(wù)器的操作系統(tǒng)為AIX操作系統(tǒng),需要進行OC4JFOX AIX版的安裝,在安裝之前一定要保證此服務(wù)器上已經(jīng)安裝過O racle數(shù)據(jù)庫,這樣安裝OC4J時所必須用到的軟件包與補丁包就已經(jīng)安裝過了,不需要檢查了。
首先,需要編輯/etc/security/lim its文件來修改NOFILE(進程中打開文件的最大數(shù)量),在lim its文件最后幾行中,對于O racle用戶添加nofiles=65536;其次,安裝OC4J要保證系統(tǒng)參數(shù)中“M aximum number of PROCESSESallowed per user”(每用戶可運行的最大進程數(shù))設(shè)置為2048或更高,在AIX系統(tǒng)中,運行sm it chgsys工具,修改“M aximum number of PROCESSESallowed per user”值為 2048;最后,安裝 OC4J要求ARG_MAX(一個程序的命令行的最大長度)的值至少為524288,在AIX系統(tǒng)中,執(zhí)行如下命令來進行修改:#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)限,運行如下命令:#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錯誤,檢查配置
$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//進到安裝目錄
$chmod+x run Installer //給run Istaller這個文件添加可執(zhí)行權(quán)限
$chmod+x install/run Installer*//給installer目錄下面
$chmod+x install/unzip//以run Istaller與unzip開頭的文件加可執(zhí)行權(quán)限
$./run Installer//執(zhí)行安裝命令
此時,打開另一個終端,進入/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進行高級安裝,選擇安裝J2EEServer,將實例的名字設(shè)置為本地機場4字代碼(后面部署工程時作為應(yīng)用服務(wù)器名稱出現(xiàn)),默認(rèn)用戶名為oc4jadm in,默認(rèn)密碼為oracle123,選擇“Configure this as an Adm inistrator OC4J instance”來管理OC4J,安裝過程中按照要求用root用戶進入/u0/oracle/product/10.1.3.1/O racleAS_1/目錄下運行root.sh腳本,完成后會繼續(xù)安裝組件,成功安裝后退出。
首先需要打開/home/oracle/.profile文件,編輯修改環(huán)境變量OC4J_HOME(將OC4J的安裝目錄/u0/oracle/
完成后退出該文件,并重新進入O racle帳戶使環(huán)境變量生效。最后可以使用$opmnctlstatus命令查看OC4J狀態(tài),如果“status”項為“Alive”,說明 OC4J運行正常。
民航氣象數(shù)據(jù)庫服務(wù)平臺宿主于OC4J容器,此部分依賴于OC4J已經(jīng)成功安裝完成,并且已經(jīng)啟動OC4J服務(wù),使用瀏覽器訪問http://xxx.xxx.xxx.xxx:8888/em(具體IP端口根據(jù)實際情況替換),出現(xiàn)登錄頁面,使用默認(rèn)用戶名oc4jadm in,默認(rèn)密碼oracle123,進入平臺部署頁面。首先選擇需要部署的應(yīng)用服務(wù)器,該應(yīng)用服務(wù)器的名稱為本地機場4字代碼(前面安裝實例時已設(shè)置),然后點擊該應(yīng)用服務(wù)器下面的home鏈接,出現(xiàn)新的頁面,此頁面顯示的是部署到此OC4J實例的J2EE應(yīng)用程序和應(yīng)用程序組件(EJB模塊、WAR模塊和資源適配器模塊)。
選擇“應(yīng)用程序”菜單后點擊“部署”按鈕開始部署。①選擇歸檔:該部分有2個選項,第1項是“歸檔”,如果被部署的檔案在本機上,就將要部署的檔案上載到運行Application Server Control的服務(wù)器上,民航氣象數(shù)據(jù)庫將要部署的工程檔案名為weather.war,將該實例添加到“檔案位置”欄,如果被部署檔案已在Application Server Control服務(wù)器上,則在對話框中加入檔案所在的路徑;②部署計劃:可以選擇創(chuàng)建一個新的部署計劃,部署計劃的設(shè)置將基于歸檔中包含的OC4J默認(rèn)值和信息;第2步是應(yīng)用程序?qū)傩?,上載完成后,按照對話框填入對應(yīng)信息,“應(yīng)用程序名稱”欄填入“weather”,“父級應(yīng)用程序”欄為“default”,“將 Web模塊綁定到站點”欄為“default-web-site”,“上下文根”欄為“weather”;
③部署設(shè)置:選擇“配置類加載”項進行更改,首先選中“繼承父級應(yīng)用程序的共享導(dǎo)入”,在Web模塊中選中“首先搜索本地類”,然后返回點擊“部署”,完成應(yīng)用程序部署,就可以通過Web來訪問工程了。
OC4J的Web服務(wù)組件雖然與IIS的Web服務(wù)器比較類似,但相比較IIS的Web服務(wù)器而言具有明顯的優(yōu)勢,IIS的Web服務(wù)器是用Asp、PHP等.NET編寫的應(yīng)用在IIS下部署,只能用于Windows操作系統(tǒng),而用JSP等Java編寫的應(yīng)用在OC4J和Tom cat等服務(wù)器下部署,適用于多種操作系統(tǒng)(跨平臺的)。目前,民航氣象數(shù)據(jù)庫服務(wù)器為AIX操作系統(tǒng),使用OC4J進行工程部署,而民航氣象數(shù)據(jù)庫業(yè)務(wù)監(jiān)控系統(tǒng)為Linux操作系統(tǒng),使用Tom cat進行工程部署[5],今后,可以比較二者的特點進行合理的部署,還可以嘗試多種OC4J的發(fā)布方式來優(yōu)化對工程的部署[6]。
[1]劉竹濤.民航氣象傳真廣播系統(tǒng)通信機制分析[J].計算機與網(wǎng)絡(luò),2009,35(7):47-49.
[2]馮裕忠,馮 將.UN IX/AIX操作系統(tǒng)基礎(chǔ)教程[M].清華大學(xué)出版社,2011.
[3](美)格美尼,(美)伯爾森.oracle application server10g 管理手冊[M].汪 豐,馮 飛,譯.清華大學(xué)出版社,2005.
[4]羅勇為.基于Web服務(wù)技術(shù)透明訪問網(wǎng)絡(luò)數(shù)據(jù)庫[J].陜西科技大學(xué)學(xué)報,2006,24(3):118-12.
[5]太極計算機股份有限公司.民航氣象數(shù)據(jù)庫業(yè)務(wù)監(jiān)控系統(tǒng)培訓(xùn)教材[M].太極計算機股份有限公司,2013.
[6]陳 敏,田 斌.基于OC4J發(fā)布J2EE應(yīng)用的方法[J].武漢理工大學(xué)學(xué)報,2004(2):60-63.