ヘッダーをスキップ
Oracle BPEL Process Manager 管理者ガイド
10g(10.1.3.1.0)
B31875-02
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

2 サービス構成

この章では、Oracle BPEL Process Managerサービスの構成手順について説明します。

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

2.1 IDサービスの構成

IDサービスは、Oracle Application Server 10gセキュリティ・インフラストラクチャ、つまりOracleAS JAAS Provider(JAZN)またはカスタム・ユーザー・リポジトリ上のシンWebサービス・レイヤーです。IDサービスを使用すると、ユーザーの認証と認可、ユーザー・プロパティ、ロール、グループ・メンバーシップおよび権限の参照が可能です。

次の項では、IDサービスを構成する方法について説明します。


関連項目:

レルム、ユーザーおよびグループの作成、サポートされているIDサービス・プロバイダ、およびユーザーとグループのプロパティの詳細は、『Oracle BPEL Process Manager開発者ガイド』を参照してください。

2.1.1 IDサービス構成ファイルの構成

IDサービス構成は、is_config.xmlファイルで定義されます。ファイルは、Oracle BPEL Process ManagerのCLASSPATHに含まれるディレクトリに配置されている必要があります。デフォルトでは、IDサービス構成は次の場所に格納されています。

SOA_Oracle_Home\bpel\system\services\config

is_config.xmlファイルのXMLスキーマは、次の場所に格納されています。

SOA_Oracle_Home\bpel\system\services\schema\is_config.xsd

図2-1は、ルート要素構成を表しており、複数の構成が含まれる場合もあります。

図2-1 ISConfigurationのルート構成

wf1.gifの説明が続きます
図wf1.gifの説明

IDサービス構成ファイル(is_config.xsdで定義されます)は、ルート要素ISConfigurationで構成され、このルート要素は複数の構成を持つこともあります。各構成には、realmName属性で名前を付ける必要があります。is_config.xmlで複数の構成が定義されている場合、1つの構成をデフォルトとしてマークする必要があります。

IDサービスは、JAZNプロバイダ、サード・パーティLDAPディレクトリまたはカスタム・リポジトリ・プラグインのいずれかのプラグイン・タイプをサポートしています。各タイプは、IDサービスで使用されるプロバイダを定義します。

構成ごとに1つ以上のプロバイダを指定できます。プロバイダは、可能なサービス(ID、認可または認証)の1つに必ず関連付けられます。特にサービス属性で指定されていない場合は、デフォルトでは、プロバイダはIDサービスを使用します。IDサービスに関連付けられた1つ以上のプロバイダを構成で定義する必要があります。

2.1.1.1 provider要素

provider要素はproviderTypeを指定します。これは、JAZNLDAPまたはCUSTOM、プロバイダ名(オプション)、プロバイダ固有のプロパティのいずれかです。

図2-2は、provider要素の構成を示しています。

図2-2 provider要素

wf104.gifの説明が続きます
図wf104.gifの説明


注意:

providerTypeがJAZNの場合、構成属性realmNameの値は、jazn.xmlで定義されている既存のJAZNレルムと一致している必要があります。

たとえば、JAZN XMLプロバイダの場合、providerType属性をJAZNに設定し、userPropertiesFile属性の値を指定する必要があります。userPropertiesFileの詳細は、「XMLベースのJAZNプロバイダの構成」を参照してください。

同様に、IDサービスへのカスタム・プラグインを使用する場合、providerType属性をCUSTOMに設定する必要があります。次に、カスタムIDサービス・プラグイン実装のクラス名を次のように指定します。

<?xml version = '1.0' encoding = 'UTF-8'?>
<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
   <configurations>
      <configuration realmName="jazn.com">
         <provider providerType="JAZN" name="xml" service="Identity">
            <property name="userPropertiesFile" value="users-properties.xml"/>
         </provider>
         <provider providerType="CUSTOM"
                   name="CustomPlugIn" service="Authentication"
                   class="package.name.CustomAuthenticationService" />
      </configuration>
   </configurations>
</ISConfiguration>
2.1.1.1.1 複数のサービス・プロバイダ

IDサービスは、複数のサービス・パラメータをサポートしています。前述のコード例では、1つの構成が2つのサービス・プロバイダで定義されています。構成には、デフォルトのIDサービスに関連付けられたJAZNプロバイダと、認証サービスに使用されるCUSTOMプロバイダがあります。したがって、ユーザー認証呼出しにはカスタム・プロバイダが使用され、すべての認可およびIDサービス照会にはJAZN XMLプロバイダが使用されます。


関連項目:

認証、認可およびIDサービス・プロバイダの詳細は、『Oracle BPEL Process Manager開発者ガイド』のOracle BPEL Process Managerワークフロー・サービスに関する項を参照してください。

2.1.1.1.2 オプション・パラメータ

プロバイダは、構成ファイルで次のオプション・パラメータを定義することもできます。これらのパラメータのほとんどは、JAZNベースまたはLDAPベースのプロバイダに適用されますが、カスタム・プロバイダで使用することもできます。

provider要素を使用すると、追加のproperty要素を指定して、カスタム・プラグインで使用できます。次に例を示します。

<?xml version = '1.0' encoding = 'UTF-8'?>
<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
   <configurations>
      <configuration realmName="jazn.com">
          <provider providerType="CUSTOM"
                   name="CustomPlugIn" service="Identity"
                   class="package.name.CustomIdentityService">
            <property name="customProperty" value="customValue" />
      </configuration>
   </configurations>
</ISConfiguration>

構成ファイルで他の要素(userControlssearchControlssearchなど)の一部としてproperty要素を定義することもできます。

2.1.1.2 connection要素

connection要素は、URL、Adminユーザー名(binddn- bind as this Distinguished name)、IDサービスで使用されるLDAPまたはRDBMS接続の資格証明(password)、およびパスワードがプレーン・テキストまたは暗号化されているかを指定するためのブール・フラグ(encrypted)を指定するために使用されます。IDサービスは、構成を読み取った後is_config.xmlファイルを上書きし、ファイルがプレーン・テキストの場合はユーザー・パスワードを暗号化します。図2-3は、connection構成の構造を示しています。

図2-3 connection構成

wf105.gifの説明が続きます
図wf105.gifの説明

connectionは、pool要素で次の属性を設定することで、接続プール・プロパティを指定できます。

  • initsize: 接続プールの初期サイズ

  • maxsize: 接続プールの最大サイズ

  • prefsize: プールの優先サイズ

  • timeout: アクティビティがない場合に接続が解放されるまでの時間(秒)

IDサービスのLDAPプラグインは、次のデフォルト値を使用します。

  • initsize="2"

  • maxsize="25"

  • prefsize="10"

  • timeout="60"

カスタムIDサービス・プラグインを使用している場合、名前と値のペアとしてその他の接続固有のプロパティを指定することもできます。

2.1.1.3 userControls要素とroleControls要素

userControls要素は、ユーザー・コントロールの定義、およびLDAPユーザー検索の制限に使用されます。図2-4は、userControls要素の構造を示しています。

図2-4 userControls要素

wf106.gifの説明が続きます
図wf106.gifの説明

roleControls要素は、ロール・コントロールの定義、およびLDAPロール検索の制限に使用されます。図2-5は、roleControls要素の構造を示しています。

図2-5 roleControls要素

wf107.gifの説明が続きます
図wf107.gifの説明

userControlsおよびroleControlsには、次のオプション属性を持つ検索要素を指定できます。

  • searchbase: LDAPエントリのリストで、ユーザー・コンテナまたはグループ・コンテナの識別名(DN)が表示されます。

  • scope: 検索レベルを決定します。値は、検索が指定したDNから1レベル下がるonelevel、または検索がDNからツリーの最下位レベルに階層を下るsubtreeになります。

  • maxSizeLimit: 検索操作中にLDAPから取得される要素の最大数です。

  • maxTimeLimit: LDAP検索から要素を取得するまでの最大待機時間です。

デフォルトでは、IDサービスのLDAPプロバイダで使用する値は、maxSizeLimit ="1000"maxTimeLimit ="120"(秒)およびscope="subtree"になります。

2.1.2 XMLベースのJAZNプロバイダの構成

Oracle BPEL Process Managerに付属するデフォルト・プロバイダはXMLベースのJAZNです。JAZN要素は次のように定義されます。

jazn provider="XML" location="./system-jazn-data.xml"/

この要素は次の場所にあります。

SOA_Oracle_Home\j2ee\home\config\jazn.xml

IDサービス構成ファイルは、userPropertiesFileプロパティを指定し、すべてのユーザー・プロパティが格納されるファイル名の値を指定する必要があります。

<?xml version = '1.0' encoding = 'UTF-8'?>
<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
   <configurations>
      <configuration realmName="jazn.com">
         <provider providerType="JAZN" name="xml" service="Identity">
            <property name="userPropertiesFile" value="users-properties.xml"/>
         </provider>
   </configurations>
</ISConfiguration>

users-properties.xmlファイルには、すべての拡張ユーザーのプロパティが格納されます。これは、JAZN認可または認証には不要です。ただし、BPEL IDサービスでは、ユーザーの連絡先の詳細および組織階層を取得するためにこのファイルが必要です。このファイルが作成されない場合、次の状況が発生する可能性があります。

  • 通知、マネージャ・ビュー、タスク・エスカレーションなど、特定のワークフロー機能が動作しない可能性があります。

  • BPMWorkflowAdminロールを持っていないすべてのユーザーに対して、ワークフロー・ルールを作成できなくなります。

  • グループのワークフロー・ルール定義が機能しない可能性があります。

デフォルトでは、IDサービスはOracle BPEL Process Managerクラスパスのusers-properties.xmlを検索します。Oracle Universal Installerにより、デフォルトのusers-properties.xmlは次の場所に格納されます。

SOA_Oracle_Home\bpel\system\services\config

users-properties.xmlのXMLスキーマは、次の場所に格納されます。

SOA_Oracle_Home\bpel\system\services\schema\IdentityService.xsd

注意:

JAZNレルム、ユーザーおよびロールとグループは、JAZN Admintoolで作成できます。ユーザーを指定されたレルムに追加するには、次のコマンドを発行します。

java -jar jazn.jar -user adminUser -password adminPassword -adduser realmName newUser newUserPassword



関連項目:

  • XMLベースのJAZNプロバイダを使用するために中間層を構成する方法、およびJAZN Admintoolの使用方法の詳細は、JAZNのドキュメントを参照してください。

  • IDサービス・ユーザーおよびロールの作成の詳細は、『Oracle BPEL Process Manager開発者ガイド』のOracle BPEL Process Managerワークフロー・サービスに関する項を参照してください。


