ヘッダーをスキップ
Oracle® WebCenter Content Content Serverシステム管理者ガイド
11g リリース1 (11.1.1)
B65037-02
  ドキュメント・ライブラリへ移動
ライブラリ
目次へ移動
目次
索引へ移動
索引

前
 
次
 

C コンテンツ・サーバーのOracle Fusion Middleware BPELコンポーネント

BPELコンポーネントにより、Oracle WebCenter Content Server(コンテンツ・サーバー)ワークフロー内からBusiness Process Execution Language(BPEL)プロセス・マネージャと対話する機能が追加されます。管理者として、BPELサーバー上にデプロイされたプロセスを開始するようにコンテンツ・サーバー・ワークフローを構成できます。

この章では、コンテンツ・サーバー・インスタンスおよびOracle BPEL Process Managerを実行中のコンピュータ上にBPELコンポーネントをインストールして構成するために必要なすべての情報について説明します。次の項で構成されています。

C.1 概要

この項では、次のトピックについて説明します。

C.1.1 ハードウェア要件

最低限の要件として、BPELコンポーネントにはコンテンツ・サーバーおよびOracle BPEL Process Managerと同じハードウェア要件があります。

C.1.2 ソフトウェア要件

この項では、コンテンツ・サーバーおよびBPEL Process Managerの要件を指定します。

Oracle Content Server: コンテンツ・サーバーのリリース11g以上が、ターゲット・コンピュータで正しくインストールされて実行されている必要があります。

Oracle BPEL Process Manager: SOA Suiteリリース11g以上が、ターゲット・コンピュータで正しくインストールされて実行されている必要があります。

C.1.3 ソフトウェア配布

BpelIntegrationコンポーネントは、Oracle WebCenter Contentリリース11gに付属しています。

C.2 インストール

次の手順では、リリース・バージョンのSOAがすでにインストールされていることを前提としています。

この項では、次の手順について説明します。

C.2.1 統合手順

SOAとの統合を有効化するようコンテンツ・サーバーを設定するには、現在次の2つの方法があります。

  • シナリオ1では、SOAによって拡張されたドメインにOracle WebCenter Contentをインストールします。この場合、すべての部分を1つのドメインに特定の順序でインストールします。そのすべてについてSOAライブラリを使用でき、SOAライブラリを含むようクラスパスが追加されています。

  • シナリオ2では、SOAで使用される必要なライブラリを手動でコピーして、WebLogic Server内部のWebCenter Contentを起動するために使用するクラスパスを追加します。

2つのシナリオの相違点は、SOAのインストールによってクラスパスが自動的に追加されますが、シナリオ2ではこの処理を手動で行う点です。将来、WebCenter Contentには適切なSOAライブラリが同梱される予定です。

C.2.1.1 シナリオ1

次の手順を実行します。

  1. SOA用に新規ドメインを作成します。

  2. BAMおよびEMによってSOAドメインを拡張します。

  3. WebCenter ContentによってSOAを拡張します。

setDomainEnv変数にSOA固有のライブラリが移入されていることを確認できます。特に、クラスパスにsoa-infra-mgmt.jarが指定されていることを確認します。

C.2.1.2 シナリオ2

SOAによって拡張されていないWebCenter Contentドメインを更新するには、次の手順を実行します。

  1. /soaディレクトリを、SOAのOracleホームからWebCenter ContentのOracleホームにコピーします。

    WebCenter Contentを介して接続しているSOAサーバーの11g SOAホーム・ディレクトリを見つけます。soaという名前のディレクトリがあります。このディレクトリをWebCenter Contentホーム・ディレクトリにコピーして、最上位ディレクトリに配置します(つまり、SOA_ORACLE_HOME/soaをWC_CONTENT_ORACLE_HOME/soaにコピーします)。

  2. OSに応じてsetDomanEnv.cmdまたはsetDomainEnv.shファイルを編集し、WebCenter Contentドメインのクラスパスを追加します。

    set POST_CLASSPATH=%ORACLE_HOME%\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;%POST_CLASSPATH%
    

C.2.1.3 最終手順

