Oracle Application Server(OracleASやOASと略す)10gは、Apacheをベースにしたウェブサーバー。
オラクルがウェブサーバーなんか作ってたんだ!と思ったら、Apacheベースか…DBMSと違って独自路線じゃないんだ(苦笑)
複数サーバーを管理できるWebCacheと呼ばれる構成と、StandAloneの構成がある。
WebCacheでは管理ツールや運用ツールが充実しているが、重い。
スタンドアローンは管理ツール類のサポートが無いが、Apache部分を経由せず、軽い。
開発はスタンドアローンで行い、本番運用はWebCacheで行うことを想定している模様。Javaで組んだアプリ部分は、修正無しで使えるそうだ。
ちょっと昔のOASの本を見ると、JavaからHTML生成の為の独自クラス(構造は美しいかもしれないが、現実に使うとなると絶対嫌なクラス群)を使うように書かれていたが、普通にStrutsベースのクラス群が使えるらしい。
いわばOASをただ単にTomcatやWebLogicの代わりに使えるということかな?
WebCache版の運用ツールが目玉。
パフォーマンスに関して、どこに負荷がかかっているかが調べやすい感じ。SQLについてまで見られるのは期待が大きいが…。
WebCache版(フルセット)とStandAlone版(中核のサーブレットコンテナ部分のみ)があるが、WebCache版をインストールするとDBのOracle(9iらしい)もインストールされる。このためか、先にDBが入ってるパソコンにWebCache版をインストールすると、DBが変(ORA-12514が出る)になる。
→対処法
デプロイしたwarファイル単位で、ログが出力できる。[2005-07-09]
が、同じように環境を作ったつもりが、別のパソコンではログ出力されたりされなかったりする…。
ログ出力されない場合、手動で以下の設定ファイルに設定を追加してやると 出るようになる。
(この設定が自動で追加されたりされなかったりする理由は不明…)
%OAS_HOME%/j2ee/home/application-deployments/war_name/orion-application.xml:
<log> <file path="application.log" /> </log>
これにより、「%OAS_HOME%/j2ee/home/application-deployments/war_name/application.log」のログファイルが出力される。
(OAS_HOMEは、Standalone版OASをインストールしたディレクトリ)
トランザクション・タイムアウト(セッション・タイムアウト?)の設定方法。[2008-04-25]
sever.xmlやorion-ejb-jar.xml内に設定を書く。
「 開発はスタンドアローンで行い、本番運用はWebCacheで行う」ことを想定している模様で、「作成したアプリ部分は修正無しで使える 」そうだが、やはり注意しなければいけない点があった。[2005-06-26]
jsp内部で指定するURIに相対パスを使えない。
「/context_root/include/common.jsp」はOKだが、「../include/common.jsp」はダメ。
standalone版だと他のファイルと同様にOASの「j2ee/home」ディレクトリの下を参照するが、WebCashe版だとApacheのディレクトリの下に探しに行く。
ただしstandalone版でも「context_root」が存在しないと結局欲しいファイルが参照できないので、WebCache版でもstandalone版でも
どちらも相対パスは駄目ってことだが。
WebCache版では、「管理コンソール」というウェブアプリをブラウザーから使用できる。[2006-01-23]
これを使って稼働状況やデプロイを行うことができるわけだが、earファイルのデプロイには罠がある。
earファイルをデプロイする際には、デプロイ元のearファイルが置いてあるディレクトリをブラウザー(管理コンソール)から指定する。
ところが、このディレクトリは、管理コンソールを起動しているマシン上のディレクトリを指す。
したがって、OASをインストールしたマシンとは別のマシンから管理コンソールを起動すると、「OASをインストールしたマシン上のearファイル」を読み込むことが出来ない。OASを起動したときは、OASをインストールしたマシン上のearファイルを使うくせに…。
WebChache版で別マシンからearファイルをデプロイしたい場合は、管理コンソールを使わずにOASの定義ファイルを直接書き換えてデプロイする必要がある。
以下のファイルに指定を追加した後でOASを再起動すると、earファイルがデプロイされる。
$OAS_HOME/j2ee/home/config/server.xml:
<application name="foo" path="../applications/foo.ear" auto-start="true" />
※earファイル(上記の例では「foo.ear」)は、OASをインストールしたマシンの「$OAS_HOME/j2ee/home/applications」の直下に置く。
$OAS_HOME/j2ee/home/config/http-web-site.xml:
<web-app application="foo" name="foo" load-on-startup="true" root="/foo" />
$OAS_HOME/Apache/Apache/conf/mod_oc4j.conf:
Oc4jMount /foo home Oc4jMount /foo/* home