ヘッダーをスキップ

Oracle Business Rules ユーザーズ・ガイド
10g(10.1.3.1.0)

B31866-02
目次
目次
索引
索引

戻る 次へ

B リポジトリを利用したRule AuthorとRules SDKの使用

この付録では、リポジトリを利用したRule AuthorとRules SDKの使用について説明します。

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

B.1 WebDAVリポジトリの使用

この項では、WebDAVリポジトリの設定と構成について説明します。

B.1.1 WebDAVリポジトリの設定

Oracle Business Rulesでは、ルールセット、データ・モデルおよびルールの永続的なストレージとして、WebDAVリポジトリの使用がサポートされています。この項では、WebDAVリポジトリの設定方法を説明し、Oracle HTTP Serverに、ファイル・システム・ベースのWebDAVリポジトリを設定するための基本的な手順を説明します。Oracle HTTP Serverでは、
mod_oradavモジュールによってWebDAVがサポートされます。

WebDAVプロトコルはHTTPプロトコルの拡張機能で、リモート・ユーザーはこれによって、Webサーバーにコンテンツを書き込むことができます。この構成を使用して、望ましくない結果を防止し、セキュアなシステムを保守するために、Webサーバーを適切に構成することが重要です。

Webサーバーに次のセキュリティ機能の一部またはすべてを採用することをお薦めします。

次の例は、ファイル・システムにコンテンツが格納されているWebDAVベースのリポジトリを確立するために使用できる手順を示しています。この例のすべてのファイル・システム・パスは、Oracle HTTP ServerがインストールされているORACLE_HOMEに対する相対パスです。また、この例では、ユーザーがOracle Application Serverをインストールしたユーザーでログインし、Oracle HTTP Serverには、URLのhttp://www.myserver.com:portを使用してアクセスできることを前提としています。


注意:

この例のWebDAVリポジトリの構成は、内部テストとしてのみ使用し、実際の本番環境では使用しないでください。この構成には、アクセス制御が含まれていないため、WebDAVリポジトリに対するアクセスまたは変更が誰に対しても許可されます。WebDAVリポジトリのセキュリティ構成の詳細は、B.2項を参照してください。 


  1. Apache/Apache/htdocsディレクトリ(フォルダ)にナビゲートします。

  2. rule_repositoryという名前のディレクトリを作成します。

  3. Oracle HTTP Serverによるrule_repositoryディレクトリの読取りと書込みが可能であることを確認します。

  4. Apache/oradav/confディレクトリにナビゲートします。

  5. moddav.confファイルを編集し、次の行を追加します。

    <Location /rule_repository>
        DAV on
        ForceType text/plain
    </Location>
    
    
  6. Oracle HTTP Serverを再起動します。

この手順によって、次のURLでアクセス可能なWebDAVリポジトリが確立します。

http://www.fully_qualified_host_name.com:port/rule_repository/


注意:

認証が実行されるように、URLには完全修飾ホスト名を使用する必要があります。  


関連項目:

mod_oradavの構成と使用については、『Oracle HTTP Server管理者ガイド』を参照してください。特に、第9章のWebDAVに関するセキュリティ上の考慮事項に関する項を参照してください。 

B.1.2 WebDAVリポジトリへの接続

WebDAVリポジトリ・タイプを選択すると、Rule Authorによって、表B-1に示した構成パラメータが表示されます。

表 B-1    WebDAVリポジトリへの接続に関するパラメータの構成 
パラメータ  width="82%" 説明 

URL 

希望するWebDAVルール・リポジトリのURL。このパラメータは必須です。ホスト名は、完全修飾ホスト名である必要があります。 

User Name 

WebDAVへのアクセス権限を持つユーザーを指定します。 

Password 

指定したユーザー名に関連付けられているWebDAVユーザーのパスワードを指定します。 


注意:

Rule Authorでは、ユーザー名、パスワードおよびその他の必須プロパティを指定し、Oracleウォレットも指定する場合、ダイアログで指定したプロパティがOracleウォレット情報に優先します。 


B.1.3 プロキシを使用したWebDAVリポジトリへの接続

Rule Authorは、http.proxyHostシステム・プロパティを検索します。このプロパティが設定されている場合、Rule Authorはhttpプロキシ・システム・プロパティを取得し、WebDAV接続に使用します。httpプロトコル・ハンドラがプロキシを使用するように指定するために設定できるプロパティには、次の3つがあります。

WebDAVリポジトリにアクセスするためにプロキシが必要な場合、Rule Authorによって、表B-1に示すパラメータに加えて、表B-2に示すパラメータが表示されます。

表 B-2    プロキシによるWebDAVリポジトリへの接続に関するパラメータの構成 
パラメータ  説明 

Proxy User Name 

プロキシ・ユーザー名を指定します。プロキシ・サーバーにセキュリティが構成されている場合に必須です。 

Proxy Password 

プロキシ・パスワードを指定します。プロキシ・サーバーにセキュリティが構成されている場合に必須です。 

B.2 WebDAVリポジトリのセキュリティ

