ヘッダーをスキップ
Oracle Real-Time Decisionsインストレーションおよび管理ガイド
リリース3.0
B54058-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

6 Oracle Real-Time Decisions用のJBossの構成

Oracle RTDは、UNIXとWindowsどちらのプラットフォームのJBossアプリケーション・サーバーでもサポートされます。次の各項では、JBoss 4.3 EARにReal-Time Decision Serverをインストールする方法について説明します。


注意:

Real-Time Decision ServerはUNIXでもWindowsでも実行されますが、Oracle RTDクライアント・ツールは、Windowsプラットフォームでしか実行できません。


用語:

この章では、
  • JBoss 4.3 EAPアーカイブ・ファイルの解凍先ディレクトリは、JBOSS_HOME、たとえば、C:\Program Files\EnterprisePlatform-4.3.0.GA_CP03C:\jboss-eap-4.3と記述しています。

  • Oracle RTDのインストール先ディレクトリは、RTD_HOME、たとえば、C:\OracleBI\RTDと記述しています。


この章の内容は次のとおりです。

6.1 サーバー・プロパティの構成


注意:

第1.4.4項「Oracle RTD用のJBossのインストール」に記載されている手順を実行したことを確認します。

この項の内容は次のとおりです。

6.1.1 JBossサーバーへのOracle RTDのロギングの追加

JBossサーバーにOracle RTDのロギングを追加するには、次の手順を実行します。

  1. ファイルJBOSS_HOME /jboss-as/server/default/conf/jboss-log4j.xmlを開きます。

  2. 次の記述を探します。

    <!-- ============================== -->
    <!-- Append messages to the console -->
    <!-- ============================== -->
    

    このセクションの最後に、次の行を追加します。

    <!-- ============================================== -->
    <!-- START: Oracle RTD Appender Message Definitions -->
    <!-- ============================================== -->
    
    <appender name="SIGMA" class="com.sigmadynamics.util.SDRollingZipFileAppender">
       <param name="Threshold" value="DEBUG"/>
       <param name="File" value="${rtd.log.file}"/>
       <param name="Append" value="true"/>
       <param name="MaxFileSize" value="20000KB"/>
       <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] %m%n"/>
       </layout>
       <filter class="org.jboss.logging.filter.TCLFilter">
          <param name="AcceptOnMatch" value="true"/>
          <param name="DeployURL" value="RTD.ear"/>
       </filter>
       <filter class="org.apache.log4j.varia.DenyAllFilter"/>
    </appender>
    
    <appender name="ENG_TRACE_FILE" class="com.sigmadynamics.util.SDRollingZipFileAppender">
       <param name="Threshold" value="TRACE"/>
       <param name="File" value="${rtd.log.file}.trace"/>
       <param name="Append" value="true"/>
       <param name="MaxFileSize" value="20000KB"/>
       <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{{HH:mm:ss,SSS}} [%t] %m%n"/>
         <!--
         <param name="ConversionPattern" value="%d{{HH:mm:ss,SSS}} [%t] %-5p [%c{1}] %m%n"/>
         -->
       </layout>
    </appender>
    
    <!-- ============================================ -->
    <!-- END: Oracle RTD Appender Message Definitions -->
    <!-- ============================================ -->
    
  3. 次の記述を探します。

    <!-- ====================== -->
    <!-- More Appender examples -->
    <!-- ====================== -->
    

    このセクションの最後に、次の行を追加します。

    <!-- ============================================ -->
    <!-- START: Oracle  Limit Category Definitions -->
    <!-- ============================================ -->
    
    <category name="ENG_TRACE" additivity="false">
      <priority value="DEBUG"/>
      <appender-ref ref="ENG_TRACE_FILE"/>
    </category>
    
    <category name="com.sigmadynamics.server.SDDistributedHashtable">
      <priority value="ERROR"/>
    </category>
    
    <category name="com.sigmadynamics.client">
      <priority value="ERROR"/>
    </category>
    
    <category name="com.sigmadynamics">
      <priority value="DEBUG"/>
    </category>
    
    <category name="org.jboss.messaging.core.impl.JDBCSupport">
      <priority value="INFO"/>
    </category>
    
    <category name="org.jboss.jms.server.plugin.JDBCJMSUserManager">
      <priority value="INFO"/>
    </category>
    
    <category name="org.jgroups.protocols">
      <priority value="ERROR"/>
    </category>
    
    <category name="sigmadynamics.application">
      <priority value="DEBUG"/>
    </category>
    
    <category name="request.trace.sigmadynamics.application">
      <priority value="TRACE#com.sigmadynamics.util.XLevel"/>
    </category>
    
    <category name="request.log.sigmadynamics.application">
      <priority value="DEBUG"/>
    </category>
    
    <!-- ========================================== -->
    <!-- END: Oracle RTD Limit Category Definitions -->
    <!-- ========================================== -->
    
  4. 次の記述を探します。

    <!-- ======================== -->
    <!-- Set up the Root category -->
    <!-- ======================== -->
    

    <root>に、次の行を追加します。

    <appender-ref ref="SIGMA"/>
    
  5. ファイルを保存します。