両方のシナリオの最終手順は、BpelIngetrationコンポーネントを有効化してサーバーを起動することです。

SOAインスタンスがWebCenter Content以外の別のサーバーで実行中の場合は、次のセキュリティ・エラーが表示されることがあります。

vax.xml.ws.WebServiceException: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
   at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:209)
   at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:216)

このエラーが発生した場合は、両方のサーバーに対するドメイン間のセキュリティを有効にする必要があります。次の指示に従います。

User will need to setup Trusted Domain on both WLS domain.
Goto WLS Console->Respected Domainssoainfra or bam ->Security
1. Make sure "Cross Domain Security Enabled"
2. Click on Save 
3. Expand Advanced part of setting 
4. Make sure you supplement the Credential and Confirm Credential fields. 
5. Click on Save 
Repeat for the same for the other WLS domain.
Finally, Restart both WLS Servers.

C.2.2 統合コンポーネントの有効化

統合コンポーネントを有効化するには、次の手順を実行します。

  1. コンテンツ・サーバーにシステム管理者としてログインします。

  2. 「管理」「管理サーバー」を選択します。

  3. コンポーネントをインストールするサーバーのコンポーネント・マネージャを選択します。

  4. ページ上部の段落で、「拡張コンポーネント・マネージャ」リンクをクリックします。

  5. 「有効なコンポーネント」と「無効なコンポーネント」の2つのリストが表示されます。「無効なコンポーネント」リストの下位にある「BpelIntegration」を選択します。

  6. 「有効化」をクリックして、リスト下位から上位にこの項目を移動します。

  7. ページの下部で、「更新」をクリックします。

  8. Oracle WebLogic Server管理コンソールにログインします。

  9. コンソールの左側で、「ドメイン構造」「環境」「サーバー」の順にクリックします。「サーバーのサマリー」ページが表示されます。

  10. 「制御」タブからサーバーを選択して、「SSLの再起動」をクリックします。

C.3 統合コンポーネントの構成

この項では、次のトピックについて説明します。

C.3.1 アーキテクチャ

統合では、BPELクライアント・ライブラリを使用してOracle BPEL Process Managerと通信します。プロセス構成では、接続パラメータ、BPELプロセスおよびBPEL操作を識別する必要があります。また、プロセス構成では、ドキュメント・メタデータ・フィールド、およびBPEL操作に渡されるパラメータに割り当てられたリテラル値も識別されます。

C.3.1.1 接続構成

プロセス構成は、data/orabpelディレクトリに配置されるファイル内に存在しています。これらのファイルは手動で編集できます。ただし、統合コンポーネントでは、この作業を簡単に行うためのページが提供されています。最初のページは接続構成ページです。接続構成ページから、定義された接続構成を表示して、接続構成を追加したり削除することができます。管理者として「管理」メニューを展開し、次に、「Oracle BPEL管理」フォルダを展開することにより、接続構成ページにアクセスできます。「接続の構成」をクリックします。

図C-1 「接続の構成」ページ

図C-1については周囲のテキストで説明しています。

このページの右上には「接続」メニューがあり、このメニューを使用して新規接続を追加します。接続ごとに次の選択肢を提供する「アクション」ドロップダウン・メニューがあります。

要素 説明

構成情報

接続情報の詳細を表示できます。

構成のテスト

接続構成のJNDIプロパティをテストできます。

構成の削除

接続構成を削除できます。


C.3.1.1.1 接続構成の追加

接続構成を追加するには、ページの右上にある「接続」メニューから「接続の追加」を選択します。「構成の追加」ページが表示されます。

次の表では、このページのフィールドが定義されています。

要素 説明

構成ID

接続構成を識別するために使用します。一意である必要があります。

説明

接続構成について説明するために使用します。

ドメイン

BPELプロセス・ドメイン識別子。

初期コンテキスト・ファクトリ

BPEL Process Managerに接続するために使用する初期コンテキスト・ファクトリ。この値は、初期コンテキストを作成するファクトリ・クラスの完全修飾クラス名である必要があります(たとえば、BPELを実行中のOracle Application Serverに接続する場合はcom.evermind.server.ApplicationClientInitialContextFactory)。

