Oracle RTDは、Oracle Application ServerのOracle Containers for J2EE(OC4J)コンポーネントで実行されます。スタンドアロン・バージョンのOC4JとOracle Application Serverに同梱されたバージョンのOC4Jのどちらでも使用できます。
Oracle RTDは、UNIXとWindowsどちらのプラットフォームのOC4Jでもサポートされます。次の手順では、OC4JにReal-Time Decision Serverをインストールする方法について説明します。
|
注意: Real-Time Decision ServerはUNIXでもWindowsでも実行されますが、Oracle RTDクライアント・ツールは、Windowsプラットフォームでしか実行できません。 |
この章の内容は次のとおりです。
この後の項の手順を実行して、Oracle RTDに対してOC4Jを構成します。作業を開始する前に、OC4Jが稼動していないことを確認してください。
この項の内容は次のとおりです。
次の手順を実行して、スタンドアロンOC4Jのサーバー・プロパティを構成します。
使用しているオペレーティング・システムに対応する手順を実行します。
Windowsの場合: ファイルOC4J_HOME\bin\oc4j.cmdを探し、それを開いて編集します。:oc4j行の後に、次の行を新しく挿入します。jmx_remote_portには、JConsoleのポート番号として使用する値を入力します(例、12345)。
set JVMARGS=%JVMARGS% -Dcom.sun.management.jmxremote=true
set JVMARGS=%JVMARGS% -Dcom.sun.management.jmxremote.port=jmx_remote_port
set JVMARGS=%JVMARGS% -Dcom.sun.management.jmxremote.authenticate=false
set JVMARGS=%JVMARGS% -Dcom.sun.management.jmxremote.ssl=false
set JVMARGS=%JVMARGS% -Xmx512M -XX:MaxPermsize=128M -server
|
ヒント:
|
保存してファイルを閉じます。
UNIXの場合: ファイルOC4J_HOME/bin/oc4jを探し、それを開いて編集します。echo "Starting OC4J from $J2EE_HOME ..."行の後に、次の行を新しく挿入します。jmx_remote_portには、JConsoleのポート番号として使用する値を入力します(例、12345)。
JVMARGS=$JVMARGS -Dcom.sun.management.jmxremote=true
JVMARGS=$JVMARGS -Dcom.sun.management.jmxremote.port=jmx_remote_port
JVMARGS=$JVMARGS -Dcom.sun.management.jmxremote.authenticate=false
JVMARGS=$JVMARGS -Dcom.sun.management.jmxremote.ssl=false
JVMARGS=$JVMARGS -Xmx512M -XX:MaxPermsize=128M -server
UNIXシステムにOC4Jをインストールした場合は、次の行も追加します。
JVMARGS=$JVMARGS -Djava.net.preferIPv4Stack=true
|
ヒント:
|
保存してファイルを閉じます。
|
注意: この手順を実行するには、OC4J_HOME/bin/oc4jファイルに対する実行権限の付与が必要になる場合があります。 |
ファイルOC4J_HOME/j2ee/home/config/default-web-site.xmlを探し、その名前をrtd-web-site.xmlに変更して同じ場所にコピーします。名前変更したファイルの内容を次のように変更します。
<web-site>タグで、port属性を8080に設定します。
<web-site>タグで、display-name属性をOC4J RTD Web Siteに設定します。
<web-app>タグをすべて削除します。
<access-log>タグで、path属性を../log/rtd-web-access.logに設定します。
次に例を示します。
<?xml version="1.0"?> <web-site xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd" port="8080" protocol="http" display-name="OC4J RTD Web Site" schema-major-version="10" schema-minor-version="0" > <default-web-app application="default" name="defaultWebApp" root="/j2ee" /> <access-log path="../log/rtd-web-access.log" split="day" /> </web-site>
保存してファイルを閉じます。
ファイルOC4J_HOME/j2ee/home/config/server.xmlを探し、それを開いて編集します。<web-site default="true" path="./default-web-site.xml" />の後に、次の行を追加します。
<web-site path="./rtd-web-site.xml" />
保存してファイルを閉じます。
Oracle RTD DatabaseにSQL ServerとDB2のいずれかを使用する場合は、次のようにして、データベースのJDBC jarファイルをOC4Jのapplibディレクトリにコピーします。
SQL Serverの場合: ディレクトリRTD_HOME/lib/jdbcにあるファイルsqljdbc.jarを、ディレクトリOC4J_HOME/j2ee/home/applibにコピーします。
DB2の場合: RTD_HOME/lib/jdbcにあるファイルdb2jcc.jarおよびdb2jcc_license_cu.jarを、ディレクトリOC4J_HOME/j2ee/home/applibにコピーします。
次の手順を実行して、Oracle Application Serverのサーバー・プロパティを構成します。
ファイルORACLE_AS_HOME/opmn/conf/opmn.xmlを探し、それを開いて編集します。default_group、oc4j_instance(たとえばhome)、start-parametersの各タグの下にある、java-optionsタグのvalue属性の最後に次の行を追加します。
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=jmx_remote_port -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
これらのテキストは必ず1行で入力してください。このドキュメントからテキストをコピーする場合は、改行があったらすべて削除します。jmx_remote_portには、JConsoleのポート番号として使用する値を入力します(例、12345)。
次に例を示します。
<ias-component id="default_group">
<process-type id="home" module-id="OC4J" status="enabled">
<module-data>
<category id="start-parameters">
<data id="java-options" value="... -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false "/>
|
注意: 前述の例では、-Dcom.sun.management.jmxremote=trueの前に表示される...は、この例では紹介しないその他のJavaオプションのパラメータを表します。 |
UNIXシステムにOracle Application Serverをインストールした場合は、次のJavaオプションも追加します。このJavaオプションと前述のオプションの間には、必ず空白を挿入してください。
-Djava.net.preferIPv4Stack=true
保存してファイルを閉じます。
ファイルORACLE_AS_HOME/j2ee/oc4j_instance/config/default-web-site.xmlを探し、その名前をrtd-web-site.xmlに変更して同じ場所にコピーします。
|
注意: oc4j_instanceという値は、Oracle RTDをデプロイする予定の特定のOC4Jインスタンスを表します。たとえば、Oracle RTDをデフォルトのOC4Jインスタンスにデプロイする予定の場合、このパスはORACLE_AS_HOME/j2ee/home/config/default-web-site.xmlになります。 |
名前変更したファイルの内容を次のように変更します。
<web-site>タグで、port属性を8080に設定します。
<web-site>タグで、display-name属性をOC4J RTD Web Siteに設定します。
<web-app>タグをすべて削除します。
<access-log>タグで、path属性を../log/rtd-web-access.logに設定します。
次に例を示します。
<?xml version="1.0"?> <web-site xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd" port="8080" display-name="OC4J RTD Web Site" schema-major-version="10" schema-minor-version="0" > <default-web-app application="default" name="defaultWebApp" root="/j2ee" /> <access-log path="../log/rtd-web-access.log" split="day" /> </web-site>
保存してファイルを閉じます。
ファイルORACLE_AS_HOME/j2ee/oc4j_instance/config/server.xmlを探し、それを開いて編集します。<web-site default="true" path="./default-web-site.xml" />の後に、次の行を追加します。
<web-site path="./rtd-web-site.xml" />
保存してファイルを閉じます。
Oracle RTD DatabaseにSQL ServerとDB2のいずれかを使用する場合は、次のようにして、データベースのJDBC jarファイルをOC4Jのapplibディレクトリにコピーします。
SQL Serverの場合: ディレクトリRTD_HOME/lib/jdbcにあるファイルsqljdbc.jarを、ディレクトリORACLE_AS_HOME/j2ee/oc4j_instance/applibにコピーします。
DB2の場合: RTD_HOME/lib/jdbcにあるファイルdb2jcc.jarおよびdb2jcc_license_cu.jarを、ディレクトリORACLE_AS_HOME/j2ee/oc4j_instance/applibにコピーします。
Application Server ControlというOC4Jの管理コンソールを使用して、Oracle RTD DatabaseへのJDBCアクセスを提供します。Application Server Controlの使用方法の詳細は、OC4Jのドキュメントを参照してください。
この項では、必要なOC4J管理要素を作成する方法、およびこの作成手順をOC4JへのOracle RTDのデプロイメントと組み合せる方法について説明します。
最初に実行する手順は、第3.2.1項「共有ライブラリoracle.rtd.jdbcの作成」で説明しているように、共有ライブラリの作成です。
その後に実行する手順は、Oracle RTD Databaseのデータベース・タイプによって異なります。
データベースがSQL ServerまたはDB2内にある場合は、次の手順をこの順序で実行します。
データベースがOracle内にある場合は、第3.2.3項「Oracle内のOracle RTD DatabaseのJDBCプロバイダの作成」の手順を実行します。
この項の内容は次のとおりです。
先に進む前に、OC4Jが稼動していないことを確認してください。
共有ライブラリoracle.rtd.jdbcを作成するには、次の手順を実行します。
OC4Jサーバーを起動します。
スタンドアロン・バージョンのOC4Jを使用している場合は、コマンド・プロンプトを開き、OC4J_HOME/binに移動して、コマンドoc4j -startを実行します。
OC4JをOracle Application Serverの一部として使用する場合は、ORACLE_AS_HOME/opmn/binに移動し、opmnctlを使用してOC4Jを管理します。
詳細は、『Oracle Containers for J2EE構成および管理ガイド』を参照してください。
oc4jadminユーザーとしてApplication Server Controlにログインします。Application Server Controlには、http://oc4j_host:port/emからアクセスできます。OC4Jのスタンドアロン・バージョンでは、通常、ポート番号は8888です。OC4JがOracle Application Serverの一部の場合は、通常、ポート番号は80です。
スタンドアロン・バージョンのOC4Jを使用している場合は、「管理」タブに移動して、「プロパティ」の下の「共有ライブラリ」タスクの「タスクに移動」アイコンをクリックします。
OC4JをOracle Application Serverの一部として使用している場合は、最初に「グループ」の下の「ホーム」をクリックしてから、「管理」タブに進みます。
「共有ライブラリ」ページで「作成」をクリックして、次のデータを入力します。
共有ライブラリ名: oracle.rtd.jdbc
共有ライブラリのバージョン: 10.2.0.4
「次へ」をクリックします。
「共有ライブラリの作成: アーカイブの追加」ページで「追加」をクリックし、「参照」をクリックしてファイルRTD_HOME\lib\jdbc\ojdbc14.jarを選択します。
「続行」をクリックして、「終了」をクリックします。
SQL Server内およびDB2内のOracle RTD DatabaseのJDBCプロバイダを作成するには、次の手順を実行します。
まだ作成していない場合は、第3.2.1項「共有ライブラリoracle.rtd.jdbcの作成」の手順1と2で説明しているように、OC4JのApplication Server Controlにログインします。
「管理」タブに進み、「サービス」の下の「JDBCリソース」タスクをクリックします。「接続プール」の下の「作成」をクリックして、Oracle RTD Database用の新しい接続プールを作成します。
OC4JをOracle Application Serverの一部として使用している場合は、最初に「グループ」の下の「ホーム」をクリックしてから、「管理」タブに進みます。
「接続プールの作成 - アプリケーション」ページで、「アプリケーション」に「デフォルト」が選択され、「接続プール・タイプ」に「新規接続プール」が選択されていることを確認します。「続行」をクリックします。
「接続プールの作成」ページで、「名前」に「RTDConnectionPool」と入力します。
「コネクション・ファクトリ・クラス」に、次のいずれかを入力します。
SQL Server: com.microsoft.sqlserver.jdbc.SQLServerDriver
DB2: com.ibm.db2.jcc.DB2Driver
「JDBC URL」に、次のいずれかを入力します。
SQL Server: jdbc:sqlserver://db_host:db_port;databaseName=db_name
|
注意: Oracle RTD DatabaseをSQL Serverの名前付きインスタンスにインストールした場合は、host_name\instance_nameという形式でdb_hostパラメータを指定してください。 |
DB2: jdbc:db2://db_host:db_port/db_name
db_hostはOracle RTD Databaseを実行するサーバーの名前、db_portはデータベース・サーバーへの接続に使用するポート番号、db_nameはOracle RTD Databaseインスタンスの名前です。
「資格証明」の下の「ユーザー名」に、Oracle RTD Databaseインスタンスに対してシステム管理権限を持つデータベース・ユーザーの名前を入力します。次に、対応するパスワードを指定します。クリアテキスト形式のパスワードを指定するか、または間接的パスワードを指定するかの詳細は、『Oracle Application Server Containers for J2EEセキュリティ・ガイド』を参照してください。
「終了」をクリックします。
「JDBCリソース」ページの「データソース」で、「作成」をクリックして新しいデータソースを定義します。
「データ・ソースの作成 - アプリケーションとタイプ」ページで、「アプリケーション」に「デフォルト」が選択され、「データ・ソース・タイプ」に「管理データソース」が選択されていることを確認します。「続行」をクリックします。
「データ・ソースの作成 - 管理データ・ソース」ページで、「名前」に「RTD_DS」、「JNDIロケーション」に「jdbc/SDDS」をそれぞれ入力し、「接続プール」で「RTDConnectionPool」を選択します。その他のオプションはデフォルトのままにします。「終了」をクリックします。
「JDBCリソース」ページの「データソース」テーブルで、RTD_DSデータソースについて「接続テスト」をクリックします。次の手順に従ってRTD_DSデータソースをテストします。
「SQL文」を「select * from SDAPPS」に変更して、「テスト」をクリックします。
接続が確立されなかった場合は、OC4Jを再起動してデータソースを再度テストします。それでも接続に失敗する場合は、接続プールが正しく設定されているかどうか確認してください。
Application Server Controlですべてのオブジェクトを作成してテストした後に、Oracle RTDをデプロイして起動する必要があります。手順については、第3.4項「OC4JへのOracle Real-Time Decisionsアプリケーションのインストール」および第3.6項「Oracle Real-Time Decisionsの起動」を参照してください。
Oracle内のOracle RTD DatabaseのJDBCプロバイダを作成するには、次の手順に従って、まずOC4JにOracleRTDをデプロイしてから、Application Server ControlでJDBCリソースを設定する必要があります。
まだ作成していない場合は、第3.2.1項「共有ライブラリoracle.rtd.jdbcの作成」の手順1で説明しているように、OC4Jサーバーを起動します。
OC4JにOracleRTDをデプロイします。手順については、第3.4項「OC4JへのOracle Real-Time Decisionsアプリケーションのインストール」を参照してください。
Oracle RTD DatabaseのSDDSが見つからないというエラーは無視してください。
Application Server Controlで「管理」タブに進み、「サービス」の下の「JDBCリソース」タスクをクリックします。「接続プール」の下の「作成」をクリックして、Oracle RTD Database用の新しい接続プールを作成します。
OC4JをOracle Application Serverの一部として使用している場合は、最初に「グループ」の下の「ホーム」をクリックしてから、「管理」タブに進みます。
「接続プールの作成 - アプリケーション」ページで、「アプリケーション」に(「デフォルト」でなく)「OracleRTD」が選択され、「接続プール・タイプ」に「新規接続プール」が選択されていることを確認します。「続行」をクリックします。
「接続プールの作成」ページで、「名前」に「RTDConnectionPool」と入力します。
「コネクション・ファクトリ・クラス」に、次の値を入力します。
oracle.jdbc.pool.OracleDataSource
「JDBC URL」に、次の値を入力します。
jdbc:oracle:thin:@db_host:db_port:sid
db_hostはOracle RTD Databaseを実行するサーバーの名前、db_portはデータベース・サーバーへの接続に使用するポート番号、sidはサーバーで実行されるOracle Databaseインスタンスを指定するOracleシステム識別子(ORCLなど)です。
「資格証明」の下の「ユーザー名」に、Oracle RTD Databaseインスタンスに対してシステム管理権限を持つデータベース・ユーザーの名前を入力します。次に、対応するパスワードを指定します。クリアテキスト形式のパスワードを指定するか、または間接的パスワードを指定するかの詳細は、『Oracle Application Server Containers for J2EEセキュリティ・ガイド』を参照してください。
「終了」をクリックします。
「JDBCリソース」ページの「データソース」で、「作成」をクリックして新しいデータソースを定義します。
「データ・ソースの作成 - アプリケーションとタイプ」ページで、「アプリケーション」に(「デフォルト」でなく)「OracleRTD」が選択され、「データ・ソース・タイプ」に「管理データソース」が選択されていることを確認します。「続行」をクリックします。
「データ・ソースの作成 - 管理データ・ソース」ページで、「名前」に「RTD_DS」、「JNDIロケーション」に「jdbc/SDDS」をそれぞれ入力し、「接続プール」で「RTDConnectionPool」を選択します。その他のオプションはデフォルトのままにします。「終了」をクリックします。
「JDBCリソース」ページの「データソース」テーブルで、RTD_DSデータソースについて「接続テスト」をクリックしてから、「テスト」をクリックします。
接続が確立されなかった場合は、OC4Jを再起動してデータソースを再度テストします。それでも接続に失敗する場合は、接続プールが正しく設定されているかどうか確認してください。
Application Server Controlですべてのオブジェクトを作成してテストした後に、OracleRTDを再デプロイしないでください。第3.6項「Oracle Real-Time Decisionsの起動」で説明しているように、Oracle RTDを起動します。
ここで説明する手順は、Oracle Application Server(Oracle AS)とOracle Container for J2EE(OC4J)の両方に当てはまります。
OC4Jに付属しているデフォルトのセキュリティ・プロバイダについては、「ロール」という用語は他のベンダーで「ユーザー・グループ」と呼んでいるものと同じです。ロールとは、ユーザーなどのロールの集合です。ロールを作成し、ロールにユーザーを追加するには、OC4Jの管理コンソールを使用します。
ロールの継承
OC4Jにはロールの継承という概念があります。ロールBがロールAを継承している場合、ロ―ルB内のすべてのユーザーはロールAにも含まれています。集合論的に表現すると、Bは集合Aに完全に含まれているサブセットと見なすことができます。
この項の内容は次のとおりです。
表3-1は、標準ロール、2つのカスタム・ロールおよびこれらの継承関係を示しています。すべてのロールは、RTDUsersから直接または間接に継承する必要があります。
表3-1 標準ロールと継承元のロール
| ロール | 継承元のロール | 標準/カスタム |
|---|---|---|
|
RTDUsers |
なし |
標準 |
|
RTDAdministrators |
RTDUsers |
標準 |
|
RTDDecisionCenterUsers |
RTDUsers |
標準 |
|
RTDDecisionCenterEditors |
RTDDecisionCenterUsers |
標準 |
|
RTDStudioDeployers |
RTDUsers |
標準 |
|
RTDStudioDownloaders |
RTDUsers |
標準 |
|
RTDBatchAdministrators |
RTDUsers |
標準 |
|
RTDChoiceEditors |
RTDUsers |
標準 |
|
ILS2Developers |
RTDUsers |
カスタム |
|
ILS2Users |
RTDUsers |
カスタム |
標準ロールを作成するには、次の手順を実行します。
OC4Jの管理コンソールを開きます。
「管理」タブをクリックします。
「タスク名」→「管理タスク」→「セキュリティ」→「セキュリティ・プロバイダ」行で、「タスクに移動」アイコンをクリックします。
「インスタンス・レベルのセキュリティ」ボタンをクリックします。
「レルム」タブをクリックします。
デフォルト・レルム「jazn.com」の「レルム名」行で、「ロール」列の番号をクリックします。
表3-1内の作成するロールごとに、次の手順を実行します。
「作成」をクリックします。
新しいロールの名前を入力します。
|
注意: 次のどちらも選択しないでください。
|
継承が必要なロールがあれば、左側の「使用可能なロール」リストから右側の「選択したロール」リストに移動します。
左側のツリーで、「セキュリティ・レルム」を選択します。
右側のツリーで、使用するセキュリティ・レルムを選択します。
「適用」をクリックします。
ユーザーを作成するには、次の手順を実行します。
OC4Jの管理コンソールを開きます。
「管理」タブをクリックします。
「タスク名」→「管理タスク」→「セキュリティ」→「セキュリティ・プロバイダ」行で、「タスクに移動」アイコンをクリックします。
「インスタンス・レベルのセキュリティ」ボタンをクリックします。
「レルム」タブをクリックします。
デフォルト・レルム「jazn.com」の「レルム名」行で、「ユーザー」列の番号をクリックします。
作成するユーザーごとに、次の手順を実行します。
「作成」をクリックします。
新しいユーザーの名前を入力します。
このユーザーのパスワードを入力します。
確認のため、パスワードを再入力します。
このユーザーのロールがあれば、左側の「使用可能なロール」リストから右側の「選択したロール」リストに移動します。
「OK」をクリックします。
任意のカスタム・ロールを参照するには、Oracle RTDのデプロイメント・ディスクリプタ・ファイルの2つを更新する必要があります。これらのファイルはui.warとsoap.warに埋め込まれており、両方ともRTD.earに埋め込まれています。
|
注意: この項では、2つのweb.xmlファイルに対して必要な変更について説明していますが、それらのファイルを見つけて更新する方法を正確に説明しているわけではありません。このプロセスは、第8.1.3項「Oracle RTDへの新しいデータソースの追加」で説明しているように、カスタム・データベース・リソース参照を含むようにweb.xmlファイルを更新するプロセスに似ています。 |
ui.warの更新
任意のカスタム・ロールを参照するには、次のパスによって指定されるファイルを更新する必要があります。
rtd.ear/ui.war/web-inf/web.xml
ファイルweb.xml内には、カスタム・ロールを参照するために更新する必要のある場所が3つあります。コメント内で、「RTD-Custom-Roles」という文字列の出現箇所を3つ探します。
次に示すように、最初の2箇所はsecurity-role-ref要素を挿入するためのものです。
<!-- RTD-Custom-Roles. Insert custom RTD roles here, as might be needed for
ILS-specific access. For example, RTD_ILS2Developers could be a role for
deploying the Inline Service named ILS2, and RTD_ILS2Users for viewing or
editing ILS2 in Decision Center.
-->
<security-role-ref>
<role-name>RTD_ILS2Developers</role-name>
<role-link>RTD_ILS2Developers</role-link>
</security-role-ref>
<security-role-ref>
<role-name>RTD_ILS2Users</role-name>
<role-link>RTD_ILS2Users</role-link>
</security-role-ref>
次に示すように、カスタム・ロールの3番目の箇所はsecurity-role要素を挿入するためのものです。
<!-- RTD-Custom-Roles. Insert here security-role elements for any custom RTD roles,
as might be needed for ILS-specific access. For example, RTD_ILS2Developers
could be a role for deploying the Inline Service named ILS2, and RTD_ILS2Users
for viewing or editing ILS2 in Decision Center.
-->
<security-role>
<role-name>RTD_ILS2Developers</role-name>
</security-role>
<security-role>
<role-name>RTD_ILS2Users</role-name>
</security-role>
soap.warの更新
任意のカスタム・ロールを参照するには、次のパスによって指定されるファイルを更新する必要があります。
rtd.ear/soap.war/web-inf/web.xml
ファイルweb.xml内には、カスタム・ロールを参照するために更新する必要のある場所が2つあります。コメント内で、「RTD-Custom-Roles」という文字列の出現箇所を2つ探します。
次に示すように、最初の箇所はsecurity-role-ref要素を挿入するためのものです。
<!-- RTD-Custom-Roles. Insert custom RTD roles here, as might be needed for
ILS-specific access. For example, RTD_ILS2Developers could be a role for
deploying the Inline Service named ILS2, and RTD_ILS2Users for viewing or
editing ILS2 in Decision Center.
-->
<security-role-ref>
<role-name>RTD_ILS2Developers</role-name>
<role-link>RTD_ILS2Developers</role-link>
</security-role-ref>
<security-role-ref>
<role-name>RTD_ILS2Users</role-name>
<role-link>RTD_ILS2Users</role-link>
</security-role-ref>
次に示すように、カスタム・ロールの2番目の箇所はsecurity-role要素を挿入するためのものです。
<!-- RTD-Custom-Roles. Insert here security-role elements for any custom RTD roles,
as might be needed for ILS-specific access. For example, RTD_ILS2Developers
could be a role for deploying the Inline Service named ILS2, and RTD_ILS2Users
for viewing or editing ILS2 in Decision Center.
-->
<security-role>
<role-name>RTD_ILS2Developers</role-name>
</security-role>
<security-role>
<role-name>RTD_ILS2Users</role-name>
</security-role>
Application Server Controlを使用して、OC4JにOracle RTDをインストールします。作業を開始する前に、OC4Jが起動していることを確認してください。
OC4JにOracle RTDをインストールするには、次の手順を実行します。
まだインストールしていない場合は、oc4jadminユーザーとしてApplication Server Controlにログインします。Application Server Controlには、http://oc4j_host:port/emからアクセスできます。OC4Jのスタンドアロン・バージョンでは、通常、ポート番号は8888です。OC4JがOracle Application Serverの一部の場合は、通常、ポート番号は80です。
スタンドアロン・バージョンのOC4Jを使用している場合は、OC4Jのホーム・ページで、「アプリケーション」タブをクリックします。
OC4JをOracle Application Serverの一部として使用している場合は、最初に「グループ」の下の「ホーム」をクリックしてから、「アプリケーション」タブに進みます。
「デプロイ」をクリックします。「デプロイ: アーカイブの選択」ページの「アーカイブ」で、アーカイブ場所としてRTD_HOME/package/RTD.earを参照して指定します。次に、「デプロイ・プラン」で「新規デプロイ・プランを自動的に作成します。」が選択されていることを確認して、「次へ」をクリックします。
「デプロイ: アプリケーション属性」ページで、「アプリケーション名」に「OracleRTD」と入力し、「サイトへのWebモジュールのバインド」に「rtd-web-site」を選択します。「次へ」をクリックします。
「デプロイ: デプロイ設定」ページで、「デプロイ」をクリックします。デプロイが完了するまで、数分かかる場合があります。次に、URLにhttp://server_name:port/uiを指定してDecision Centerに進み、Oracle RTDが実行中かどうかをチェックします。ポートは通常、8080です。
第7.4項「権限の割当て」で説明しているように、任意のカスタム・ロールにクラスタの権限、インライン・サービスの権限およびDecision Centerのパースペクティブ権限を割り当てます。
OC4Jを起動すると、Oracle RTDが自動的に起動されます。OC4Jと無関係にOracle RTDを起動するには、Application Server Controlを次のように使用します。
oc4jadminユーザーとしてApplication Server Controlにログインします。Application Server Controlには、http://oc4j_host:port/emからアクセスできます。
「アプリケーション」タブに進みます。「アプリケーション」テーブルで、「OracleRTD」を選択し、「起動」をクリックします。「ステータス」列の上向きの緑の矢印は、アプリケーションが起動されていることを示します。
OC4JをOracle Application Serverの一部として使用している場合は、最初に「グループ」の下の「ホーム」をクリックしてから、「アプリケーション」タブに進みます。
Application Server Controlを使用して、OC4JからOracle RTDをアンインストールできます。作業を開始する前に、OC4Jが起動していることを確認してください。
OC4JからOracle RTDをアンインストールするには、次の手順を実行します。
oc4jadminユーザーとしてApplication Server Controlにログインします。Application Server Controlには、http://oc4j_host:port/emからアクセスできます。
「アプリケーション」タブに進みます。「アプリケーション」テーブルで、「OracleRTD」を選択し、「停止」をクリックします。「ステータス」列の下向きの赤の矢印は、アプリケーションが停止されていることを示します。
OC4JをOracle Application Serverの一部として使用している場合は、最初に「グループ」の下の「ホーム」をクリックしてから、「アプリケーション」タブに進みます。
「アンデプロイ」をクリックし、「アプリケーションのアンデプロイ」ページで「はい」をクリックします。
この手順では、OC4JからOracle RTDがアンインストールされますが、オペレーティング・システムからOracle RTDのファイルが削除されるわけではありません。Oracle RTDのファイルは、手動で削除する必要があります。
この項に記述する手順に従って、Real-Time Decision Serverへのすべてのクライアント接続に対してSSLを設定します。作業を開始する前に、第2.6項の手順に従って、Oracle RTDのデフォルトのキーストアのパスワードを変更したことを確認します。
この項の内容は次のとおりです。
Real-Time Decision ServerのSSLを構成するには、次の手順を実行します。
スタンドアロンOC4Jを使用する場合は、使用しているオペレーティング・システムに対応する手順を実行します。Oracle Application Serverを使用する場合は、手順2に進みます。
Windowsの場合: ファイルOC4J_HOME\bin\oc4j.cmdを探し、それを開いて編集します。各%JAVA_HOME%\bin\java行の前に、次の行を新しく挿入します。
cd %J2EE_HOME%
UNIXの場合: ファイルOC4J_HOME/bin/oc4j.shを探し、それを開いて編集します。各$JAVA_HOME/bin/java行の前に、次の行を新しく挿入します。
cd $J2EE_HOME
スタンドアロンOC4Jを使用する場合は、OC4J_HOME/jlibに移動します。Oracle Application Serverを使用する場合は、ORACLE_AS_HOME/jlibに移動します。ファイルjssl-1_1.jarの名前をjssl-1_1.jar.notusedに変更します。
スタンドアロンOC4Jを使用する場合は、OC4J_HOME/j2ee/home/configに移動します。Oracle Application Serverを使用する場合は、ORACLE_AS_HOME/j2ee/oc4j_instance/configに移動します。ファイルrtd-web-site.xmlのコピーを作成し、コピーしたファイルの名前をrtd-secure-web-site.xmlに変更します。
編集のためにrtd-secure-web-site.xmlを開き、次のように変更します。
<web-site>タグで、port属性を8443に設定します。
<web-site>タグにsecure属性を追加してtrueに設定します。secure属性が存在している場合はtrueに設定します。
<web-site>タグで、display-name属性をOC4J RTD Secure Web Siteに設定します。
各<web-app>タグにshared属性を追加してtrueに設定します。shared属性が存在している場合はtrueに設定します。
<access-log>タグで、path属性を../log/rtd-secure-web-access.logに設定します。
</web-site>タグの直前に次の行を追加します。RTD_HOMEは、実際のOracle RTDのインストール・パスに置き換えてください。
<ssl-config keystore="RTD_HOME/etc/ssl/sdserver.keystore" keystore-password="your_keystore_password" needs-client-auth="false" />
次に例を示します。
<?xml version="1.0" ?> <web-site xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd" port="8443" secure="true" display-name="OC4J Secure Default Web Site" schema-major-version="10" schema-minor-version="0" > <default-web-app application="default" name="defaultWebApp" /> <web-app application="OracleRTD" name="ls" load-on-startup="true" root="/ls" shared="true" /> <web-app application="OracleRTD" name="rtis" load-on-startup="true" root="/rtis" shared="true" /> <web-app application="OracleRTD" name="soap" load-on-startup="true" root="/soap" shared="true" /> <web-app application="OracleRTD" name="ui" load-on-startup="true" root="/ui" shared="true" /> <web-app application="OracleRTD" name="schema" load-on-startup="true" root="/schema" shared="true" /> <web-app application="OracleRTD" name="cactus" load-on-startup="true" root="/cactus" shared="true" /> <access-log path="../log/rtd-secure-web-access.log" split="day" /> <ssl-config keystore="C:\OracleBI\RTD\etc\ssl\sdserver.keystore" keystore-password="my_password" needs-client-auth="false" /> </web-site>
Oracle RTDのデフォルトのキーストアではなく独自のキーストアを使用する場合は、RTD_HOME/etc/ssl/sdserver.keystoreの箇所に、独自のキーストアのパスを指定します。
ファイルOC4J_HOME/j2ee/home/config/server.xmlを探し、それを開いて編集します。行<web-site default="true" path="./default-web-site.xml" />の後に、次の行を新しく挿入します。
<web-site path="./rtd-secure-web-site.xml" />
保存してファイルを閉じます。
OC4Jを再起動します。
|
注意: 真にセキュアな環境を実現するには、通常のHTTPポートを無効にして、すべてのクライアント接続がSSLポートを経由するように設定する必要もあります。これを行うには、次の手順を実行します。
|
独自のキーストアおよびトラストストアを使用する場合は、次の追加手順を実行して、Decision StudioおよびLoad Generatorに対してSSLを有効にします。Oracle RTDのデフォルトのキーストアおよびトラストストアを使用する場合は、この手順を実行する必要はありません。
RTD_HOME\eclipse\eclipse.iniを開いて編集します。
次の行を探します。
-Djava.net.ssl.trustStore="..\etc\ssl\sdtrust.store"
..\etc\ssl\sdtruststoreを、使用するトラストストア・ファイルのフルパスに置き換えます。
ファイルを保存して閉じます。
RTD_HOME\scripts\sdexec.cmdを開いて編集します。
ファイルの下部にある、先頭が%SD_START%になっている行を探します。行の終わり近くで、次の文字列を探します。
-Djavax.net.ssl.trustStore="%SD_ROOT%\etc\ssl\sdtrust.store"
%SD_ROOT%\etc\ssl\sdtruststoreを、使用するトラストストア・ファイルのフルパスに置き換えます。
ファイルを保存して閉じます。
SSLポートが正しく機能していることを確認するには、URLにhttps://server_name:ssl_port/uiを指定してDecision Centerに進みます。SSLポートが正しく機能している場合は、ブラウザにログイン画面「Welcome to Decision Center」が表示されます。
Webブラウザには、「Do you want to accept this certificate?」のようなメッセージが表示される場合もあります。このメッセージが生成されるのは、Oracle RTDのデフォルトのキーストアに同梱されている自己署名証明書について、ブラウザが認識していないことが理由です。この自己署名証明書は、開発環境とテスト環境には適していますが、本番環境には使用しないことをお薦めします。
本番環境では、自己署名証明書を、VerisignやThawteのような信頼できる認証局(CA)が発行する証明書に置き換えることをお薦めします。この証明書は、Sun社のキーツール・ユーティリティで生成された証明書リクエストをCAに送信することによって発行されます。
証明書リクエストの生成、およびCAからキーストアへの証明書のインポートの手順は、http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.htmlを参照してください。
次の手順を実行して、JConsole管理ツールのセキュリティを設定します。作業を開始する前に、OC4Jが稼動していないことを確認してください。
JConsoleのセキュリティを設定するには、次の手順を実行します。
スタンドアロンOC4Jを使用する場合は、使用しているオペレーティング・システムに対応する手順を実行します。
Windowsの場合: ファイルOC4J_HOME\bin\oc4j.cmdを探し、それを開いて編集します。次の行を探します。
set JVMARGS=%JVMARGS% -Dcom.sun.management.jmxremote.authenticate=false
この行の値をtrueに変更します。保存してファイルを閉じます。
UNIXの場合: ファイルOC4J_HOME/bin/oc4jを探し、それを開いて編集します。次の行を探します。
JVMARGS=$JVMARGS :-Dcom.sun.management.jmxremote.authenticate=false
この行の値をtrueに変更します。保存してファイルを閉じます。
Oracle Application Serverを使用する場合は、ファイルORACLE_AS_HOME/opmn/conf/opmn.xmlを探し、それを開いて編集します。文字列-Dcom.sun.management.jmxremote.authenticate=falseを探し、その値をtrueに設定します。保存してファイルを閉じます。
OC4Jが実行されているコンピュータで、JDKのインストール・ディレクトリを探します。OC4Jによって使用されているJDKインストールに移動します。
スタンドアロンOC4Jを使用する場合は、ファイルJDK_HOME/jre/lib/management/jmxremote.password.templateのコピーを作成し、その名前をjmxremote.passwordに変更します。JDKのインストール場所がわからない場合は、オペレーティング・システム環境変数のJAVA_HOMEをチェックします。
Oracle Application Serverを使用する場合は、ファイルORACLE_AS_HOME/jdk/jre/lib/management/jmxremote.password.templateのコピーを作成し、その名前をjmxremote.passwordに変更します。
|
注意: Oracle Application ServerがAIXベースのシステムで実行されている場合は、第1.3.2項で説明しているように、ダウンロードされているのはIBM Java 5 SR2 JDKです。この構成の場合は、ORACLE_AS_HOMEではなく、IBM Java 5 SR2のインストール・ディレクトリに移動します。次に、jmx.remote.password.templateファイルにナビゲートします。 |
jmxremote.passwordファイルを開いて編集します。ファイルの末尾に進み、次の2行の前にある番号記号(#)を削除します。
monitorRole QED controlRole R&D
これらは、1行で1組の資格証明を表しています。つまり、最初がユーザー名で、その後がそれに対応するパスワードです。新しいユーザー名およびパスワードを、別の行に追加することもできます。デフォルトのユーザー名であるmonitorRoleとcontrolRoleをそのまま使用する場合は、デフォルトのパスワードを新しいパスワードに変更してください。
デフォルトでは、ユーザー名monitorRoleにはJConsole MBeanの読取り権限のみが付与され、ユーザー名controlRoleにはJMX MBeanの完全な制御権限が付与されています。この後の手順では、これらのデフォルト権限の変更方法について説明します。
資格証明ごとに権限を設定するには、同じディレクトリにあるjmxremote.accessファイルを開いて編集します。次に、キーワードのreadonlyおよびreadwriteを使用して、資格証明ごとにアクセス・レベルを指定します。次に例を示します。
monitorRole readonly controlRole readwrite
追加した新しい資格証明に対する権限は、必ずjmxremote.passwordファイルに追加してください。
jmxremote.passwordファイルには、パスワードがクリアテキスト形式で含まれているため、このファイルに対するアクセス権限をファイル所有者に制限する必要があります。これを行うには、次のようにしてアクセス権限を変更します。
Windowsの場合: 次のURLに記載されている手順に従います。
http://java.sun.com/j2se/1.5.0/docs/guide/management/security-windows.html
UNIXの場合: コマンドchmod 600 jmxremote.passwordを実行します。
JConsoleのセキュリティの詳細は、次のURLを参照してください。
http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#PasswordAccess
|
重要: jmxremote.passwordファイルに対するファイル・アクセス権限を変更する必要があります。この手順はスキップしないでください。 |
OC4Jを起動します。
これで、JConsoleを実行し、jmxremote.passwordファイルに定義されたユーザー名およびパスワードを使用してログインできるようになります。詳細は、第15.1項「JConsoleへのアクセス」を参照してください。
Oracle RTDアプリケーションのポート番号を変更するには、次の手順に従って、OC4Jでポート番号を変更する必要があります。
OC4Jを停止します。
スタンドアロンOC4Jを使用する場合は、ファイルOC4J_HOME/j2ee/home/config/rtd-web-site.xmlを探し、それを開いて編集します。Oracle Application Serverを使用する場合は、ファイルORACLE_AS_HOME/j2ee/oc4j_instance/config/rtd-web-site.xmlを探し、それを開いて編集します。
<web-site>タグで、port属性を新しいポート番号に設定します。
Oracle RTDへのクライアント接続にSSLを使用する場合は、rtd-secure-web-site.xmlに対して手順2と3を繰り返します。
OC4Jを起動します。