6.1.2 JBossへのOracle RTDのlog 4J jarファイルのコピー

次の手順を実行してOracle RTDのクラスを追加し、Oracle RTDのサーバー・ログを表示します。

  • RTD_HOME/package/jboss/rtdlog4j.jarJBOSS_HOME/jboss-as/server/default/lib/にコピーします。

6.1.3 JBoss Webコンテナのディレクトリへの新しいバージョンのEclipse JDTコンパイラのコピー

次の手順を実行します。

  • RTD_HOME/package/jboss/ecj-3.4.jarJBOSS_HOME/jboss-as/server/default/deploy/jboss-web.deployer/にコピーします。


注意:

これは、旧バージョンのEclipse JDTコンパイラjasper-jdt.jarより優先されます。

JBoss Bug #JBPAPP-869(https://jira.jboss.org/jira/browse/JBPAPP-869)を参照してください。


6.1.4 JBossの起動スクリプトの変更

JBossの起動スクリプトは、WindowsとUNIXで異なります。該当する項に記載されている手順に従ってください。

6.1.4.1 Windows用のJBoss起動スクリプトの変更

Windows用のJBoss起動スクリプトを変更するには、次の手順を実行します。

  1. JBOSS_HOME/jboss-as/bin/run.batを開きます。

  2. ファイルの先頭近くに、次の行を追加します(ただし、その前に、RTD_HOME_TO_REPLACEを実際の値、たとえば、C:\OracleBI\RTDなどに置き換えます)。

    set RTD_HOME=RTD_HOME_TO_REPLACE
    
    set JAVA_OPTS= -Dorg.jboss.net.protocol.file.decodeFilePaths=true
    set JAVA_OPTS=%JAVA_OPTS% -Dnologging=true -DSDLoggingPriority=DEBUG
    set JAVA_OPTS=%JAVA_OPTS% -Djboss.partition.udpGroup=228.1.2.10
    set JAVA_OPTS=%JAVA_OPTS% -Dhibernate.connection.release_mode=auto
    set JAVA_OPTS=%JAVA_OPTS% -Drtd.install.dir=%RTD_HOME%
    set JAVA_OPTS=%JAVA_OPTS% -Drtd.home.dir=%RTD_HOME%
    set JAVA_OPTS=%JAVA_OPTS% -DSDLoggingFileName=%RTD_HOME%/log/server.log
    set JAVA_OPTS=%JAVA_OPTS% -DDSPerfCounterLogFile=%RTD_HOME%/log/ds_perf.cvs
    set JAVA_OPTS=%JAVA_OPTS% -Drtd.log.file=%RTD_HOME%/log/server.log
    set JAVA_OPTS=%JAVA_OPTS% -Xmx512m -XX:MaxPermSize=128m
    
    set JBOSS_CLASSPATH=%RTD_HOME%/lib/jdbc/bijdbc14.jar
    set JBOSS_CLASSPATH=%JBOSS_CLASSPATH%;%RTD_HOME%/lib/jdbc/sqljdbc.jar
    set JBOSS_CLASSPATH=%JBOSS_CLASSPATH%;%RTD_HOME%/lib/jdbc/db2jcc_license_cu.jar
    set JBOSS_CLASSPATH=%JBOSS_CLASSPATH%;%RTD_HOME%/lib/jdbc/db2jcc.jar
    set JBOSS_CLASSPATH=%JBOSS_CLASSPATH%;%RTD_HOME%/lib/jdbc/ojdbc14.jar
    
  3. ファイルを保存します。