2.1.3 10.1.2 Oracle Internet Directoryを使用したIdentity Service 10.1.3.1.0の構成

この項では、Oracle Internet Directory 10.1.2を使用してOracle BPEL Process Manager 10.1.3.1.0のIDサービスを構成する方法について説明します。

2.1.3.1 タスク1: 事前構成手順の実行


注意:

複数のOC4Jインスタンス(SOA_Oracle_Home/j2ee/homeおよびSOA_Oracle_Home/j2ee/oc4j_soaなど)が含まれる環境でOracle Internet Directoryを使用している場合、関連する<jazn>要素の構成セクションをhomeインスタンスのjazn.xmlファイルから他のすべてのインスタンスのjazn.xmlファイルに手動でコピーする必要があります。 具体的な手順については、『Oracle Containers for J2EEセキュリティ・ガイド』の「Oracle Identity Management」、Oracle Internet Directoryを関連付ける際の複数のOC4Jインスタンスの考慮に関する項を参照してください。

Oracle Application ServerインスタンスをOracle Internet Directoryに関連付けるには、次の手順を実行します。

  1. Oracle Enterprise Manager 10g Application Server Controlコンソールにログインします。

    http://hostname:port/em
    
    

    hostnameは、Oracle BPEL Process Managerがインストールされているホストの名前、portはOracle HTTP Serverポートです。

    「クラスタ・トポロジ」ページが表示されます。

  2. 「メンバー」セクションのOC4Jインスタンス名をクリックします。

    OC4J: oc4j_nameページが表示されます。

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

  4. 「タスク名」列の「セキュリティ」セクションに移動します。

  5. 「ID管理」「タスクに移動」列のアイコンをクリックします。

    is_em1.gifの説明が続きます
    図is_em1.gifの説明

    Oracle Internet DirectoryがOracle Application Serverインスタンスで構成されている場合、このページに詳細が表示されます。

  6. Oracle Internet Directoryがインスタンスに関連付けられているかどうかに応じて、次の項を参照してください。


    関連項目:

    Oracle Enterprise Manager 10g Application Server Controlコンソールの使用の詳細は、『Oracle Application Server管理者ガイド』を参照してください。

2.1.3.1.1 Oracle Internet DirectoryがOracle Application Serverインスタンスに関連付けられている場合

  1. 使用するOracle Internet Directoryインスタンスかどうかを確認するには、このページに表示される詳細を確認します。

  2. 手順3でアクセスしたOC4J: oc4j_nameページの「管理」タブに戻ります。

  3. 「セキュリティ」セクションに移動します。

  4. 「セキュリティ・プロバイダ」「タスクに移動」列のアイコンをクリックします。

    is_em2.gifの説明が続きます
    図is_em2.gifの説明

  5. 「アプリケーション名」セクションに移動します。

    orabpelアプリケーション(Oracle BPEL Process Managerの場合)およびhw_servicesアプリケーション(ヒューマン・ワークフローの場合)が表示されます。

    is_em3.gifの説明が続きます
    図is_em3.gifの説明

  6. orabpel「編集」列をクリックします。

    「セキュリティ・プロバイダ」ページが表示されます。

  7. 「セキュリティ・プロバイダの変更」をクリックします。

    「セキュリティ・プロバイダの変更」ページが表示されます。

  8. 「セキュリティ・プロバイダ・タイプ」リストから「Oracle Identity Managementセキュリティ・プロバイダ」を選択します。

  9. 「OK」をクリックします。

  10. hw_services(ヒューマン・ワークフロー)について、手順69を繰り返します。

2.1.3.1.2 Oracle Internet DirectoryがOracle Application Serverインスタンスに関連付けられていない場合

  1. 「構成」をクリックして、新しい関連を作成するか、「変更」をクリックして、別のOracle Internet DirectoryをOracle Application Serverインスタンスに関連付けます。

  2. 表示される質問に、適切なレスポンスを指定します。SSLを使用する場合は、Oracle Internet Directoryインスタンスの特定のSSLポート番号を指定します。SSLを使用しない場合は、Oracle Internet Directoryインスタンスの非SSLポートを指定します。

  3. 「次へ」をクリックします。

  4. Oracle Enterprise Manager 10g Application Server ControlコンソールをOracle Internet Directoryに関連付ける場合は、このページで適切な詳細を指定します。

  5. 「次へ」をクリックします。

  6. Oracle Internet Directoryをセキュリティ・プロバイダとして使用するには、orabpelおよびhw_servicesをクリックします。

  7. 「構成」をクリックします。

2.1.3.2 タスク2: 構成手順の実行

この項では、Oracle Internet Directoryへのユーザーのシード、IDサービスの構成、およびBPMロールへの権限の付与について説明します。


注意:

UNIXの場合、この例で使用されるパス名のデリミタは/です。Windowsの場合、パス名のデリミタは¥を想定しています。

  1. ORACLE_HOME環境変数が、構成するOracle Application Serverインスタンスのルート・ディレクトリに設定されていることを確認します。

  2. オペレーティング・システムのコマンド・プロンプトを開き、構成スクリプトが含まれる次のディレクトリに移動します。

    SOA_Oracle_Home/bpel/system/services/install/ant-tasks
    
    
  3. 必要なパラメータを指定して、configure_oid.bat(Windowsオペレーティング・システムの場合)またはconfigure_oid.sh(UNIXオペレーティング・システムの場合)を実行します。Linuxでスクリプトを実行する場合、bashシェルを使用することをお薦めします。たとえば、Linuxでこのスクリプトを実行するには、次のように指定します。

    sh ./configure_oid.sh oid_admin_user oid_admin_passwd
    oid_nonssl_port ssl_enabled oid_realm_name seedAllUsers | seedRequiredUsers
    oc4j_admin_user oc4j_admin_passwd oc4j_container_name
    
    

    次に例を示します。

    sh ./configure_oid.sh orcladmin welcome 389 false us seedAllUsers oc4jadmin
    welcome1 oc4j_soa
    
    

    このコマンドの実行により、内部的にSOA_Oracle_Home/bpel/system/services/config/is_config.xmlファイルが変更されます。ファイルの内容は次のようになります。

    <?xml version = '1.0' encoding = 'UTF-8'?>
    <ISConfiguration
    xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
            <configurations>
                <configuration realmName="us" displayName="us Realm">
                  <provider providerType="JAZN" name="OID">
                       <connection url="ldap://my.oid.com:389"
                        binddn="cn=orcladmin" password="passwd" encrypted="false"/>
                  </provider>
                </configuration>
            </configurations>
    </ISConfiguration>
    
    

    このコマンドにより、J2EE_Home/application-deployments/hw_services/orion-application.xmlファイルおよびJ2EE_Home/application-deployments/orabpel/orion-application.xmlファイルも変更され、Oracle Internet Directoryの詳細が記述子に追加されます。

    J2EE_Homeの内容は、次のとおりです。

    • Oracle Application Server SOAインストールの場合、SOA_Oracle_Home/j2ee/OC4J_Instance_Nameです。

    • Oracle BPEL Process Manager for OracleAS Middle Tierインストールの場合、SOA_Oracle_Home/bpel/system/appserver/oc4j/j2ee/OC4J_Instance_Nameです。

    ファイルの内容は次のようになります。

    <?xml version = '1.0'?>
    <orion-application
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation=
            "http://xmlns.oracle.com/oracleas/schema/orion-application-10_0.xsd"
          deployment-version="10.1.3.1.0"
          default-data-source="jdbc/OracleDS"
          component-classification="internal-BPEL"
          schema-major-version="10"
          schema-minor-version="0">
       . . .
       . . .
       . . .
       <jazn provider="LDAP" jaas-mode="doAsPrivileged"/>
       . . .
       . . .
       . . .</orion-application>
    
    

    configure_oidスクリプトにより、BPMSystemAdminロールおよびBPMDefaultDomainAdminロールに必要な権限が付与されます。

  4. オペレーティング・システム固有の問題が発生した場合は、次のようにします。

    1. OC4J_Homeが正しいディレクトリをポイントしていることを確認します。これは通常、SOA_Oracle_Home/j2ee/home(Oracle BPEL Process Manager for OracleAS Middle Tierインストールの場合)、およびSOA_Oracle_Home/bpel/ system/appserver/oc4j/j2ee/home(Oracle BPEL Process Manager for Developersインストールの場合)です。

    2. Ant_Homeが正しいディレクトリをポイントしていることを確認します。これは通常、SOA_Oracle_Home/ant(Oracle BPEL Process Manager for OracleAS Middle Tierインストールの場合)、およびSOA_Oracle_Home/bpel/ system/appserver/oc4j/ant(Oracle BPEL Process Manager for Developer'sインストールの場合)です。

    3. Java_Homeが正しいディレクトリをポイントしていることを確認します。これは通常、SOA_Oracle_Home/jdkです。

    4. PATH変数がAnt_Home/binおよびJava_Home/binをポイントしていることを確認します。

    5. 手順3ですべてのパラメータ値を正しく指定したかどうかを確認します。

    6. 次のコマンドを実行します(1行で折り返して入力します)。

      ant -f oid-config.xml -Doid.admin.user=oid_admin_user_name
      -Doid.admin.pwd=oid_admin_password
      -Doid.nonssl.port=non_ssl_port
      -Dssl.enabled=is_ssl_enabled
      -Doid.realm=oid_realm_name
      -Doid.seed=seedAllUsers | seedRequiredUsers
      -Doc4j.admin.user=oc4j_admin_user_name
      -Doc4j.admin.pwd=oc4j_admin_password
      -Doc4j.container=oc4j_container_name
      
      

      次に例を示します。

      ant -f oid-config.xml -Doid.admin.user=orcladmmin
      -Doid.admin.pwd=welcome1
      -Doid.nonssl.port=389 -Dssl.enabled=false
      -Doid.realm=us -Doid.seed=seedAllUsers
      -Doc4j.admin.user=oc4jadmin -Doc4j.admin.pwd=welcome1
      –Doc4j.container=oc4j_soa
      
      

      注意:

      ユーザー名にcn=orcladmin、レルムにdc=us,dc=oracle,dc=comを指定しないでください。orcladminおよびusを使用します。

      指定するパラメータは、次のように定義されます。

      パラメータ
      oid.admin.user Oracle Internet Directoryインスタンスで管理権限を持つユーザー。通常はorcladmin
      oid.admin.pwd Oracle Internet Directoryの管理ユーザーに指定されたユーザーのパスワード。
      oid.nonssl.port Oracle Internet Directoryインスタンスの非SSLポート。Oracle Internet Directoryインスタンスは、SSLポートと非SSLポートの両方で実行されている必要がある。
      ssl.enabled 次のいずれかの値を設定する。
      • true: SSLを有効にしてIDサービスを実行する。JAZNもSSLを有効にして構成する必要がある。

      • false: SSLを有効にしてIDサービスを実行しない。

      oid.realm Oracle Internet Directoryで動作するレルム。
      oid.seed 次の値のいずれかを設定する。
      • seedAllUsers: デモ・ユーザーをOracle Internet Directoryにシードする。

      • seedRequiredUsers: 適切に機能するために必要なユーザーのみをシードする。

      oc4j.admin.user Oracle Application Server OC4Jインスタンスで管理権限を持つユーザー。通常はoc4jadmin
      oc4j.admin.pwd OC4Jの管理ユーザーに指定されたユーザーのパスワード。
      oc4j.container hw_servicesアプリケーション(ヒューマン・ワークフローの場合)およびorabpelアプリケーション(Oracle BPEL Process Managerの場合)がデプロイされるコンテナ名。これらの名前を検索するには、SOA_Oracle_Home/j2eeに移動し、次のディレクトリを検索します。
      • SOA_Oracle_Home/j2ee/oc4j_home/application-deployments/orabpel

      • SOA_Oracle_Home/j2ee/oc4j_home/application-deployments/hw_services


2.1.3.3 ステップ3: Oracle Internet Directory構成のテスト

Oracle Internet Directory構成をテストするには、複数の方法があります。

  • http://localhost:9700/integration/services/IdentityService/identity?operation=lookupUser.に移動してユーザーおよびロールを参照するには、IdentityServiceサーブレットを使用します。

    ユーザーが正しくシードされているかどうかを確認するには、bpeladminユーザー名を使用してテストします。

  • http://localhost:9700/integration/worklistapp/LoginのOracle BPEL Worklist Applicationに移動し、ユーザー名としてbpeladmin、パスワードとしてwelcome1を入力して、接続できるかどうかを確認します。

2.1.3.4 タスク4: Secure Socket Layer(SSL)を使用してLDAPベースのJAZNプロバイダを使用するための中間層の構成

Oracle Internet Directoryと通信する場合、NULL認証が必要です。NULL認証では、Anonymous Diffie-Hellman暗号スイートを使用してデータが暗号化されますが、認証では証明書は使用されません。

NULL認証を使用するには、jazn.xml<jazn>要素およびis_config.xml<connection>要素に<property>要素を追加して、プロトコルを指定します。NULL認証は証明書を使用しないため、ウォレットの場所またはパスワードを指定する必要はありません。

次のproperty要素をjazn.xmlに追加します(太字で示しています)。

<jazn provider="LDAP" location="ldap://example.com:636" default-realm="us">
    <property name="ldap.user" value="cn=orcladmin"/>
    <property name="ldap.password" value="!welcome1"/>
    <property name="ldap.protocol" value="ssl"/>
</jazn>


関連項目:

JAZN構成の詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。

2.1.3.5 トラブルシューティング

Oracle BPEL Worklist ApplicationまたはOracle BPEL Controlにログインできない場合は、前述の手順が正しく実行されているかどうかを確認してください。問題が解決しない場合は、次の手順を実行します。

  1. スクリプトが正常に完了していないと思われる場合は、構成手順を再実行します。

  2. SOA_Oracle_Home/j2ee/home/application-deployments/hw_servicesに移動します。

  3. orion-application.xmlをテキスト・エディタで開きます。

  4. JAZNプロバイダ構成のjaas-mode属性がdoAsPrivilegedに設定されていることを確認します。次に例を示します。

    <jazn provider="LDAP" jaas-mode="doAsPrivileged"/>
    
    
  5. SOA_Oracle_Home/j2ee/home/application-deployments/orabpel/orion-application.xmlについて、この手順を繰り返します。

2.1.3.6 Oracle Internet DirectoryからXMLベースのJAZNプロバイダへの回復

IDサービス・プロバイダとしてOracle Internet DirectoryからXMLベースのJAZNに回復する必要がある場合は、次の手順を実行します。

  1. Oracle Enterprise Manager 10g Application Server Controlコンソールにログインします。

    http://hostname:port/em
    
    

    hostnameは、Oracle BPEL Process Managerがインストールされているホストの名前、portはOracle HTTP Serverポートです。

    「クラスタ・トポロジ」ページが表示されます。

  2. 「メンバー」セクションのOC4Jインスタンス名をクリックします。

    OC4J: oc4j_nameページが表示されます。

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

  4. 「タスク名」列の「セキュリティ」セクションに移動します。

  5. 「セキュリティ・プロバイダ」「タスクに移動」列のアイコンをクリックします。

  6. 「アプリケーション名」セクションに移動します。

    orabpelアプリケーション(Oracle BPEL Process Managerの場合)およびhw_servicesアプリケーション(ヒューマン・ワークフローの場合)が表示されます。

  7. orabpel「編集」列をクリックします。

    「セキュリティ・プロバイダ」ページが表示されます。

  8. 「セキュリティ・プロバイダの変更」をクリックします。

    「セキュリティ・プロバイダの変更」ページが表示されます。

  9. 「セキュリティ・プロバイダ・タイプ」リストから「ファイルベースのセキュリティ・プロバイダ」を選択します。

  10. 「OK」をクリックします。

  11. hw_servicesについて、手順710を繰り返します。

  12. Oracle Enterprise Manager 10g Application Server Controlコンソールからログアウトします。

  13. SOA_Oracle_home/bpel/system/services/configディレクトリに移動します。

  14. is_config.xmlを削除します。

  15. is_config.xml.BPMis_config.xmlに変更します。

  16. 「タスク4: Secure Socket Layer(SSL)を使用してLDAPベースのJAZNプロバイダを使用するための中間層の構成」で、SSLを使用するようにOracle Internet Directoryを構成した場合は、jazn.xmlファイルの次の行を変更します。

    <property name="ldap.protocol" value="ssl"/>
    
    

    次のように変更します。

    <property name="ldap.protocol" value="no-ssl"/>
    
    
  17. 変更を有効にするために、Oracle Application Serverインスタンスを再起動します。

    SOA_Oracle_Home/opmn/bin> opmnctl stopall
    SOA_Oracle_Home/opmn/bin> opmnctl startall
    

2.1.4 サード・パーティのLDAP Serverの構成

サード・パーティのLDAPサーバーを使用する場合、次の考慮事項に注意してください。Active Directoryの構成は若干異なります。この違いについても説明します。


注意:

この項では、Windows 2003のActive Directory構成についてのみ説明します。これは、Windows 2000ではネストされたセキュリティ・グループが許可されないためです。

  1. 次の標準objectClassesを使用するように、サード・パーティのLDAPサーバーを構成する必要があります。

    Active Directoryの場合 その他のサード・パーティのLDAPサーバーの場合
    top top
    person person
    organizationalPerson organizationalPerson
    user inetOrgPerson
    group groupOfUniqueNames

    通常、LDAPサーバーは、cnfirstnamelastnameおよびemail属性に基づいて、検索可能な属性のリストを事前に定義します。検索可能な属性をカスタマイズできます。inetOrgPerson objectClassのユーザー・マネージャ属性は、ワークフロー・エスカレーションを許可するために検索可能である必要があります。検索可能な属性の設定方法については、使用しているサード・パーティのLDAPサーバーのドキュメントを参照してください。

    推奨される検索可能な属性のリストは、cnsngivenNameuidmanagertitlemailおよびtelephoneNumberです。

  2. Oracle BPEL Process ManagerユーザーおよびロールをLDAPサーバーにシードする場合、ユーザーおよびグループのコンテナはLDAPで作成されると想定されます。システムldifファイルおよびデモldifファイル(オプション)を作成するには、次の場所にあるテンプレート・ファイルを開きます。

    SOA_Oracle_Home\bpel\system\services\config\ldap
    
    
    Active Directoryの場合 その他のサード・パーティのLDAPサーバーの場合
    system-winServer2003-ActDir.sbs system-ldap.sbs
    demo-winServer2003-ActDir.sbs demo-ldap.sbs
    demo-roleGrants-winServer2003-ActDir.sbs

    次の例に示すように、置換変数を適切な値に置き換えます。実際に入力する値は、ドメインによって異なります。

    LDAPサーバー 置換変数 入力する値
    Active Directory %s_UserContainerDN% cn=Users,dc=us,dc=oracle,dc=com

    %s_GroupContainerDN% cn=Users,dc=us,dc=oracle,dc=com
    その他のサード・パーティのLDAPサーバー %s_UserCommonNamingAttribute% cn

    %s_UserContainerDN% ou=People,dc=ldapus,dc=acmeoracle,dc=com

    %s_GroupContainerDN% ou=Groups,dc=usldap,dc=acmeoracle,dc=com

    内容

    • %s_UserContainerDN%は、すべてのユーザーが追加されるエントリのDN値を含みます。ユーザー・コンテナは、次のとおりです。

      • dn: cn=Users,dc=us,dc=oracle,dc=comは、Active Directoryのこの例で使用されます。

      • dn: ou=People,dc=usldap,dc=acmeoracle,dc=comは、その他のサード・パーティのLDAPサーバーのこの例で使用されます。

    • %s_GroupContainerDN%は、すべてのパブリック・グループが追加されるエントリのDN値を含みます。グループのコンテナは、次のとおりです。

      • dn: cn=Users,dc=us,dc=oracle,dc=comは、Active Directoryのこの例で使用されます。

      • dn: ou=Groups,dc=ldapus,dc=acmeoracle,dc=comは、その他のサード・パーティのLDAPサーバーのこの例で使用されます。

    • %s_UserCommonNamingAttribute%は、ユーザーのDNの構成に使用される値を含みます。その他のサード・パーティのLDAPサーバーのこの例では、cn値が使用されます。%s_UserCommonNamingAttribute%および値は、Active Directoryには適用できません。

    サード・パーティのLDAPサーバーのタイプに基づいて、次の手順を実行します。

    • Active Directoryの場合:

      Windows 2003のDOSコマンド・プロンプトで、次のコマンドを実行します。

      ldifde.exe -i -k -f system-winServer2003-ActDir.ldif
      ldifde.exe -i -k -f demo-winServer2003-ActDir.ldif
      ldifde.exe -i -k -f demo-roleGrants-winServer2003-ActDir.ldif
      
      

      Active Directoryのldifde.exeのすべての一括インポート・オプションの詳細は、次のMicrosoft Active Directoryドキュメントを参照してください。

      http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies
      /directory/activedirectory/stepbystep/adbulk.mspx#ECAA
      
      

      システム管理者は、すべてのシード済ユーザーのパスワードを設定する必要があります。設定しない場合、そのユーザーのワークリスト・アプリケーション認証は機能しません。

    • その他のサード・パーティのLDAPサーバーの場合:

      変更をsystem-ldap.ldifファイルおよびdemo-ldap.ldifファイルに保存します。次に、ldapaddユーティリティを使用して、system-ldap.ldifファイルをLDAPサーバーにロードします。オプションで、ldapmodifyユーティリティを使用してdemo-ldap.ldifをロードします。

      次に例を示します。

      $ldapadd -c -h ldap.acme.com -p 389 -D "cn=admin" -w welcome -f system-oid.ldif
      $ldapmodify -c -h ldap.acme.com -p 389 -D "cn=admin" -w welcome -f demo-oid.ldif
      
      

      ldapaddコマンドおよびldapmodifyコマンドの詳細は、使用しているサード・パーティのLDAPサーバーのドキュメントを参照してください。

  3. IDサービスのサード・パーティのLDAPプロバイダは、IDサービス構成ファイルでconnectionuserControlsおよびroleControls要素を指定する必要があります。

    IDサービスのサード・パーティのLDAPプロバイダ実装により、構成する必要があるユーザー検索プロパティのセットが定義されます。

    • nameattribute: ユーザーの名前を一意に識別するLDAP属性の名前です。Sun Directory Serverではuid、Active Directoryではuserです。

    • objectClass: ユーザーを表すために使用されるLDAPスキーマ・オブジェクト・クラスです。Sun Directory ServerではinetOrgPersonです。

    ロール検索プロパティのセットが次のように定義されます。

    • nameattribute: ロールの名前を一意に識別するLDAP属性の名前です。Sun Directory ServerではuniqueMember、Active Directoryではmemberです。

    • objectclass: グループを表すために使用されるLDAPスキーマ・オブジェクト・クラスです。Sun Directory ServerではgroupOfUniqueNamesです。Active Directoryではgroupです。

    • membershipsearchscope: ロール・メンバーシップを検索するためのLDAPディレクトリ・ツリーの深さを指定します。サポートされる値は、onelevelまたはsubtreeです。

    • memberattribute: グループのメンバーの識別名(DN)を指定する静的LDAPグループ・オブジェクトの属性です。Sun Directory ServerではuniqueMember、Active Directoryではmemberです。

userControlsおよびroleControlは、searchbase属性を使用して検索要素を定義する必要があります。

userControls検索要素のsearchbase属性は、ユーザーを含むLDAPディレクトリのDNの空白で区切ったリストです。たとえば、cn=users,dc=us,dc=oracle.com,dc=comのようになります。

roleControls検索要素のsearchbase属性は、ロールを含むLDAPディレクトリのDNの空白で区切ったリストです。たとえば、cn=Groups,dc=us,dc=oracle,dc=comのようになります。

2つのレルムLDAPサーバー構成の例を次に示します。

<?xml version = '1.0' encoding = 'UTF-8'?>
<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
   <configurations>
    <configuration realmName="us" default="true">
         <provider providerType="LDAP" name="iPlanet" service="Identity">
            <connection url="ldap://host:port"
         binddn="uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot"
         password="welcome1" encrypted="false">
               <pool initsize="2" maxsize="25" prefsize="10" timeout="60"/>
            </connection>
            <userControls>
               <property name="nameattribute" value="uid"/>
               <property name="objectclass" value="inetOrgPerson"/>
               <search searchbase="ou=People, dc=us,dc=oracle,dc=com "
                       scope="obelevel" maxSizeLimit="1000" maxTimeLimit="120"/>
            </userControls>
            <roleControls>
               <property name="nameattribute" value="cn"/>
               <property name="objectclass" value="groupOfUniqueNames"/>
               <property name="membershipsearchscope" value="onelevel"/>
               <property name="memberattribute" value="uniquemember"/>
               <search searchbase="ou=Groups,dc=us,dc=oracle,dc=com"
                       scope="onelevel" maxSizeLimit="1000" maxTimeLimit="120"/>
            </roleControls>
         </provider>
      </configuration>
      <configuration realmName="idc">
           <provider providerType="LDAP" name="openLDAP">
              <connection url="ldap://host:port"
                 binddn="cn=Manager,dc=oracle,dc=com"
                 password="welcome1" encrypted="true">
                <pool initsize="2" maxsize="25" prefsize="10" timeout="300000"/>
              </connection>
              <userControls>
                 <property name="nameattribute" value="uid"/>
                 <property name="objectclass" value="inetOrgPerson"/>
                 <search searchbase="ou=People,dc=idc,dc=oracle,dc=com"
                         scope="onelevel" maxSizeLimit="1000"
                         maxTimeLimit="120000"/>
              </userControls>
              <roleControls>
                 <property name="nameattribute" value="cn"/>
                 <property name="objectclass" value="groupOfUniqueNames"/>
                 <property name="membershipsearchscope" value="onelevel"/>
                 <property name="memberattribute" value="uniquemember"/>
                 <search searchbase="ou=Groups,dc=idc,dc=oracle,dc=com"
                         scope="onelevel" maxSizeLimit="1000"
                         maxTimeLimit="120000"/>
              </roleControls>
           </provider>
        </configuration>
     </configurations>
</ISConfiguration>

Microsoft Active Directoryの場合の例を次に示します。

<?xml version = '1.0' encoding = 'UTF-8'?>
<ISConfiguration xmlns="http://www.oracle.com/pcbpel/identityservice/isconfig">
  <configurations>
     <configuration realmName="AD" >
       <provider providerType="LDAP" name="Active Directory" service="Identity">
          <connection url="ldap://host:port"
             binddn="cn=administrator,cn=Users,dc=us,dc=oracle,dc=com"
             password="welcome1" encrypted="true">
             <pool initsize="2" maxsize="25" prefsize="10" timeout="300000"/>
          </connection>
          <userControls>
             <property name="nameattribute" value="sAMAccountName"/>
             <property name="objectclass" value="user"/>
             <search searchbase="cn=Users,dc=us,dc=oracle,dc=com"
                     scope="subtree" maxSizeLimit="1000" maxTimeLimit="120000"/>
          </userControls>
          <roleControls>
             <property name="nameattribute" value="cn"/>
             <property name="objectclass" value="group"/>
             <property name="membershipsearchscope" value="onelevel"/>
             <property name="memberattribute" value="member"/>
             <search searchbase="cn=Users,dc=us,dc=oracle,dc=com"
                     scope="subtree" maxSizeLimit="1000" maxTimeLimit="120000"/>
          </roleControls>
       </provider>
     </configuration>
  </configurations>
</ISConfiguration>

2.1.5 カスタムIDリポジトリ・プラグインの構成

次の例は、構成プロパティを使用してカスタム・プラグインを構成する方法を示しています。この例では、CustomIdentityServiceクラスは、カスタム・リポジトリ・プラグインを表示するために使用されます。このクラスは、BPMIdentityServiceインタフェースを実装します。

<?xml version =3D '1.0' encoding =3D 'UTF-8'?>
<ISConfiguration=xmlns=3D"http://www.oracle.com/pcbpel/identityservice/isconfig">
   <configurations>
      <configuration realmName=3D"default">
        <provider providerType=3D"CUSTOM" name=3D"DBProvider" class=3D =
         "is.custom.plugin.CustomIdentityService">
        <connection url=3D"jdbc:polite4@host:1531:orabpel" >
            <property name=3D"driver" =value=3D"oracle.lite.poljdbc.POLJDBCDriver"/>
            <property name=3D"user" value=3D"system"/>
            <property name=3D"password" value=3D"manager"/>
         </connection>
        </provider>
      </configuration>
   </configurations>
</ISConfiguration>

前述の例では、構成はis.custom.plugin.CustomIdentityServiceクラスで実装されるDBProviderというプロバイダを定義します。プロバイダは、driver、userおよびpasswordのカスタム接続プロパティを使用します。

既存のプロバイダ・プロパティ以外に、構成ファイルのproviderconnectionuserControlsroleControlsおよびsearch要素に追加できるカスタム・プロパティ要素を定義して、プロバイダ定義を拡張できます。

2.1.6 グループ所有権の設定

グループのワークフロー・ルールは、グループ所有者であるユーザーまたはBPMWorkflowAdminロールを持つユーザーが作成および更新できます。このユーザーは、グループを直接または間接的に所有できます。ユーザーが、ロールまたはグループを所有する別のロールまたはグループの権限受領者である場合、ユーザーはグループまたはロールを間接的に所有します。

2.1.6.1 JAZN XMLベースのプロバイダのグループ所有権の定義

グループ所有権は、groupObject<owners>要素のSOA_Oracle_Home¥bpel¥system¥services¥config¥users-properties.xmlファイルに格納される拡張ロール・プロパティです。

所有者はユーザー、アプリケーション・ロールまたはグループのいずれかです。<owners>要素の値には、カンマで区切った複数の所有者を指定できます。次に例を示します。

<groupObject>
        <name>LoanAgentGroup</name>
        <email>user1@dlsun4254.us.oracle.com</email>
        <owners>fkafka, jcooper, BPMAnalyst</owners>
</groupObject>

2.1.6.2 JAZN Oracle Internet DirectoryベースおよびLDAPベースのプロバイダのグループ所有権の定義

グループ所有権は、owner属性によって定義されます。Oracle Internet Directoryでグループの所有者を作成するには、Oracle Delegated Administration Servicesを使用する必要があります。サード・パーティのLDAPサーバーの場合、サーバーのツールまたはldapmodifyユーティリティを使用して、値をグループのowner属性に設定します。所有者の属性名は、is_config.xml IDサービス構成ファイルのroleControlsのプロパティ要素で上書きできます。

<property name="roleOwnerAtribute"
  value="customOnwerAttribute" />

2.2 通知サービスの構成

Oracle BPEL Process Managerの通知サービスを使用すると、様々なチャネルを使用してBPELプロセスから通知を送信できます。Oracle BPEL Process Managerは、電子メール、ボイス・メッセージ、Fax、ポケットベルまたはショート・メッセージ・サービス(SMS)によってこれらの通知を配信できます。Oracle JDeveloperで通知チャネルを構成する以外に、追加の構成手順も実行する必要があります。

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


関連項目:

Oracle JDeveloperでの通知チャネルの構成については、『Oracle BPEL Process Manager開発者ガイド』を参照してください。

2.2.1 電子メール・サーバーの構成

ディレクトリSOA_Oracle_Home¥bpel¥system¥services¥configのファイルns_emails.xmlには、電子メール・アカウントの構成が含まれています。各EmailAccount要素により、特定の電子メール・アカウントの構成が設定されます。EmailAccount要素のname属性は、アカウントの名前です。

デフォルトの電子メール・アカウントは、電子メール構成ファイルで指定されます。このアカウントは、電子メール通知を送信するためのアカウントが指定されていない場合に使用されます。このアカウントは、タスク関連の通知を送信する場合にも使用されます。デフォルトの電子メール・アカウントは、構成ファイルで必ず指定する必要があります。

EmailAccount要素には、OutgoingServerSettingsおよびIncomingServerSettings属性が含まれています。ワークフローのアクション可能な通知の場合、IncomingServerSettingsOutgoingServerSettingsの両方が必要です。

表2-1は、ns_emails.xmlファイルに格納される電子メール通知構成のXML要素を示しています。

表2-1 電子メール通知構成ファイルのXML要素

名前 説明
EmailAccount/Name
アカウントの名前。任意の名前を使用できるが、このサーバー内で一意にする必要がある。
EmailAccount/GeneralSettings/FromName
From電子メール・アドレスの名前
EmailAccount/GeneralSettings/FromAddress
From電子メール・アドレスの電子メール・アドレス
EmailAccount/OutgoingServerSettings/SMTPHost
発信SMTPサーバーの名前
EmailAccount/OutgoingServerSettings/SMTPPort
発信SMTPサーバーのポート
EmailAccount/OutgoingServerSettings/AuthenticationRequired SMTPサーバーに認証が必要であることを指定するオプション要素
EmailAccount/OutgoingServerSettings/UserName SMTPアカウントのユーザー名を指定するオプション要素
EmailAccount/OutgoingServerSettings/Password SMTPアカウントのパスワードを指定するオプション要素
EmailAccount/OutgoingServerSettings/Password[encrypted] パスワードの暗号化された属性。パスワードを暗号化する場合はtrue、暗号化しない場合はfalseを指定する。 通常、パスワードを初めて入力するときは、これをfalseに設定する。サーバーが初めて構成ファイルを読み取り、属性をtrueに設定したときに、パスワードが自動的に暗号化される。
EmailAccount/IncomingServerSettings/Server
受信電子メール・サーバーの名前
EmailAccount/IncomingServerSettings/Port
受信電子メール・サーバーのポート
EmailAccount/IncomingServerSettings/UserName
電子メール・アドレスのユーザーID
EmailAccount/IncomingServerSettings/Password
ユーザー・パスワード
EmailAccount/IncomingServerSettings/Password[encrypted
パスワードの暗号化された属性。パスワードを暗号化する場合はtrue、暗号化しない場合はfalseを指定する。通常、パスワードを初めて入力するときは、これをfalseに設定する必要がある。サーバーが初めて構成ファイルを読み取り、属性をtrueに設定したときに、パスワードが自動的に暗号化される。
EmailAccount/IncomingServerSettings/UseSSL
Secure Sockets Layer(SSL)属性。受信サーバーにSSLが必要な場合はtrue、SSLが不要な場合はfalseを指定する。
EmailAccount/IncomingServerSettings/Folder
受信メッセージを読み取るフォルダの名前
EmailAccount/IncomingServerSettings/PollingFrequency
受信メッセージ・フォルダからメッセージを読み取るポーリング間隔
EmailMimeCharset アドレスおよび件名から電子メールをエンコードするために使用されるMIMEキャラクタ・セット
NotificationMode 通知サービスの通知モード。電子メールおよびその他のチャネルの通知サービスを構成した後、通知モードはALLまたはEMAILに設定されると考えられる。デフォルトでは、この値はNONEに設定されるため、通知は送信されない。この属性の可能な値を次に示す。
  • ALL: 電子メール、SMS、音声、Faxおよびポケットベルの各チャネルが構成され、任意のチャネルを介して通知が送信される。

  • EMAIL: 通知メッセージを送信するために、電子メール・チャネルのみが構成される。

  • NONE: 通知メッセージを送信するためのチャネルは構成されない。これはデフォルト設定である。


2.2.1.1 ns_emails.xmlファイルの例

<EmailAccounts
xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
               EmailMimeCharset=""
               NotificationMode="NONE">
   <EmailAccount>
      <Name>Default</Name>
      <GeneralSettings>
         <FromName>Oracle BPM</FromName>
         <FromAddress>accountId@yourdomain.com</FromAddress>
      </GeneralSettings>
      <OutgoingServerSettings>
         <SMTPHost>yourdomain.com</SMTPHost>
         <SMTPPort>25</SMTPPort>
          <AuthenticationRequired>true</AuthenticationRequired>
          <UserName>userId</UserName>
          <Password encrypted="false"
             xmlns:ns0="http://xmlns.oracle.com/ias/pcbpel/NotificationService">
             password</Password>      </OutgoingServerSettings>
      <IncomingServerSettings>
         <Server>yourdomain.com</Server>
         <Port>110</Port>
         <Protocol>pop3</Protocol>
         <UserName>accountId</UserName>
         <Password ns0:encrypted="false"
            xmlns:ns0="http://xmlns.oracle.com/ias/pcbpel/NotificationService">
            password</Password>
         <UseSSL>false</UseSSL>
         <Folder>Inbox</Folder>
         <PollingFrequency>1</PollingFrequency>
         <PostReadOperation>
            <MarkAsRead/>
         </PostReadOperation>
      </IncomingServerSettings>
   </EmailAccount>
</EmailAccounts>

2.2.2 音声のワイヤレス・プロバイダの構成

ワイヤレス・サービス・プロバイダの構成は、XMLファイルns_iaswconfig.xmlに格納されます。ファイルの場所は次のとおりです。

SOA_Oracle_Home\bpel\system\services\config

表2-2は、SOA_Oracle_Homeサーバー上のns_iaswconfig.xmlに格納される音声通知構成のXML要素を示しています。

表2-2 音声通知構成ファイルのXML要素

名前 説明
/IASWConfiguration/SoapURL
ワイヤレス・サービス・プロバイダのURL
/IASWConfiguration/UserName
ワイヤレス・サービス・プロバイダを使用するユーザー・アカウントの名前
/IASWConfiguration/Password
ユーザー・パスワード
/IASWConfiguration/Password[encrypted
パスワードの暗号化された属性。パスワードを暗号化する場合はtrue、暗号化しない場合はfalseを指定する。通常、パスワードを初めて入力するときは、これをfalseに設定する必要がある。サーバーが初めて構成ファイルを読み取り、属性をtrueに設定したときに、パスワードが自動的に暗号化される。
/IASWConfiguration/ProxyHost
プロキシ・サーバーの名前
/IASWConfiguration/ProxyPort
プロキシ・サーバーのポート番号


注意:

ユーザー名およびパスワードは、インストール時には計画的に空白になっています。ユーザー名またはパスワードが指定されていない場合、ワイヤレス・サーバーは特定のIPアドレスから最大50個の通知を許可します。50個の通知が送信された後、次の場所から有料アカウントを取得する必要があります。

http://messenger.oracle.com

次に、構成ファイルns_iaswconfig.xml、またはOracle Enterprise Manager 10g Application Server Controlコンソールを使用して、適切なユーザー名とパスワードを指定します。


2.2.2.1 ns_iaswconfig.xmlファイルの例

<?xml version = '1.0' encoding = 'UTF-8'?>
<!--This XML file stores the details of the IAS Wireless Notification Service-->
<IASWConfiguration xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService">
  <!-- URL to the SOAP Service -->
  <SoapURL>http://messenger.oracle.com/xms/webservices</SoapURL>

  <!-- UserName - this username should exist in iAS Wireless schema -->
  <UserName>username</UserName>

  <Password ns0:encrypted="false"
xmlns:ns0="http://xmlns.oracle.com/ias/pcbpel/NotificationService">password
</Password>
</IASWConfiguration>

2.2.3 SMSのワイヤレス・プロバイダの構成

音声通知チャネルと同様に、SMSのワイヤレス・サービス・プロバイダの構成は、XMLファイルns_iaswconfig.xmlに格納されます。ファイルの場所は次のとおりです。

SOA_Oracle_Home\bpel\system\services\config

SMSのワイヤレス・サービス・プロバイダを構成するには、「音声のワイヤレス・プロバイダの構成」を参照してください。

2.2.4 Faxのワイヤレス・プロバイダの構成

音声通知チャネルと同様に、Faxのワイヤレス・サービス・プロバイダの構成は、XMLファイルns_iaswconfig.xmlに格納されます。ファイルの場所は次のとおりです。

SOA_Oracle_Home\bpel\system\services\config

Faxのワイヤレス・サービス・プロバイダを構成するには、「音声のワイヤレス・プロバイダの構成」を参照してください。このリリースのFaxプロバイダの構成には、Oracle Enterprise Manager 10g Application Server Controlコンソールを使用することはできません。

2.2.4.1 Fax送付状の構成

Faxの送付状を追加するには、SOA_Oracle_Home¥bpel¥system¥services¥config¥ns_faxcoverpages.xmlを編集する必要があります。送付状の名前を使用して、Faxメッセージの送付状を指定します。

<FaxCoverPages xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService">
  <FaxCoverPage>
     <Name>legal</Name>
     <MimeType>application/pdf</MimeType>
<FileLocation>C:\orabpel\bpel\runtime\config\faxcoverpages\003288.pdf</FileLocation>
  </FaxCoverPage>
</FaxCoverPages>

2.2.5 ポケットベルのワイヤレス・プロバイダの構成

音声通知チャネルと同様に、ポケットベルのワイヤレス・サービス・プロバイダの構成は、XMLファイルns_iaswconfig.xmlに格納されます。ファイルの場所は次のとおりです。

SOA_Oracle_Home\bpel\system\services\config

ポケットベルのワイヤレス・サービス・プロバイダを構成するには、「音声のワイヤレス・プロバイダの構成」を参照してください。このリリースのポケットベル・プロバイダの構成には、Oracle Enterprise Manager 10g Application Server Controlコンソールを使用することはできません。

2.2.6 プラッガブル通知サービスの構成

デフォルトの通知サービス・プロバイダのかわりに、カスタム通知サービスの実装をプラグインおよび使用できます。すべてのチャネル、または選択された特定のチャネルに対してカスタム通知サービスをプラグインできます。たとえば、通知サービスは、デフォルトのSMS通知サービスのかわりに、既存のSMS実装をプラグインする機能を提供します。

2.2.6.1 プラッガブル通知サービスの実装

通知サービスをプラグインするには、oracle.tip.pc.services.notification.ICustomNotificationServiceインタフェースを実装します。このインタフェースには、次のチャネルのメソッドがあります。

  • 電子メール

  • 音声

  • Fax

  • SMS

  • インスタント・メッセージング(IM)

  • ポケットベル

プラグイン通知サービスは、1つ以上のチャネルのデフォルト・プロバイダをオーバーライドできます。カスタム通知サービスがチャネルのサブセットのデフォルト実装をオーバーライドする場合、他のチャネル(オーバーライドされないチャネル)に対応するメソッドは、通知サービスでは呼び出されません。そのメソッドはNULLを戻すのみです。実装により、抽象クラスoracle.tip.pc.services.notification.AbstractCustomNotificationServiceImplを拡張することもできます。このクラスは、チャネルごとに空の実装を提供します。その場合、実装は該当のチャネルのメソッドを拡張するのみです。

2.2.6.2 プラッガブル通知サービスの登録

実装が使用可能になった後、SOA_Oracle_Home¥system¥services¥config¥ns_iaswconfig.xmlファイルに登録します。設定するns_iaswconfig.xmlのセクションを次に示します。デフォルトでは、すべての要素が空です。

  <!-- Specify any custom implementation for sending notification via Voice, Fax,
 Pager, SMS or IM channels.
       'All' refers to an implementation for all of the above specified channels.
  -->
  <CustomNotificationServices>
    <All/>
    <Email/>
    <Voice/>
    <Fax/>
    <Pager/>
    <SMS/>
    <IM/>
  </CustomNotificationServices>

すべてのチャネルのデフォルト実装をオーバーライドする場合は、実装の完全なクラス名を使用してAll要素を設定します。

  <CustomNotificationServices>
    <All>com.xyz.test.NotificationService</All>
    <Email/>
    <Voice/>
    <Fax/>
    <Pager/>
    <SMS/>
    <IM/>
  </CustomNotificationServices>

電子メール・チャネルのみのデフォルト実装をオーバーライドする場合は、実装の完全なクラス名を使用してEmail要素を設定します。

  <CustomNotificationServices>
    <All/>
    <Email>com.xyz.test.NotificationService</Email>
    <Voice/>
    <Fax/>
    <Pager/>
    <SMS/>
    <IM/>
  </CustomNotificationServices>

他のチャネルのオーバーライドは、電子メール・チャネルと同じ方法で構成されます。

実装およびその依存クラスは、Oracle BPEL Serverのクラスパスで使用できる必要があります。

2.3 ワークフロー・サービスの構成

すべてのワークフロー・サービスの構成は、SOA_Oracle_Home¥bpel¥system¥services¥config¥wf_config.xmlファイルで実行されます。

<workflowConfigurations
  xmlns="http://xmlns.oracle.com/pcbpel/humanworkflow/configurations"
  xmlns:user="http://xmlns.oracle.com/bpel/workflow/userMetadata">
  <taskAutoReleaseConfigurations>
     <taskAutoRelease priority="1" default="P1D" percentageOfExpiration="30"/>
     <taskAutoRelease priority="2" default="P2D" percentageOfExpiration="40"/>
     <taskAutoRelease priority="3" default="P3D" percentageOfExpiration="50"/>
     <taskAutoRelease priority="4" default="P4D" percentageOfExpiration="60"/>
     <taskAutoRelease priority="5" default="P5D" percentageOfExpiration="70"/>
  </taskAutoReleaseConfigurations>
  <worklistApplicationURL>http://mlkenned-pc.us.oracle.com:8888/integration/
      worklistapp/TaskDetails?taskId=PC_HW_TASK_ID_TAG</worklistApplicationURL>
  <actionableEmailAccountName/>
  <pushbackAssignee>INITIAL_ASSIGNEES</pushbackAssignee>
  <assigneeDelimiter><![CDATA[,]]></assigneeDelimiter>
  <shortHistoryActions>
    <action>ACQUIRE</action>
    <action>INFO_REQUEST</action>
    <action>INFO_SUBMIT</action>
    <action>RELEASE</action>
  </shortHistoryActions>
  <workflowServiceSessionTimeoutInMinutes>60</workflowServiceSessionTimeout
     InMinute>
  <user:ruleRepositoryInfo>
    <user:ruleEngine>ORACLE</user:ruleEngine>
    <user:repositoryLocation>WFRepository</user:repositoryLocation>
    <user:dictionaryName>WFDictionary</user:dictionaryName>
    <user:reposProperty name="reposType">jar</user:reposProperty>
  </user:ruleRepositoryInfo>
    <property name="worklist.redirectpage" value="TaskDetails" />
    <property name="worklist.loginpage" value="Login.jsp" />
    <property name="worklist.errorpage" value="Error.jsp" />
</workflowConfigurations>

この項では、このファイルの構成パラメータについて説明します。


関連項目:

ワークフロー・サービスの詳細は、『Oracle BPEL Process Manager開発者ガイド』を参照してください。

2.3.1 taskAutoReleaseConfigurations

タスクがグループまたは複数のユーザーに割り当てられている場合は、そのタスクを操作する前に、そのグループのいずれかのユーザーまたはユーザーのリストがタスクを取得する必要があります。タスクを取得した後、そのタスクが初期割当て先に割り当てられている場合、タスクを表示できる初期割当て先はありません。ユーザーが指定した時間内に操作しない場合、タスクが自動的にリリースされ、ユーザーのグループまたはリスト内の他の全ユーザーがそのタスクを参照できるようになります。自動リリースを制限付きのアクションにすることで、特定のビジネス・プロセスは自動リリースを無効化できます。リリース期間は、wf_config.xmlファイルで構成できます。

自動リリース期間の構成は、taskAutoReleaseConfigurations要素で行われます。リリース期間は、各優先順位のタスク用に構成できます。優先順位ごとに、期限切れ(percentageOfExpiration属性)期間の割合、またはデフォルト値(default属性)として自動リリース期間を指定できます。タスクに有効期間が設定されていない場合、デフォルト値が使用されます。デフォルトのデータ型はxsd:durationです。これは、PnYnMnDTnHnMnSの形式でISO 8601によって定義されます。大文字はデリミタで、対応するメンバーが使用されない場合は省略できます。たとえば、PT1004199059SPT130SPT2M10SP1DT2S-P1YまたはP1Y2M3DT5H20M30.123Sのようになります。

たとえば、優先順位3のタスクが3/24/2005 10:00 AMに取得され、そのタスクが3/31/2005 10:00 AMに期限切れになる場合、期限切れまでの時間は7日です。優先順位3のタスクのpercentageOfExpiration50の場合、タスクは3/37/2005 10:00 PMにリリースされます(取得から3 1/2日後)。

2.3.2 worklistApplicationURL

タスクに送信される電子メールでは、Oracle BPEL Worklist Applicationへのリンクは、wf_config.xmlファイルのworklistApplicationURL XML要素から読み込まれます。

要素worklistApplicationURLはURLを識別します。カスタムOracle BPEL Worklist Applicationを構築する場合、この要素を構成すると便利です。このURLのタグPC_HW_TASK_ID_TAGは、電子メールのURLを作成するときにタスクIDに置換されます。

2.3.3 actionableEmailAccountName

タスク・アクションは、電子メールを介して実行できます。アクション可能な電子メール・アカウントとは、タスク・アクションに関連する電子メールが受信および処理されるアカウントです。この電子メール・アカウント名は、wf_config.xmlファイルのXML要素actionableEmailAccountNameで識別されます。

2.3.4 pushbackAssignee

タスクは、前の承認者または前の元の割当て先にプッシュできます。元の割当て先は、タスクの再割当てまたはエスカレートなどを行っている可能性があるため、承認者である必要はありません。wf_config.xmlファイルのXML要素pushbackAssigneeは、タスクが元の割当て先にプッシュされるか、承認者にプッシュされるかを制御します。この要素の可能な値を次に示します。

  • APPROVER

  • INITIAL_ASSIGNEES

2.3.5 assigneeDelimiter

ルーティング・スリップのタスク割当て先は、区切られた文字列で指定できます。たとえば、次の2つのリストは同じになります。

  • リスト1:

    <participant name="Loan Agent">
          <resource isGroup="false" type="STATIC">jcooper, jstein</resource>
        </participant>
    
    
  • リスト2:

    <participant name="Loan Agent">
          <resource isGroup="false" type="STATIC">jcooper </resource>
          <resource isGroup="false" type="STATIC">jstein</resource>
        </participant>
    
    

前述の例では、デリミタとしてカンマ(,)を使用しました。特定の環境で別のデリミタを使用する場合、wf_config.xmlファイルのXML要素assigneeDelimiterでデリミタを指定できます。動的な割当て先名も、区切られた文字列に解釈されます。次の例では、XPath式/task:task/task:payload/payload:assignee/task:task/task:payload/payload:assigneeを戻す場合、この参加者は前述のリスト2と同じになります。

<participant name="Loan Agent">
      <resource isGroup="false"
 type="XPATH">/task:task/task:payload/payload:assignee</resource>
    </participant>

2.3.6 shortHistoryActions

ワークフロー・サービスでは、2つのタイプのタスク履歴が保持されます。

  • 詳細な履歴

  • 短い履歴

詳細な履歴には、タスクに対するすべての変更が含まれます。短い履歴には、特定のアクションで作成されたバージョンのみが含まれます。デフォルトでは、タスク開始、再開、結果更新、完了、期限切れおよび取消しが、短い履歴に含まれるバージョンになります。wf_config.xmlファイルのXML要素shortHistoryActionsで、他のアクションを短い履歴リストに追加できます。短い履歴アクションに追加できるアクションを次に示します。

アクション アクション アクション アクション
ACQUIRE INFO_REQUEST RENEW OUTCOME_UPDATE_ROUTE
AUTO_RELEASE INFO_SUBMIT RESUME
ADHOC_ROUTE OVERRIDE_ROUTING_SLIP SKIP_CURRENT_ASSIGNMENT
DELEGATE PUSH_BACK SUSPEND
ERROR REASSIGN UPDATE
ESCALATE RELEASE OUTCOME_UPDATE

2.3.7 workflowServiceSessionTimeoutInMinutes

workflowContextが有効な時間の長さです。クライアントが、指定された時間より長くアクティビティを実行しない場合、workflowContextは無効としてマークされ、新しい認証済コンテキストを作成する必要があります。Oracle BPEL Worklist Applicationの場合、ユーザーがアプリケーションにログインしたままで、workflowServiceSessionTimeoutInMinutesに指定された値よりも長い期間アクティビティを実行していない場合、アプリケーションに再度ログインする必要があることを示します。

2.3.8 user:ruleRepositoryInfo

ユーザー・メタデータ・サービスは、ユーザーおよびグループのワークフロー・ルールをOracle Business Rulesリポジトリ・ファイルに格納します。wf_config.xmlファイルのruleRepositoryInfoセクションにより、このファイルの参照方法が構成されます。リポジトリ・ファイルへのアクセスは、ファイル・システム、またはWebDAVプロトコルを介してHTTPサーバーから行います。同じルール情報にアクセスする必要がある個別のホスト上に、ユーザー・メタデータ・サービスの複数のインスタンスがある場合、WebDAVを介してリポジトリにアクセスすると便利です。個別のインスタンスはすべて、同じWebDAV URLをポイントできます。

デフォルトでは、ルール・リポジトリはWFRepositoryファイルで、wf_config.xmlと同じディレクトリにあります。

ファイル・システムでリポジトリを指定する場合、ruleRepositoryInfoの次のプロパティを設定します。

  • ruleEngine: ORACLE(現在サポートされているのはOracle Business Rules Rules Engineのみ)

  • repositoryLocation: ディレクトリSOA_Oracle_Home¥bpel¥system¥services¥configに対して相対的に指定した、リポジトリ・ファイルへのファイル・パス

  • dictionaryName: WFDictionary

  • reposProperty

    • name: reposType, value: jar

WebDAVを使用してワークフロー・ルール・リポジトリをホストするには、WebDAV Oracle Business Rulesリポジトリを設定します。WFRepositoryファイルベースのリポジトリからWebDAVベースのリポジトリにディクショナリWFDictionaryをインポートするには、Oracle Business Rules Rule Authorのインポート・ユーティリティを使用します。

ruleRepositoryInfoの次のプロパティを設定します。

  • ruleEngine: ORACLE(現在サポートされているのはOracle Business Rules Rules Engineのみ)

  • repositoryLocation: WebDAVリポジトリのURL

  • dictionaryName: WFDictionary

  • reposProperty

    • name: reposType, value: webDAV

    • name: proxyHost, value: WebDAVリポジトリにアクセスするときに使用するWebプロキシ(このプロパティはオプション)

    • name: proxyPort, value: Webプロキシ・ポート(このプロパティはオプション)

    • name: wallet, value: セキュアなWebDAV URLに接続するための証明書を含むウォレット・ファイルへの(ローカル・ファイル・システム上の)パス(このプロパティはオプション)


関連項目:

  • WebDAVリポジトリを設定する手順については、『Oracle Business Rulesユーザーズ・ガイド』を参照してください。

  • BPELプロセスとビジネス・ルールの統合の詳細は、『Oracle BPEL Process Manager開発者ガイド』を参照してください。


2.4 Oracle BPEL Process ManagerとOracle Application Serverサービス・レジストリの統合

Oracle BPEL Process ManagerとOracle Application Serverサービス・レジストリ(OracleASサービス・レジストリ)を統合できます。

OracleASサービス・レジストリは、Universal Description, Discovery and Integration(UDDI)仕様のバージョン3に準拠した実装で、Service Oriented Architecture(SOA)の主要なコンポーネントです。UDDIレジストリは、パブリッシュされたサービスの検索、サービスの呼出し、およびサービスに関するメタデータ(セキュリティ、転送またはサービスのクオリティ)の管理に必要な標準ベースの基盤を提供します。コンシューマはニーズに合わせて、パブリッシュされたサービスを参照および選択できます。

Oracle BPEL Process ManagerとOracleASサービス・レジストリを統合することで、サービス・エンドポイント(物理的なホスト場所、実装など)の変更からOracle BPEL Process Managerプロセスが分離されます。

Oracle BPEL Process ManagerとOracleASサービス・レジストリ間の統合は、実行時に参照を(OracleASサービス・レジストリに登録されたサービスの)サービス・キーに渡すことで実行されます。レジストリ・サービスURIは、構成プロパティによってOracle BPEL Process Managerのドメイン・レベルで識別されます。パブリッシュされたサービスのサービス・エンドポイントが変更されると、(変更されない)サービス・キー参照を使用して新しい物理エンドポイントが検出されます。

この項では、OrderBookingチュートリアルのRapidDistributors WebサービスをOracleASサービス・レジストリと統合する方法の概要について説明します。この項で説明する内容は次のとおりです。

2.4.1 タスク1: Oracle Application Server SOAスイートおよびOracleASサービス・レジストリのインストール

  1. Oracle Application Server SOA拡張インストール・タイプをインストールします(推奨)。Oracle Application Server SOA基本インストール・タイプをインストールする場合、手順3の説明にある追加の構成手順を実行する必要があります。

  2. 『Oracle Application Server管理者ガイド』の説明に従って、次の方法のいずれかを使用して第2のOC4Jインスタンスを作成します。

    • createinstanceユーティリティの使用

    • Oracle Enterprise Manager 10g Application Server Controlコンソールの使用

    この項の手順では、第2のOC4Jコンテナはregistryという名前です。


    注意:

    • 第2のOC4Jインスタンスを起動しないでください。

    • OracleASサービス・レジストリは、Oracle Application Server SOAインストール・タイプと同じOC4Jコンテナに存在することはできません。


  3. Oracle Application Server SOA基本インストール・タイプをインストールした場合は、次の手順を実行します。

    1. SOA_Oracle_Home/opmn/config/opmn.xmlファイルを開きます。

    2. registryコンポーネントを探します。

    3. default-web-siteを次のように変更します。

      <port id="default-web-site" range="8889" protocol="http"/>
      
      

      これにより固定ポート(8889)が割り当てられます。

  4. 『Oracle Application Server管理者ガイド』の説明に従って、手順2で作成した第2のOC4Jインスタンスを起動します。

  5. 次の場所にあるOracle Technology Networkから、OracleASサービス・レジストリをダウンロードします。

    http://www.oracle.com/technology/tech/webservices/htdocs/uddi/index.html
    

    注意:

    この説明では、OracleASサービス・レジストリを十分に理解し、ダウンロードした製品に付属する次のドキュメントを読んでいることを前提としています。
    • 『OracleAS Service Registry 10.1.3 Product Documentation』

    • 『Registry Step By Step Guide About Oracle Registry』(オンライン・チュートリアル)


  6. ダウンロードしたZIPファイルに含まれている『OracleAS Service Registry 10.1.3 Product Documentation』の説明に従って、OracleASサービス・レジストリをインストールします。OC4Jコンテナに指定されている同じHTTPポート(8889)を使用していることを確認します。

    OracleASサービス・レジストリを、Oracle BPEL Process ManagerおよびOracle Enterprise Service Busと同じOC4Jコンテナにインストールしないでください。選択したOracle Application Server SOAインストール・タイプによって、コンテナの場所はhomeまたはOC4J_SOAになります。OC4Jコンテナ名は、インストール・ディレクトリ・パスに表示されます。次に例を示します。

    • home: Oracle Application Server SOA基本インストール・タイプをインストールした場合のコンテナ名

    • OC4J_SOA: Oracle Application Server SOA拡張インストール・タイプをインストールするときに、デフォルト値を受け入れた場合のコンテナ名

  7. Oracle Application Server SOAインストール・タイプを停止します。

    cd SOA_Oracle_Home/opmn/bin
    opmnctl stopall
    
  8. SOA_Oracle_Home/j2ee/registry/applications/registry/registry/WEB-INF/libからSOA_Oracle_Home/j2ee/OC4J_Home/lib/api-extに、次のライブラリ・ファイルをコピーします。

    • security-ng.jar

    • security3-ng.jar

      OC4J_Homeは、インストール・タイプのOC4Jコンテナの名前です。

      • home: Oracle Application Server SOA基本インストール・タイプの場合

      • OC4J_SOA: Oracle Application Server SOA拡張インストール・タイプの場合


      注意:

      api-extディレクトリが存在しない場合は、作成してください。

  9. OracleASサービス・レジストリのRegistry_Installation_Home¥libディレクトリからSOA_Oracle_Home/bpel/registry/libディレクトリに、次のライブラリ・ファイルをコピーします。

    • security2-ng.jar

    • security_providers_client.jar

  10. SOA_Oracle_Home/j2ee/OC4J_Home/config/server.xmlファイルをバックアップします。

  11. server.xmlファイルを開きます。

  12. server.xmlファイルで、orabpel.commonという名前の共有ライブラリを検索します。

  13. 末尾に次の行を追加します。

    <code-source path="SOA_Oracle_Home/bpel/registry/lib/security2-ng.jar"/>
    <code-source path="SOA_Oracle_Home/bpel/registry/lib/security_providers_client.jar"/>
    
    

    SOA_Oracle_Homeを実際のパスに置換します。

  14. SOA_Oracle_Home/j2ee/OC4J_Home/config/system-jazn-data.xmlファイルをバックアップします。

  15. system-jazn-data.xmlファイルを開きます。

  16. <jazn-loginconfig>セクションに新しいログイン・モジュールを追加します。

    <application>
       <name>NamePasswordNoAN</name>
       <login-modules>
           <login-module>
              <class>com.idoox.security.jaas.NamePasswordLoginModuleNoAuth</class>
              <control-flag>required</control-flag>
              <options>
                 <option>
                    <name>debug</name>
                    <value>true</value>
                 </option>
              </options>
           </login-module>
       </login-modules>
    </application>
    
    <application>
       <name>NamePasswordAN</name>
       <login-modules>
           <login-module>
               <class>
     com.systinet.uddi.security.jaas.NamePasswordLoginModule</class>
               <control-flag>required</control-flag>
               <options>
                   <option>
                       <name>debug</name>
                       <value>true</value>
                   </option>
               </options>
           </login-module>
       </login-modules>
    </application>
    
    
  17. SOA_Oracle_Home/j2ee/registry/config/system-jazn-data.xmlファイルをバックアップします。

  18. system-jazn-data.xmlファイルを開きます。

  19. <jazn-loginconfig>セクションに新しいログイン・モジュールを追加します。

     <application>
        <name>HttpRequest</name>
        <login-modules>
            <login-module>
                <class>com.systinet.uddi.security.jaas.SmLoginModule</class>
                <control-flag>required</control-flag>
                <options>
                    <option>
                        <name>debug</name>
                        <value>true</value>
                    </option>
                </options>
            </login-module>
        </login-modules>
     </application>
    
    <application>
       <name>NamePasswordNoAN</name>
       <login-modules>
           <login-module>
               <class>com.idoox.security.jaas.NamePasswordLoginModuleNoAuth</class>
               <control-flag>required</control-flag>
                  <options>
                     <option>
                        <name>debug</name>
                        <value>true</value>
                     </option>
                  </options>
           </login-module>
       </login-modules></application>
    
    <application>
       <name>NamePasswordAN</name>
       <login-modules>
           <login-module>
               <class>
     com.systinet.uddi.security.jaas.NamePasswordLoginModule</class>
               <control-flag>required</control-flag>
               <options>
                   <option>
                       <name>debug</name>
                       <value>true</value>
                   </option>
               </options>
           </login-module>
       </login-modules>
    </application>
    
    <application>
       <name>IdentityAsserter</name>
       <login-modules>
           <login-module><class>
                com.systinet.uddi.security.jaas.IdentityAsserterLoginModule</class>
               <control-flag>required</control-flag>
               <options>
                   <option>
                       <name>debug</name>
                       <value>true</value>
                   </option>
               </options>
           </login-module>
       </login-modules>
    </application>
    
    
  20. 『OracleAS Service Registry 10.1.3 Product Documentation』の第8項、認証構成の説明に従って、OracleASサービス・レジストリの基本認証を有効にします。

  21. SOA_Oracle_Home/j2ee/registry/application-deployments/registry/registry/orion-web.xmlを開き、search-local-classes-firstの値をfalseに変更します。

  22. Oracle Application Server SOAインストール・タイプを起動します。

    cd SOA_Oracle_Home/opmn/bin
    opmnctl startall
    

2.4.2 タスク2: Webサービスのデプロイ

これで、RapidDistributors Webサービスをデプロイする準備ができました。

  1. 「スタート」「すべてのプログラム」「Oracle - Oracle_Home」「Oracle BPEL Process Manager」「Developer Prompt」を選択して、SOA_Oracle_Home¥bpel¥samplesディレクトリでオペレーティング・システムのコマンド・プロンプトを開きます。

  2. ディレクトリをtutorials¥127.OrderBookingTutorialサブディレクトリに変更します。

    cd tutorials\127.OrderBookingTutorial
    
    
  3. 次のコマンドを入力します。

    ant
    
    

    これにより、RapidDistributorsを含む必要なサービスがデプロイおよび起動されます。成功した場合は、末尾にメッセージが表示されます。

    BUILD SUCCESSFUL
    

2.4.3 タスク3: サービスのパブリッシュとバインディングの追加

  1. OracleASサービス・レジストリに移動します。

  2. 『OracleAS Service Registry 10.1.3 Product Documentation』のサービスのパブリッシュに関する項のプロバイダの作成およびサービスのパブリッシュの説明に従って、RapidDistributorsサービスをOracleASサービス・レジストリにパブリッシュします。『Registry Step By Step Guide About Oracle Registry』にも例が記載されています。

    サービス(この例ではRapidDistributorsという名前)をパブリッシュすると、バインディングを追加する準備ができます。バインディングは、インスタンスのアクセス・ポイントの取得元になるWebサービス・インスタンスを表します。詳細は、『OracleAS Service Registry 10.1.3 Product Documentation』のバインディング・テンプレートのパブリッシュに関する項を参照してください。

  3. パブリッシュされたサービスを右クリックし、「Add binding」を選択します。

    binding.gifの説明が続きます
    図binding.gifの説明

    「Add Binding」ページが表示されます。

  4. RapidDistributorsサービスのWebサービス・アクセス・ポイントを入力します。

    http://hostname:port/orabpel/default/RapidDistributors/1.0/
    
    
  5. 「Use type」リストからエントリを選択します。

    • wsdlDeployment(必須の選択項目で、サービスの物理エンドポイントを指します)

      http://hostname:port/orabpel/default/RapidDistributors/1.0/RapidDistributors?wsdl
      
      
    • endPoint(任意の選択項目で、WSDLエンドポイントを指します)

      http://hostname:port/orabpel/default/RapidDistributors/1.0/
      
      
    • other(任意の選択項目で、サービスの抽象的な場所を指します)

      http://hostname:port/RapidDistributors?wsdl
      
      
    binding2.gifの説明が続きます
    図binding2.gifの説明

  6. 完了後、「Add binding」をクリックします。

    サービスにバインディングが追加されます。サービス・キー値を書き留めてください。「タスク7: OracleASサービス・レジストリ・サービス・キーの指定」で、bpel.xmlファイルのデプロイメント・ディスクリプタ・プロパティにこの値を指定します。

    binding3.gifの説明が続きます
    図binding3.gifの説明

2.4.4 タスク4: Oracle BPEL Controlでのレジストリ・サービスURLの指定

  1. 次の方法のいずれかを使用して、Oracle BPEL Controlにアクセスします。

    • 「スタート」「すべてのプログラム」「Oracle - Oracle_Home」「Oracle BPEL Process Manager」「BPEL Control」を選択します。

    • 次のURLに移動します。

      http://localhost:port/BPELConsole
      
      
  2. 「BPELドメインの管理」「構成」を選択します。

  3. uddiLocationプロパティの値を入力します。

    http://hostname:port/registryname/uddi/inquiry
    
    

    このプロパティは、OracleASサービス・レジストリのWSDL URLを指す必要があります。次に例を示します。

    http://hostname.us.oracle.com:42461/registryrc7/uddi/inquiry?wsdl
    

    注意:

    いずれかの時点でOracle BPEL Process Managerインストールに存在できるのは、1つのOracleASサービス・レジストリ参照のみです。

2.4.5 タスク5: UDDIレジストリへの接続の作成

ここで、Oracle JDeveloperでOracleASサービス・レジストリへの接続を作成します。

  1. Oracle JDeveloperの「表示」メイン・メニューから「接続ナビゲータ」を選択します。

  2. 「UDDIレジストリ」を右クリックします。

  3. 「UDDIレジストリ接続の作成」を選択します。

  4. 「ようこそ」ページで「次へ」をクリックします。

  5. 次の接続情報を入力します。

    フィールド 説明
    接続名 レジストリに接続するための名前を入力します。
    エンドポイントのURL エンドポイントのURLを入力します。次に例を示します。
    http://hostname.us.oracle.com:42461/registryrc7/uddi/inquiry?wsdl
    

    注意: ここで入力する値は、「タスク4: でのレジストリ・サービスURLの指定」の手順3でOracle BPEL Controlに指定した値と同じです。


  6. 「次へ」をクリックします。

  7. 「接続のテスト」をクリックして、接続をテストします。接続が成功した場合、次のメッセージが表示されます。

    Successfully contacted UDDI inquiry endpoint
    
    
  8. 「終了」をクリックします。

    パートナ・リンクの作成中に「UDDIレジストリ」フォルダでサービスを参照することで、「サービス・エクスプローラ」ウィンドウで必要なエンドポイント・サービスを選択できます。

2.4.6 タスク6: RapidDistributorsパートナ・リンクの構成

ここで、RapidDistributorsパートナ・リンクを構成して、OracleASサービス・レジストリでWebサービス・アクセス・ポイントを選択します。

  1. Oracle JDeveloperでSOA_Oracle_Home/bpel/samples/tutorials/127.OrderBookingTutorial/OrderBooking/OrderBooking.jprファイルを開きます。

  2. デザイナ・ウィンドウでRapidDistributorsパートナ・リンクをダブルクリックします。

    パートナ・リンクの編集ウィンドウが表示されます。

  3. 懐中電灯サービス・エクスプローラという名前の左から2番目のアイコン)をクリックし、「タスク1: Oracle Application Server SOAスイートおよびOracleASサービス・レジストリのインストール」でデプロイしたRapidDistributorsサービスを選択するために、サービス・エクスプローラ・ウィンドウにアクセスします。

  4. ナビゲーション・ツリーを展開し、「UDDI Registry」RapidDistributorsサービスを選択します。

    registry1.gifの説明が続きます
    図registry1.gifの説明

2.4.7 タスク7: OracleASサービス・レジストリ・サービス・キーの指定

ここで、registryServiceKeyプロパティを使用してサービス・キー値を構成します。これにより、パートナ・リンクからOracleASサービス・レジストリを介してWebサービスを起動できます。

  1. bpel.xmlファイルの各partnerLinkBindingセクションで、RapidDistributorsのパートナ・リンクに次のregistryServiceKeyプロパティを追加します。

    <property name="registryServiceKey">uddi:e3955ac0-45a8-11db-9dd0-28bc5b509dce</property>
    
    

    手順6でサービス・キー値が作成されました。

    実行時に、RapidDistributorsのサービスが、OracleASサービス・レジストリから取得したサービス・エンドポイントから起動されることを確認できます。

2.4.8 タスク8: Basic認証によるクライアントの保護(オプション)

Basic認証を使用してクライアント側を保護する場合は、次の手順を実行します。

  1. bpel.xmlファイルの各partnerLinkBindingセクションに次の2つのプロパティを追加して、セキュアなHTTP Basic認証を有効にします。

    <property name="registryUsername"> registry_username </property>
    <property name="registryPassword"> registry_password </property>
    
    

    内容

    • registry_username: レジストリ・ユーザーの名前

    • registry_password: このレジストリ・ユーザーのパスワード

    uddiLocationプロパティを設定するには)「BPELドメインの管理」「構成」で、Oracle BPEL Controlのドメイン・レベルでこれらのプロパティを設定することもできます。これらのプロパティがbpel.xmlファイルでも設定されている場合、そのファイルの設定により、Oracle BPEL Controlでの設定が上書きされます。

2.4.9 トラブルシューティング

この項では、OracleASサービス・レジストリとOracle BPEL Process Managerを統合する場合のトラブルシューティングの手順について説明します。

  • リモートのOracle Application Server SOAインスタンスでサービス・レジストリがデプロイされ、異なるホストの別のSOAインスタンスでBPELプロセスがデプロイされる場合、バインディング・フォルトが1度発生します。呼出し側BPELプロセスがレジストリにパブリッシュされたサービスを初めて起動したときに、次のエラーが表示されます。サービスのその後の呼出しはすべて、エラーなしで正常に行われます(デプロイ後)。

    <bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part
    name="code"><code>GenericError</code>
    </part><part name="summary"><summary>http_client transport doesn't support
    nonProxyHosts with wildcards</summary>
    </part></bindingFault>
    
    
  • WSDL URLが、静的なIPアドレスではなくDHCP通信プロトコルを使用してホストをポイントしている場合、この情報を含むようにSOA_Oracle_Home/opmn/conf/opmn.xmlファイルを更新します。次に例を示します。

    -Dhttp.proxyHost=www-proxy.us.oracle.com -Dhttp.proxyPort=80
    -Dhttp.nonProxyHosts=122.39.159.106|*acmecorp.com|*.acme.com|localhost|
       ser vices.xmethods.net|xmethods.net|*idc.acme.com|dhcp-idc-towers-122-
       39-159-106.idc.acme.com"/>
    
    

    それ以外の場合、デプロイ・エラーが発生する可能性があります。

2.5 まとめ

この章では、IDサービス、ワークリスト・サービスおよび通知サービスを構成する方法について説明しています。