プロバイダURL

BPEL Process Managerの場所。この値にはURL文字列が含まれている必要があります(たとえば、BPELを実行中のOracle Application Serverに接続する場合はopmn:ormi://servername:6003:home/orabpel)。

セキュリティ・プリンシパル

BPEL Process Managerの呼出し側を認証するためのプリンシパルの識別情報。この値には、BPEL Process Managerで登録されているユーザーのユーザー識別子が含まれている必要があります。

セキュリティ資格証明

BPEL Process Managerの呼出し側を認証するためのプリンシパルの資格証明。この値には、セキュリティ・プリンシパルとして入力されているユーザー識別子のパスワードが含まれている必要があります。

セキュリティ資格証明の確認

セキュリティ資格証明パスワードを確認するために使用されます。


C.3.1.1.2 接続構成情報

特定の接続構成に関する詳細情報を表示するには、構成ページ内の特定のアダプタの「アクション」ポップアップ・メニューから「構成情報」を選択できます。「構成情報」ページが表示されます。

ページの上部にある「アクション」ドロップダウンから、次のアクションを使用できます。

要素 説明

接続の更新

接続構成を編集できます。

接続の削除

接続構成を削除できます。

接続のテスト

接続構成のJNDIプロパティをテストできます。


C.3.2 プロセス構成

接続を構成した後、プロセスを定義して構成できます。管理者として、「管理」「Oracle BPEL管理」をクリックして、「接続の構成」ページにアクセスできます。「プロセスの構成」をクリックします。「プロセスの構成」ページが表示されます。

図C-2 「プロセスの構成」ページ

図C-2については周囲のテキストで説明しています。

このページはプロセス構成を示しており、構成ごとに次の選択肢を提供する「アクション」ドロップダウン・メニューがあります。

要素 説明

プロセスの追加

さらにプロセス構成を追加できます。

構成情報

プロセス構成の「構成情報」ページを開きます。

プロセスの更新

BPELプロセスおよび操作を編集できます。

ペイロードの更新

コンテンツ・アイテム・フィールドからペイロード・プロパティへのマッピングを編集できます。

構成の削除

プロセス構成を削除できます。

接続のテスト

接続構成のJNDIプロパティをテストできます。


プロセス構成を作成した後、プロセスのプロパティとペイロード・マッピングを定義する必要があります。プロセス・プロパティの編集方法の詳細は、「プロセスのプロパティ」を参照してください。フィールド・マッピングの編集方法の詳細は、「ペイロード・マッピング」を参照してください。

C.3.2.1 プロセスのプロパティ

プロセスのプロパティでは、新規プロセスを開始するために使用されるBPELプロセスとBPEL操作が識別されます。プロセスのプロパティを編集するには、「アクション」メニューから「プロセスの更新…」をクリックします。「BPELプロセスの更新」ページが表示されます。

図C-3 「BPELプロセスの更新」ページ

図C-3については周囲のテキストで説明しています。

次の表では、このページのフィールドが定義されています。

要素 説明

BPELプロセス

デプロイされたアクティブなBPELプロセスのプロセス識別子。各アクティブ・プロセスは、プロセス名とプロセス・リビジョンとともにリストされます。各プロセスのデフォルトのリビジョンは、アスタリスク(*)で識別されます。

BPEL操作

プロセスを開始する操作の名前。


C.3.2.2 ペイロード・マッピング

ペイロード・マッピングでは、プロセスを開始するためにコンテンツ・サーバーのフィールドとリテラル値をペイロード・プロパティにマッピングする方法を定義します。

ペイロード・マッピングを編集するには、「アクション」メニューから「ペイロードの更新」をクリックします。「BPELプロセスの更新: ペイロード・マッピング」ページが表示されます。

このページでは、3つの列を含むフォームが表示されます。次の表では、各列が定義されています。

要素 説明

フィールド

値がマップされるペイロード要素の名前。

タイプ

ペイロード要素のタイプ。これは、値オプションのリストに表示されるオプションをフィルタするために使用されます。複合タイプには他のタイプが含まれます。タイプが要素の配列である場合、値マッピングはコンポーネントによって解析されるカンマ区切りリストである可能性があります。

マッピング

コンテンツ・サーバー・フィールドの名前を識別するために使用します。これらのフィールドは、標準のコンテンツ・アイテム・フィールド(dID、dDocName、dDocTitleなど)、カスタム情報フィールドおよび一部の特別なシステム・フィールドです。考えられる特別なフィールドは、次のとおりです。


HttpAbsoluteCgiPath: コンテンツ・サーバーへの絶対CGIパス。


HttpAbsoluteWebRoot: コンテンツ・サーバーのWebルートへの絶対パス。


idcReference: 値socket:<HttpServerAddress>:<HttpServerPort>を含む文字列を作成します。


ドキュメントURL: Web表示可能ファイルへの計算されたURL。


ContentViewLink: コンテンツ表示ページへの計算されたURLであり、コンテンツのビューやコンテンツ情報へのリンクを表示します。


@Literal: リテラル値を割り当てることができます。このオプションを選択すると、値を指定する追加のテキスト入力フィールドが表示されます。カンマ区切り表記法を使用して、配列値を入力できます。


図C-4に、フィールド・マッピングの例を示します。

図C-4 「ペイロード・マッピング」ページ - フィールド・マッピングの例

「ペイロード・マッピング」ページ - フィールド・マッピングの例

このページでは、次のマッピングを行うことができます。

  • taskIdペイロード・フィールドには、コンテンツのdIDの値が割り当てられています。

  • 「タイトル」ペイロード・フィールドには、コンテンツのタイトルの値が割り当てられています。

  • 「作成者」ペイロード・フィールドには、sysadminのリテラル値が割り当てられています。

C.3.2.3 WebCenter Contentの統合のためのBPELコンポジットの準備

WebCenter ContentとBPELを統合するには、BPELコンポジットのサービスにbinding.adfエントリが存在している必要があります。このバインディングを使用すると、WebCenter ContentでBPELをサービスとして起動し、後からSOAにステータスを問い合せるための対話IDをBPELに設定できます。

したがって、BPELコンポジットを作成してWebCenter Contentで使用できるようにする場合、次の手順を実行する必要があります。

  1. JDeveloperでコンポジットを開きます。

  2. ソース・モードでcomposite.xmlを開きます。

  3. サービス定義を検索します。

  4. サービス定義に次の行を追加します(ここで、serviceNameは意味のある任意の名前であり、registryNameは空である必要があります)。

    <binding.adf serviceName="YourUniqueServiceName" registryName=""/>
    

考えられるコンポジット例は次のようになります。

<service name="receive" ui:wsdlLocation="receive.wsdl">
<interface.wsdl interface="http://oracle.com/sca/soapservice/aug11_app_2/myThirdComposite/receive#wsdl.interface(execute_ptt)"/>
   <binding.ws port="http://oracle.com/sca/soapservice/aug11_app_2/myThirdComposite/receive#wsdl.endpoint(receive/execute_pt)"/>
   <binding.adf registryName="" serviceName="my3rdBPELService"/>
 </service>

これは、JDeveloperウィジェットを使用して行うこともできますが、この場合、空でないregistryNameが必要となります。adfを含まないコンポジットのregistryNameは空であり、ここで指定されているコンポジット例では、レジストリ名は空である必要があります。空でない場合は、標準のSOAを介してコンポジットを起動した後、APIコールが正しく機能しません。

C.4 コンテンツ・サーバーでのワークフローの構成

この項では、次のトピックについて説明します。

C.4.1 ワークフローの構成

BPEL Process Managerと統合するには、最初に、コンテンツ・サーバー・ワークフローを構成する必要があります。ワークフローを構成するには、数多くの方法が考えられます。次のタスクを実行して、BPEL Process Managerと統合する最も基本的なタイプのワークフローを構成します。

  1. ワークフロー管理アプレットを開始します。

  2. 新しい基準ワークフローを追加します。この例では、ワークフロー名はorabpeltestです。

  3. ワークフローにステップを追加します。この例では、ステップ名としてinitiateprocessを使用します。

  4. ステップ・ユーザーを追加します。

    図C-5 「新しいステップの追加」ダイアログ

    「新しいステップの追加」ダイアログ

  5. 「終了条件」タブを選択して、少なくとも1人のレビューアを選択します。(この設定は任意ですが、このインスタンスでは、BPELプロセスの開始後、この設定によりコンテンツ・アイテムはこのワークフロー・ステップ内に残されます。)

    図C-6 「新しいステップの追加」ダイアログ、「終了条件」タブ

    「新しいステップの追加」ダイアログ、「終了条件」タブ

  6. 終了条件を追加するには、「追加終了条件を使用」チェック・ボックスを選択して、「編集…」をクリックします。

  7. 「追加終了条件の編集」ダイアログで「カスタム条件の式」をチェックし、次のスクリプトを追加します。

    wfGet("conversationId") and 
    obIsInstanceClosed("process_3", wfGet("conversationId"))
    

    図C-7 「追加終了条件」ダイアログ

    「追加終了条件」ダイアログ

    注意:

    Idocスクリプト関数obIsInstanceClosedにより、指定された対話IDを含むBPELインスタンスがまだ開いているかどうかがテストされます。対話IDは、プロセスが起動されるとワークフローのコンパニオン・データに格納されます。


  8. 「イベント」タブで、「開始時」イベントに対する「編集…」をクリックします。

    図C-8 「新しいステップの追加」ダイアログ、「イベント」タブ

    「新しいステップの追加」ダイアログ、「イベント」タブ

  9. 「スクリプトの編集」ダイアログで、「カスタム」タブをクリックします。

  10. 「カスタム・スクリプトの式」チェック・ボックスをクリックして、スクリプト・ウィンドウを有効にします。

  11. スクリプト・ウィンドウに次の行を入力します。

    <$if not conversationId$>
    <$obConfigID="process_3"$>
    <$obInvokeProcess(obConfigID)$>
    <$endif$>
    

    図C-9 「スクリプトの編集」ダイアログ

    「スクリプトの編集」ダイアログ

    注意:

    コンポーネントにより、起動されたプロセスの状態を開始および判別するために使用できるIdocスクリプト関数が定義されます。obInvokeProcess Idoc関数では、プロセス構成IDの名前がその引数の1つとして使用されます。また、ORABPEL_INVOKE_BPELサービスを使用することもできます。このサービスでは、obConfigID変数がプロセス構成の名前に設定されている必要があります。このサービスによりプロセス構成が読み取られ、このプロセス構成を使用してBPEL Process Managerへの接続方法が決定されます。


  12. 「OK」をクリックして、スクリプトの編集を終了します。

  13. 「OK」をクリックして、ワークフロー・ステップの編集を終了します。

  14. ワークフローを有効化します。

C.4.2 BPELプロセス情報

コンテンツ・アイテムによりワークフローが入力され、BPELプロセスが開始されると、関連するBPELプロセスを識別するために識別子が作成されてコンパニオン・データ・ファイルに格納されます。この識別子はキーconversationIdとともに格納され、ワークフロー・ステップのイベントのカスタムIdocスクリプトを使用してコンパニオン・データから取得できます。

Idocスクリプト関数

obInvokeProcess[obConfigID]: この関数は、プロセス構成での定義に従ってプロセスを起動します。

obIsInstanceClosed[obConfigID, conversationId]: この関数は、指定された対話IDのプロセスが指定された構成に従ってクローズすると、trueを返します。クローズには、完了と取消しが含まれます。

obIsInstanceOpen[obConfigID, conversationId]: この関数は、指定された対話IDのプロセスが指定された構成に従ってオープンすると、trueを返します。

obRetrieveStatus[obConfigID, conversationId]: この関数は、プロセスに関する情報が正常に取得されるとtrueを返します。データ・バインダにはインスタンス・タイトル、監査証跡、トレースおよびメタデータに加えて、プロセス・インスタンスIDやリビジョン・タグに関する情報が含まれます。