注意:

WindowsでJBossアプリケーション・サーバーを起動するには、次の手順を実行します。
  1. コマンド・ウィンドウ(cmd)を開き、「cd」でJBOSS_HOME/jboss-as/bin/に移動します。

  2. 次のように入力して、JBossを起動します。

    run.bat --configuration=default --host=localhost

WindowsでJBossアプリケーション・サーバーを停止するには、次の手順を実行します。

  1. コマンド・ウィンドウ(cmd)を開き、「cd」でJBOSS_HOME/jboss-as/bin/に移動します。

  2. 次のように入力して、JBossを停止します。

    shutdown.bat --server=localhost:1099 -S -u admin -p admin


6.1.4.2 UNIX用のJBoss起動スクリプトの変更

UNIX用のJBoss起動スクリプトを変更するには、次の手順を実行します。

  1. JBOSS_HOME/jboss-as/bin/run.shを開きます。

  2. ファイルの先頭近くに、次の行を追加します(ただし、その前に、RTD_HOME_TO_REPLACEJAVAHOME_TO_REPLACEをそれぞれ実際の値、たとえば、/home/rtd/home/javaなどに置き換えます)。

    JAVA_HOME="JAVAHOME_TO_REPLACE"
    export JAVA_HOME
    
    RTD_HOME="RTD_HOME_TO_REPLACE"
    
    JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.net.protocol.file.decodeFilePaths=true"
    JAVA_OPTS="$JAVA_OPTS -Dnologging=true -DSDLoggingPriority=DEBUG"
    JAVA_OPTS="$JAVA_OPTS -Djboss.partition.udpGroup=228.1.2.10"
    JAVA_OPTS="$JAVA_OPTS -Dhibernate.connection.release_mode=auto"
    JAVA_OPTS="$JAVA_OPTS -Drtd.install.dir=$RTD_HOME"
    JAVA_OPTS="$JAVA_OPTS -Drtd.home.dir=$RTD_HOME"
    JAVA_OPTS="$JAVA_OPTS -DSDLoggingFileName=$RTD_HOME/log/server.log"
    JAVA_OPTS="$JAVA_OPTS -DDSPerfCounterLogFile=$RTD_HOME/log/ds_perf.cvs"
    JAVA_OPTS="$JAVA_OPTS -Drtd.log.file=$RTD_HOME/log/server.log"
    JAVA_OPTS="$JAVA_OPTS -Xmx512m -XX:MaxPermSize=128m -server
    
    JBOSS_CLASSPATH="$RTD_HOME/lib/jdbc/bijdbc14.jar"
    JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$RTD_HOME/lib/jdbc/sqljdbc.jar"
    JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$RTD_HOME/lib/jdbc/db2jcc_license_cu.jar"
    JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$RTD_HOME/lib/jdbc/db2jcc.jar"
    JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$RTD_HOME/lib/jdbc/ojdbc14.jar"
    

    ヒント:

    1. エラーOutOfMemoryErrorが発生した場合は、-Xmx引数を-Xmx1024Mに設定します。
    2. エラーOutOfMemoryError:PermGenが発生した場合は、-XX:MaxPermSize引数を-XX:MaxPermSize=256Mに設定します。


  3. ファイルを保存します。


注意:

UNIXでJBossアプリケーション・サーバーを起動するには、次の手順を実行します。
  1. コマンド・ウィンドウ(cmd)を開き、「cd」でJBOSS_HOME/jboss-as/bin/に移動します。

  2. 次のように入力して、JBossを起動します。

    run.sh --configuration=default --host=localhost