WebDAVでは、WebDAV対応Webサーバーに対する読取りと書込みのアクセスが可能です。WebDAV Webサーバーを保護するための適切な手順を実行することをお薦めします。この保護のために、SSLを利用してWebDAV Webサーバーへの接続を暗号化する必要があります。また、認証を要求する必要があります。

内容は次のとおりです。

B.2.1 Rule AuthorのSSLを経由したWebDAVリポジトリとの通信

Rule AuthorがOracle Application Server環境にデプロイされている場合、WebDAVリポジトリに対する基本のSSL接続はRule Authorでサポートされます。必要なことは、入力したWebDAV URLによってhttpsを指定することです。

Rule Authorが、スタンドアロンのOC4J環境やHTTPのみをサポートするOracle以外のコンテナにデプロイされている場合、WebDAVリポジトリに対するSSL接続はサポートされません。

Oracle Application Serverには、自己署名のSSL証明書のテストが用意されています。テスト証明書の本番環境での使用は安全でないため、この証明書はユーザー独自の証明書に置換する必要があります。信頼できる認証局の証明書を使用する場合は、OC4Jコンテナの内側と外側の両方からWebDAVにアクセスできます。独自の自己署名証明書の使用を選択する場合、コンテナの内側からはアクセスできますが、外側からはアクセスできません。アクセスするためには、デフォルトのJSSEトラスト・ストアを変更する必要があります。詳細は、JDKに含まれている『JSSE Reference Guide』を参照してください。

また、Oracle SSL実装は、J2SEアプリケーションのクラスパスには提示しないでください。

B.2.2 Oracleウォレットの場所の設定

Rule Authorに対するOracleウォレットの場所をカスタマイズする手順は、次のとおりです。

  1. Enterprise Managerにログインし、OC4Jホーム・ページに進みます。

  2. 「アプリケーション」タブをクリックします。

  3. Rule Authorアプリケーションへのリンク(このリンクの名前は、Rule Authorアプリケーションを初めてデプロイしたときに定義されています)をクリックします。

  4. 「モジュール」表内のruleauthorリンクをクリックします。

  5. 「管理」タブをクリックします。

  6. 「マッピング」タスクで、「環境エントリ・マッピング」というラベルの行を検索し、「タスクに移動」列の対応するアイコンをクリックします。

  7. walletStorePathエントリの「デプロイ済の値」列にウォレットの場所を指定します。

  8. Rule Authorを再起動します。

ウォレットの場所は、「デプロイ・プランの編集」をクリックし、左側にあるナビゲーション・ツリーをenv-entryが表示されるまで開いて、Rule Authorをデプロイするときにも設定できます。env-entryを開き、walletStorePathを選択します。ウォレットの場所を指定した後は、Rule Authorを再起動してください。

B.2.3 WebDAVリポジトリ認証に対するRule Authorの構成

認証を要求するように構成されたWebDAVリポジトリに接続しようとするRule Authorは、認証リクエストに応答できる必要があります。リポジトリ認証に対してRule Authorを構成する手順は、次のとおりです。

  1. WebDAVリポジトリの適切なユーザー名とパスワードをOracleウォレットに格納します。

  2. プロキシ・サーバーにも認証が必要な場合は、そのプロキシ・サーバーのユーザー名とパスワードをOracleウォレットに格納します。

  3. Rule Author環境エントリを構成して、Oracleウォレットを指定します(B.2.2項「Oracleウォレットの場所の設定」を参照)。

  4. Rule Authorアプリケーションを再起動します。

B.2.4 OracleウォレットへのWebDAVリポジトリ認証に関するデータの格納

WebDAVリポジトリから受信した認証リクエストによって、次の情報が提供されます。

この情報は、認証用のユーザー名とパスワードを取得するキーの構築に使用されます。プロキシ・サーバーで認証が必要な場合は、複数の認証リクエスト(プロキシ・サーバーとWebDAVサーバーの各リクエスト)を処理できます。

リクエストがプロキシ認証用である場合、そのキーは「proxy-」から始まります。キーの後には、「-」で区切られたホスト名、ポートおよびレルムの各フィールドが順に続きます。最後に、ユーザー名には「-u」が、パスワードには「-p」がキーに追加されます。たとえば、次の内容を想定します。

この場合、プロキシ認証用のキーは、次のようになります。

WebDAV認証用のキーは、次のようになります。

ユーザー名とパスワードは、$ORACLE_HOMEbinディレクトリにあるmkstoreコマンドを使用して、Oracleウォレットに入力されます。Oracleウォレットの作成と変更には、そのウォレットの作成時に指定したパスワードが必要です。ただし、ウォレットは、ユーザー名とパスワードを参照する実行時にパスワードが要求されないように構築されています。したがって、この機密データを保護するためには、ファイル・システム権限を使用してアクセスを制限する必要があります。アクセス権の付与は、実行時のウォレットにアクセスする必要があるユーザーのみに限定する必要があります。デフォルトでは、mkstoreコマンドによって、権限が制限されたウォレットが作成されます。

次のコマンドでは、ウォレットが/walletsディレクトリに作成され、ユーザー名とパスワードが格納されます。この例のユーザー名とパスワードは、proxyUserproxyPasswordwebdavUserおよびwebdavPasswordです。