UNIXでJBossアプリケーション・サーバーを停止するには、次の手順を実行します。

  1. コマンド・ウィンドウ(cmd)を開き、「cd」でJBOSS_HOME/jboss-as/bin/に移動します。

  2. 次のように入力して、JBossを停止します。

    shutdown.sh --server=localhost:1099 -S -u admin -p admin


6.2 Oracle RTD DatabaseのJDBCプロバイダの作成

Oracle RTD DatabaseのJDBCプロバイダを作成するには、次の手順に従って、OracleRTD SDDSデータソースを設定し、JBossのデプロイ先ディレクトリにコピーします。

  1. RTD_HOME/package/jbossで、サポートされているデータベースを選択して、次のように、そのデータベースに適したファイルを開きます。

    • DB2の場合: rtd-db2-ds.xml

    • Oracleの場合: rtd-oracle-ds.xml

    • SQL Serverの場合: rtd-sqlserver-ds.xml

  2. 次のように置き換えます。

    • ${DB_SERVER}→使用するデータベース・サーバー

      例: localhost


      注意:

      データベースがSQL Serverの名前付きインスタンスにある場合は、host_name\instance_nameという形式でデータベース・サーバーの名前を指定してください。

    • ${DB_PORT}→使用するデータベース・ポート

      例: db2の場合は50000、oracleの場合は1521、sqlserverの場合は1433

    • ${DB_NAME}→使用するデータベース名

      例: db2およびsqlserverの場合はRTD、oracleの場合はorcl

    • ${DB_USER}→使用するデータベース・ユーザー名

      例: jsmith

    • ${DB_PASSWORD}→使用するデータベース・ユーザー・パスワード

  3. ファイルを保存してJBOSS_HOME/jboss-as/server/default/deploy/にコピーします。

6.3 Oracle RTDのロールとユーザーの作成


注意:

Oracle RTDでのロールと権限の一般情報は、第7章「Oracle Real-Time Decisionsのセキュリティの構成」を参照してください。

JBossのデフォルトのセキュリティ・プロバイダでは、2つのファイルを使用し、1つのファイルでユーザーを、もう1つのファイルでロールを定義します。これらのファイルを編集するか、またはまだ存在していない場合は作成して、Oracle RTDにアクセスするユーザーとそのエンタープライズ・ロールを含める必要があります。

6.3.1 Oracle RTDの管理者などのユーザーの作成

JBOSS_HOMEが示すディレクトリにJBossがインストールされていると想定して、このファイルを編集し、Oracle RTDにアクセスするユーザーの名前とパスワードを(クリア・テキストで)、次のようにそのファイルの中に記述します。

  • JBOSS_HOME/jboss-as/server/default/conf/users.properties


    注意:

    JBossに付属しているデフォルトのセキュリティ・プロバイダでは、ユーザー名とパスワードが暗号化されずに格納されているため、JBossでは他のアイデンティティ・ストアを使用することを強くお薦めします。

構文を説明するために、このファイルの内容の例を次に示します。ユーザー名とパスワードは、等号(=)文字で区切って同じ行に表記します。

# A users.properties file for use with the UsersRolesLoginModule
sdsu=welcome1
don=donSecret1
jane=janeSecret1

ユーザーは、次の表に定義されています。

表6-1 ユーザー

ユーザー名 パスワード 説明

sdsu

welcome1

Oracle RTDの管理者

don

donSecret1

Oracle RTDの開発者

jane

janeSecret1

Oracle RTDのビジネス


6.3.2 標準ロールの作成

次のファイルを編集して、JBossのデフォルトのセキュリティ・プロバイダにロールを作成します。

  • JBOSS_HOME/jboss-as/server/default/conf/roles.properties


注意:

このファイルがまだ存在していない場合は作成してください。

このファイルでは、各ユーザーおよび対応する割り当てられたロールは、1行に表示されます。

# A roles.properties file for use with the UsersRolesLoginModule
#
sdsu=RTDUsers,RTDAdministrators
don=RTDUsers,RTDStudioDeployers,RTDDecsionCenterUsers
jane=RTDUsers,RTDDecisionCenterEditors

前述のリストで定義されたロールを次に示します。このロールはすべて標準ロールです。

  • RTDUsers

  • RTDAdministrators

  • RTDDecisionCenterEditors

  • RTDDecisionCenterUsers

  • RTDStudioDeployers

この例で参照されていない、したがって作成されていないOracle RTDの標準ロールを次に示します。

  • RTDStudioDownloaders

  • RTDBatchAdministrators

  • RTDChoiceEditors

6.3.3 カスタム・ロールの作成

ファイルroles.propertiesを編集して、標準ロールと同じ方法でカスタム・ロールを定義します。


注意:

このファイルがまだ存在していない場合は作成してください。

6.3.4 Oracle RTDのデプロイメント・ディスクリプタの更新

任意のカスタム・ロールを参照するには、Oracle RTDのデプロイメント・ディスクリプタ・ファイルの2つを更新する必要があります。これらのファイルはui.warsoap.warに埋め込まれており、両方ともRTD.earに埋め込まれています。


注意:

この項では、2つのweb.xmlファイルに対して必要な変更について説明していますが、それらのファイルを見つけて更新する方法を正確に説明しているわけではありません。このプロセスは、第8.4.2項「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>

6.4 JBossへのOracle Real-Time Decisionsアプリケーションのインストールと起動

JBossにOracle RTDをインストールするには、次の手順に従って、Oracle RTD.earファイルをJBossのデプロイ先ディレクトリにコピーします。

JBossを起動した後、Oracle RTDが自動的に起動されます。

6.5 カスタム・ロールへの権限の割当て

第7.4項「権限の割当て」で説明しているように、任意のカスタム・ロールにクラスタの権限、インライン・サービスの権限およびDecision Centerのパースペクティブ権限を割り当てます。

6.6 JBossからのOracle Real-Time Decisionsアプリケーションのアンインストール

JBossからOracle RTDをアンインストールするには、JBossが停止しているときに、次の手順に従って、RTD.earファイルをJBossのデプロイ先ディレクトリから削除する必要があります。

  1. JBossを停止します。

  2. JBossのデプロイ先ディレクトリJBOSS_HOME/jboss-as/server/default/deploy/からRTD.earファイルを削除します。

  3. JBossを起動します。

ご使用のオペレーティング・システムでのJBossの起動と停止の詳細は、ご使用のインストールに適した項の最後にある「注意」を参照してください。この「注意」では、起動スクリプトと停止スクリプトの両方に言及しています。

6.7 Real-Time Decision ServerのSSLの構成(推奨)

Real-Time Decision Serverへのすべてのクライアント接続にSSLを設定するプロセスは、Oracle RTD用のJBossをインストールするときに自動的に実行されます。詳細は、第1.4.4項「Oracle RTD用のJBossのインストール」を参照してください。


注意:

独自のキーストアおよびトラストストアを使用する場合は、第2.6項の手順を実行する必要はありません。

6.8 JBossに対するJConsoleの設定

JBossに対するJConsoleを設定するには、使用しているオペレーティング・システムに対応する手順を実行します。

6.8.1 JBossに対するJConsoleの設定(Windows用)

WindowsでJBossに対するJConsoleを設定するには、次の手順を実行します。

  1. JBOSS_HOME/jboss-as/bin/run.batを開きます。

  2. ファイルの先頭近くに、次の行を追加します。

    set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote=true
    set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=12345
    set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.authenticate=false
    set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.ssl=false
    
  3. ファイルを保存します。

6.8.2 JBossに対するJConsoleの設定(UNIX用)

UNIXでJBossに対するJConsoleを設定するには、次の手順を実行します。

  1. JBOSS_HOME/jboss-as/bin/run.shを開きます。

  2. ファイルの先頭近くに、次の行を追加します。

    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
    
  3. ファイルを保存します。