mkstore -wrl /wallets/rules_wallet -create
mkstore -wrl /wallets/rules_wallet -createEntry "proxy-wwwproxy.myco.com-80-Authorized Proxy Users Only-u" proxyUser
mkstore -wrl /wallets/rules_wallet -createEntry "proxy-wwwproxy.myco.com-80-Authorized Proxy Users Only-p" proxyPassword
mkstore -wrl /wallets/rules_wallet -createEntry "www.myco.com-80-Authorized WebDAV Users Only-u" webdavUser
mkstore -wrl /wallets/rules_wallet -createEntry "www.myco.com-80-Authorized WebDAV Users Only-p" webdavPassword

各コマンドでは、ウォレットのパスワード入力を求めるプロンプトが表示され、必要な場合は、そのウォレットのディレクトリ(rules_walletがディレクトリです)が作成されます。

次のコマンドでは、mkstoreコマンドの様々な機能をリストした使用方法のメッセージが出力されます。

mkstore -help

B.3 ファイル・リポジトリの使用

この項では、ファイル・リポジトリの設定と使用について説明します。

B.3.1 ファイル・リポジトリの設定

Oracle Business Rulesには、ディクショナリを含まない空のファイル・リポジトリが用意されています。このファイル・リポジトリは、emptyFileRepositoryという名前で、
$ORACLE_HOME/rules/libディレクトリ内にあります。

新規のファイル・リポジトリを設定するには、emptyFileRepositoryファイルをコピーして名前を変更します。次に、このファイル名と場所を「リポジトリ」タブにある「接続」ページで指定します(2.4.1項「Rule Authorリポジトリへの接続」を参照)。

新規のファイル・リポジトリを作成した後は、そのファイル・リポジトリに接続し、リポジトリ内にディクショナリを作成して保存できます。

選択されているリポジトリ・タイプが「ファイル」である場合に、「リポジトリ」タブにある「接続」ページで「作成」をクリックして新規のファイル・リポジトリを作成することもできます。既存のリポジトリ・パスを入力し、「作成」をクリックした場合、この作成は「接続」をクリックした場合のように動作し、既存のリポジトリに接続します。

B.3.2 ファイル・リポジトリの更新とテンポラリ・ファイル

SDKによって、RepositoryConnectionインタフェースが起動し、リポジトリのコンテンツが更新されると、次の操作が実行されます。

  1. テンポラリ・ファイルが作成され、更新されたコンテンツが格納されます。このテンポラリ・ファイルが必要な理由は、JARファイルのリライト処理で、現行リポジトリから未読エントリが読み込まれる場合があるためです。また、新規コンテンツの書込みに何か問題が起きた場合の安全対策にもなります。テンポラリ・ファイルは、File.createTempFileメソッドを使用して作成します。リポジトリの名前が3文字未満の場合は、「_tmp_」が追加されます。File.createTempFileメソッドでは、リポジトリの名前が3文字以上である必要があります。Sun JDKでは、名前に数字を追加しますが、他のJVM動作は異なる場合があります。このファイル名の拡張子は「.tmp」で、ファイルは既存のリポジトリと同じディレクトリに作成されます。要約すると、myRepositoryというリポジトリのテンポラリ・ファイル名はmyRepository65146.tmpになり、rrというリポジトリのテンポラリ・ファイル名はrr_tmp_65147.tmpになります。

  2. コンテンツがテンポラリ・ファイルに書き込まれます。

  3. 既存のリポジトリの名前は、既存のリポジトリ名に「_o_r_i_g_」とミリ秒単位の現行時間(UTC)が追加された名前に変更されます。

  4. テンポラリ・ファイルは、リポジトリの名前(myRepositoryなど)に変更されます。

  5. 名前が変更されたリポジトリ(前のコンテンツが含まれている)は削除されます。

このプロセスでエラーが発生した場合は、クリーン・アップが試みられます。以前に作成されたテンポラリ・ファイルが現在も存在する場合は、削除が試みられます。また、既存のリポジトリの名前が変更された場合は、元の名前の復元が試みられます。

テンポラリ・ファイルが残されている場合は、更新を試みる前にそのファイル・リポジトリが存在している必要があります。コンテンツの状態が不明なテンポラリ・ファイルは削除してください。

改名したリポジトリ・ファイルはあるが、元のリポジトリ・ファイルがすでにない場合、この改名したリポジトリ・ファイルには、更新前のコンテンツが含まれているため、手動で復元する必要があります(つまり、名前を変更するか、または改名したファイルをコピーして正しい名前に戻します)。

B.4 リポジトリの高可用性

構成した後のWebDAVリポジトリは、バックアップ・プロセスとリカバリ・プロセスの対象となるように、OracleAS Recovery Managerの構成に追加する必要があります。

OracleAS Recovery Managerの詳細は、『Oracle Application Server管理者ガイド』を参照してください。

関連項目:

Oracle Business Rulesおよび高可用性の詳細は、『Oracle Application Server高可用性ガイド』を参照してください。 


戻る 次へ
Oracle
Copyright © 2005, 2006, Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引