この章では、Credential Store Framework (CSF)別名を使用したBPEL接続の構成、AXF表の構成およびソリューション・アクセラレータの使用など、イメージング・ソリューションのコンポーネントとオプションを構成する方法を説明します。また、クラスタ化および代替認証とログインなどのオプションについても説明します。
この章の内容は、次のとおりです。
| 注意: Oracle E-Business Suite Oracle Application Framework (OAF)アプリケーションからイメージング・ソリューションへのアクセスを提供できます。詳細は、第2.3.3項を参照してください。 | 
| 注意: 「タスク・リスト」でユーザーに表示されるプロファイルおよび「タスク・ビューア」でユーザーに表示されるタスク・アクションとメタデータの変更など、イメージング・ソリューションへの特定の変更を行うには、イメージング・ソリューション・エディタを使用します。ソリューション・エディタの詳細は、Oracle Fusion Middleware Oracle WebCenter Content: Imagingの管理のソリューション・エディタ・ページに関する説明を参照してください。 | 
AXFソリューションによる使用のためのBPEL接続の構成には、次のタスクが含まれます。
Credential Store Framework (CSF)により、Imaging接続構成で使用するためのユーザー名/パスワードの別名を作成できます。CSF別名では、ユーザー名とパスワードのかわりにキーを提供し、Imaging接続の作成においてこのキーを使用します。(複数のImaging接続に対して1つのCSFキーを使用できます。)
キーおよび別名の作成の詳細は、Oracle Fusion Middleware管理者ガイドを参照してください。
| 注意: MS LDAPをユーザー・リポジトリとして使用してAXFソリューションを実装している場合、資格証明ユーザーは、ビルトインCNのMS LDAP内の管理者グループに属する管理者である必要があります。AXFでは、特定のセルの作成時(SOAからタスク・リストを取得するときなど)に、この資格証明ユーザーを使用します。さらに、CN=Builtinをインポートするために、グループ・ベースDN (WLSコンソール使用、プロバイダ固有)を構成する必要があります。 | 
次の手順に従って、接続を作成し、CSF別名キー、BPELサーバー名およびポートを指定します。
管理者としてImagingシステムにログインします。
BPEL接続を作成するために、サイド・ペインの「接続の管理」から、+ (プラス)記号のドキュメント・アイコンをクリックします。
接続の名前を入力し、「次」をクリックします。
この名前は、接続を確立するためにAXF_SOLUTION_ATTRIBUTES表で参照されます。
BPEL設定の手順で、BPEL接続設定を入力します。
HTTPフロントエンド・アドレス: http://hostname:BPEL server port
資格証明別名(前に作成済、第6.1.1項で説明)
プロバイダ: t3://hostname:BPEL server port
たとえば、次のようになります。
HTTPフロントエンド・アドレス: http://hostname:port
資格証明別名: axf.credential
プロバイダ: t3://hostname:port
「次」をクリックし、「送信」をクリックします。
この手順に従って、第6.1.2項で説明したように、AXFソリューションへのImaging接続を識別します。SQL Developer (または、イメージング・データベース・スキーマに接続できるその他の適切なツール)からコマンドを実行します。
| 注意: 実装アクセラレータを使用している場合(HelloBPELソリューションを含む)、この手順は必要ありません。 | 
次で指定した構成行を実行します。
Insert into AXF_SOLUTION_ATTRIBUTES (SOLUTION_NAMESPACE,PARAMETER_KEY,PARAMETER_VALUE) values \ ('InvoiceProcessing','BPEL_CONNECTION','axfconnection');
イメージング・ソリューションのインストールおよび構成が完了した後で、実装のために次のいずれかの手順を完了します。
AXF表およびAXF関連のOracle E-Business Suite表またはOracle PeopleSoft表を構成します。表の説明および例の実装は、付録B「BPELイメージング・ソリューション・リファレンス」で提供されます。
または
ソリューション実装アクセラレータを適用します。アクセラレータを入手するには、システム・インテグレータ、Oracle ConsultingまたはOracleサポートに連絡してください。
AXF Webアプリケーションのドライバ・ページにアクセスして機能を検証します。ドライバ・ページの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのインストールと構成』のHelloWorldを使用したAXFインストールの検証に関する項を参照してください。
この項では、イメージング・ソリューションのための次のオプションの構成について説明します。
第6.4.2項「Oracle WebLogic Server/ビジネス・アプリケーション・ユーザーへのタスクの実行の許可」
第6.4.11項「紙クリップ添付ファイルの再有効化(Oracle E-Business SuiteおよびImagingのみ)」
セッションごとに始めてImagingビューアにアクセスする際にユーザーがImagingにログインする必要がないようにするには、この項の手順に従います。Imagingのホスト名とAXFサーバーのホスト名が一致するように、フロントエンドHTTPホストおよびポートを設定します。
次の手順に従って、フロントエンドHTTPホストとポートを設定します。
Oracle WebLogic Server管理コンソールを開きます。
ホームページで、環境ヘッダーの下の「サーバー」をクリックします。
「名前」列にリストされるサーバーからイメージング・サーバーをクリックします。
「プロトコル」タブ、「HTTP」タブの順にクリックします。
「フロントエンド・ホスト」フィールドおよび該当するフロントエンド・ポートのフィールドを変更します。(SSLを使用する場合は、「フロントエンドHTTPSポート」フィールドで値を指定します。SSLを使用しない場合は、「フロントエンドHTTPポート」フィールドで値を指定します。)
「保存」をクリックします。
Oracle E-Business SuiteやOracle PeopleSoftから渡されたユーザーではなく、認証Oracle WebLogic Serverユーザーに、BPELタスクなどのタスクの実行を許可できます。このため、Oracle E-Business Suite/Oracle PeopleSoftとOracle WebLogic Serverについて別のユーザーを保存できます。
関連するAXF_SOLUTION_ATTRIBUTES表の構成を、表6-1に示します。B.1.2項も参照してください。
表6-1 AXF_SOLUTION_ATTRIBUTES表、USERNAME_PASS_THROUGH構成
| SOLUTION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE | 
|---|---|---|
| AXF | USERNAME_PASS_THROUGH | TRUEまたはFALSE | 
説明:
TRUE (デフォルト): Oracle E-Business SuiteまたはOracle PeopleSoftから渡されたユーザーを使用してタスクを実行します。
FALSE: 認証Oracle WebLogic Serverユーザーを使用してタスクを実行します。
| 注意: データベースでUSERNAME_PASS_THROUGHの値を変更した後は、Oracle WebLogic Server管理コンソールでImagingアプリケーションを停止し、再起動してください。 | 
クラスタで稼働するImaging管理対象サーバーのOracle Application Extension Framework (AXF)は、Java Object Cache (JOC)を構成してすべての管理対象サーバーに配布する必要があります。『Oracle Fusion Middleware Oracle WebCenter Contentのインストールと構成』の分散イメージング管理対象サーバーでのAXF用のJavaオブジェクト・キャッシュの構成に関する説明を参照してください。
複数の同時ユーザーによるAXF構成では、エンド・ユーザーが自動タスク・モードでタスクの取得を試みたときに衝突が発生する可能性があります。(自動タスク・モードの詳細は、B.3.2項を参照してください。)衝突を避けるには、AXFデータベースで、名前付きBPEL接続ごとに自動タスク・ロックを有効化します。ロックが有効な場合は、1人のユーザーのみが、指定された時間に自動的にタスクを取得する可能性があります。
ロック機能の有効化は、2人のユーザーが同時にタスクを取得したときにエラーが「タスク・リスト」に表示されるのを防ぐため、お薦めの設定です。同時取得が起こる可能性が低い状況では、ロック機能を無効化するとパフォーマンスが向上する可能性があります。
設定は、次の行を挿入することで、AXF_SOLUTION_ATTRIBUTES表で構成されます。
| SOLUTION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE | 
|---|---|---|
| BPEL.default | USE_AUTOTASK_LOCKING | TRUE | 
B.3.7項で説明しているように、Update Task From Procedureコマンドは、指定したデータソースを使用してストアドPL/SQLプロシージャをコールし、XPATHを使用してタスク・ペイロードを更新します。
XMLのDOMへのロード後のPL/SQLプロシージャにより、請求書IDを取得し、そのトランザクションの請求金額を問い合せ、その金額に基づいて一連のユーザーを返します。
この例を使用するには、このプロシージャを変更して、選択したペイロードからデータの特定部分を取得できるようにします。作成するPL/SQLファンクションの唯一の要件として、VARCHAR2を取り、2つのVARCHAR2 OUTパラメータを設定し、INTEGERを返すことが必要です。ファンクションの名前はAXF構成に含めます。
create or replace FUNCTION axfretrieveuserlist(xmlPayload IN VARCHAR2, pDataString OUT VARCHAR2, pMsgString OUT VARCHAR2) RETURN INTEGER IS
    v_node    xmldom.DOMNode;
    v_node2   xmldom.DOMNode;
    v_nl      xmldom.DOMNodeList;
    v_doc     xmldom.DOMDocument;
    v_elem    xmldom.DOMElement;
    v_parser  xmlparser.Parser;
    invoiceID     VARCHAR2(256);
    invoiceAmount NUMBER(8,2);
    userList      VARCHAR2(256);
    rtnCode      INTEGER;
BEGIN
    rtnCode := 0;  -- execute CMD_NO_DATA
    -- rtnCode := -1; -- execute CMD_ERROR
    pmsgstring := ''; -- empty msg string (task is updated with this value)
    v_parser := xmlparser.newParser;
    xmlparser.parseBuffer(v_parser, xmlPayload);
    v_doc := xmlparser.getDocument(v_parser);
    xmlparser.freeParser(v_parser);
    -- Retrieve the invoice ID
    v_nl := xmldom.getElementsByTagName(v_doc, 'invoiceID');
    v_node := xmldom.item(v_nl, 0);
    v_node2 := xmldom.getFirstChild(v_node);
    invoiceID := xmldom.getNodeValue(v_node2);
    -- Retrieve Invoice Amount for given invoice id
    select INVOICE_AMOUNT into invoiceAmount from ap_invoices_all where INVOICE_ID = invoiceid;
    if invoiceamount > 10000 then
      pdatastring := 'jlondon';
      rtnCode := 1;  -- execute CMD_DATA
    else
      pdatastring := 'jcooper,mtwain';
      rtnCode := 1;  -- execute CMD_DATA
      pmsgstring := '';
    end if;
    RETURN rtnCode;
END;
特定のOracle E-Business Suiteウィンドウの複数のインスタンスが表示される場合に、Oracle E-Business Suiteアダプタを構成して、同じインスタンス/対話をターゲット設定できます。この機能を使用可能にするには、AXF_PROPERTIES表(Oracle E-Business Suite)でAXF_MULTINSTANCEパラメータを使用します。
AXF_MULTINSTANCEがTRUEに設定されている場合、各Oracle E-Business Suiteウィンドウは個別の対話、および個別のImagingとして扱われるか、AXFウィンドウがターゲット設定されます。
AXF_MULTINSTANCEがFALSEに設定されている場合(デフォルト)、各Oracle E-Business Suiteインスタンスのウィンドウは同一の対話として扱われ、同じImagingまたはAXFターゲット・ウィンドウを使用します。
B.3.9項で説明しているように、Validate Taskコマンドは、BPELシステム属性またはBPELペイロード・データを検証し、検証結果に基づいて、後続のコマンドを実行します。
次の例および対応する手順では、タスクの完了を許可する前にトランザクションIDが存在することを確認する検証を追加します。この例では、請求書処理ソリューション実装アクセラレータ・データをインストールしてあると仮定します。
| 注意: タスクを完了する前にビジネス・アプリケーションの請求書を作成する必要がある使用事例でのみ、この構成変更を適用します。タスクを完了する前に請求書を作成しない可能性がある使用事例(たとえば、一般的には、仕入先の保守の結果によってタスクが完了されている場合)では、この構成は当てはまりません。 | 
AXF_COMMANDS表に次の行を追加します。
表6-3で示されている行をAXF_SOLUTION_PARAMETERS表に追加します。
次の構成は、請求書が保存されている(請求書トランザクションIDが0でない)ことを検証します。0の場合、コマンドは、FAIL_MESSAGEパラメータで指定されたエラー・メッセージを報告します。
Fields not shown: SOLUTION_NAMESPACE=InvoiceProcessing
表6-3 AXF_SOLUTION_PARAMETERS表のValidateTaskコマンドの例
| COMMAND_NAMESPACE | CONFIGURATION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE | 
|---|---|---|---|
| ValidateTransactionID | oracle.imaging.axf.commands.bpel.ValidateTaskCommand | ATTRIBUTE_TO_VALIDATE | XPATH:InvoiceProcessing_TransactionID | 
| ValidateTransactionID | oracle.imaging.axf.commands.bpel.ValidateTaskCommand | CMD_ON_PASS | CompleteInvoice | 
| ValidateTransactionID | oracle.imaging.axf.commands.bpel.ValidateTaskCommand | REGULAR_EXPRESSION | [^0] | 
| ValidateTransactionID | oracle.imaging.axf.commands.bpel.ValidateTaskCommand | FAIL_MESSAGE | Please save the transaction before completing the task. | 
AXF_ACTIONS表で、CompleteアクションのCOMMAND_NAMESPACE列をValidateTransactionIDのコマンド・ネームスペースと置き換えて、Complete Taskが構成される行を編集します。
AXFインフラストラクチャ内で作業するためにカスタム・コマンドをデプロイすることもできます。カスタム・コマンドは、oracle.imaging.axf.commands.AxfCommandインタフェースを実装する必要があります。インフラストラクチャによって実行(AxfRequest)メソッドが呼び出されます。AXF構成データベース内で実行するように実装を構成します。
また、コマンドは、oracle.imaging.axf.commands.ValidatableCommandインタフェースを実装する場合があります。これは、AXFインフラストラクチャが、構成およびコマンドの動作を、システム・コマンド・ステータスを提供するために実行することなく検証するための方法を提供します。
一部のAXFコマンドには、コマンドの完了後に起こることを指定して、それらの連鎖を可能にする、パラメータ・キーがあります。たとえば、表6-5は、AXF_SOLUTION_PARAMETERS表の一部を示しています。CompleteTaskコマンドを実行したら、追加のAXFコマンドが実行されます(プログラム・ロジックに基づいて、StartInvoiceProcessingおよびAutoOpenTask)。
表6-5 CompleteTaskコマンドのためのAXF_SOLUTION_PARAMETERS表の例(InvoiceProcessingソリューション)
| COMMAND_NAMESPACE | CONFIGURATION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE | 
|---|---|---|---|
| DuplicateInvoice | oracle.imaging.axf.commands.bpel.CompleteTaskCommand | CMD_AUTOTASK_OFF | StartInvoiceProcessing | 
| DuplicateInvoice | oracle.imaging.axf.commands.bpel.CompleteTaskCommand | CMD_AUTOTASK_ON | AutoOpenTask | 
| DuplicateInvoice | oracle.imaging.axf.commands.bpel.CompleteTaskCommand | OUTCOME | DUPLICATE_INVOICE | 
「タスク・ビューア」で、BPELペイロードXMLからの動的データの表を表示できます(図1-4の下部のタブで示されている請求書処理ソリューションのためのGeneral Ledgerなど)。AXF_METADATA_BLOCKS表内の表およびAXF_METADATA_ATTRIBUTES表内のそのデータ行を構成します。BPELペイロードにおけるXMLデータの書式設定の詳細は、第6.4.10.1項を参照してください。また、B.2.3項も参照してください。
表6-6の下部の行では、構成されたGL Linesと呼ばれる動的データ表の例を示します。
表6-6 AXF_METADATA_BLOCKS表の例
| BLOCK_ID | BLOCK_LOCATION | LABEL | DISPLAY_ORDER | TASK_FLOW_ID | SOLUTION_NAMESPACE | BLOCK_TYPE | METADATA_STYLE | 
|---|---|---|---|---|---|---|---|
| 1 | LEFT_SIDEBAR | Summary | 1 | axf-taskviewer-tfd | InvoiceProcessing | METADATA | null | 
| 2 | LEFT_SIDEBAR | Comments | 2 | axf-taskviewer-tfd | InvoiceProcessing | COMMENT | null | 
| 3 | BOTTOM_PANEL | GL Lines | 3 | axf-taskviewer-tfd | InvoiceProcessing | METADATA | TABLE | 
表6-7では、構成された、GL Lines表のデータ行を示します。この例は、表内の3つのデータ列となります。XPATH属性がAXF_XPATH_ATTRIBUTES表内に存在すると仮定します。
表示されないフィールドには、DATA_TYPE=Stringが含まれます。
表6-7 動的データ表のためのAXF_METADATA_ATTRIBUTES表の例
| BLOCK_ID | ATTRIBUTE_ID | LABEL | ATTRIBUTE_KEY | IS_XPATH | DISPLAY_ORDER | 
|---|---|---|---|---|---|
| 2 | 8 | Line Number | DistributionLines_LineNumber | TRUE | 0 | 
| 2 | 9 | Dist Account | DistributionLines_DistributionAccount | TRUE | 1 | 
| 2 | 10 | Amount | DistributionLines_Amount | TRUE | 2 | 
AXF_METADATA_BLOCKS表に表を追加して、AXF_METADATA_ATTRIBUTES表でそのデータ行を構成したら、次のガイドラインに従って、BPELペイロード内のXMLデータが表での表示のために正しく書式設定されていることを確認します。
XMLペイロード内の任意のレベルで表示するためのXMLのサンプルを次に示します。First column XPATHは、親およびそのピア要素(collectionItem)を取得します。構成された各XPATHは、各collectionItemから表のためのセル値を取得するために使用されるitemValue要素を指します。
| 注意: すべての列は、同じ直接の親要素内に表示される必要があります。 | 
<rootElement>
  <collectionContainerElement>
    <collectionItem>                                        <--First row for table
      <itemValue1>value1</itemValue1>                       <--First column XPATH
      <itemValue2>value2</itemValue2>
      <itemValue3>value3</itemValue3>
    </collectionItem>
    <collectionItem>                                        <--Second row
      <itemValue1>value1</itemValue1>
      <itemValue2>value2</itemValue2>
      <itemValue3>value3</itemValue3>
    </collectionItem>
    <collectionItem>
      <itemValue1>value1</itemValue1>
      <itemValue2>value2</itemValue2>
      <itemValue3>value3</itemValue3>
    </collectionItem>
  </collectionContainerElement>
</rootElement>
前のXMLのためのfirst column XPATHは、次のようになる必要があります。
/task:payload/task:rootElement/collectionContainerElement/collectionItem/itemValue1
使用中のイメージ化ソリューションでタスク・ビューアの下部パネルを使用していない場合、AXFソリューションでは無効化することができます。たとえば、請求書処理のソリューションでは、General Ledger行を表示する下部パネルを非表示にするとします。パネルを非表示にすると、パフォーマンスの速度が上がり、ページ領域を節約できます。
下部パネルを非表示にするには、次のステップを実行します。
Oracle SQL Developerなどのツールを使用し、AXFデータベースへの接続をオープンします。
次の問合せを実行し、BLOCK_IDが下部パネルに使用されていることを確認します。
SELECT BLOCK_ID FROM AXF_METADATA_BLOCKS WHERE BLOCK_LOCATION = 'BOTTOM_PANEL'
次のコマンドを実行してAXF_METADATA_ATTRIBUTES表から行を削除し、BLOCK_IDをステップ2で識別したIDと置換します。
DELETE FROM AXF_METADATA_ATTRIBUTES where BLOCK_ID = BLOCK_ID;insert BLOCK_ID from previous step;
次のコマンドを実行し、AXF_METADATA_BLOCKS表から行を削除します。
DELETE FROM AXF_METADATA_BLOCKS WHERE BLOCK_LOCATION = 'BOTTOM_PANEL'
ドライバ・ページの「構成キャッシュのクリア」ボタンをクリックします。
管理対象添付ファイル・ソリューションをインストールして構成すると、Oracle E-Business Suite添付の紙クリップ・アイコンおよび機能が自動的に無効化されます。イメージング・ソリューションの紙クリップ機能を再度有効化するには、次の手順を行って管理対象添付ファイル・ソリューションを無効化します。
| 注意: この項は、Oracle E-Business Suiteを使用する場合のみ適用されます。 | 
AXF_CONFIGS表(Oracle E-Business Suite)表を開きます。
FORMFUNCTIONフィールドでAXF_MANAGED_ATTACHMENTSエントリの名前を変更します。詳細は、B.4.2.2項を参照してください。
たとえば、エントリ名を次のように変更します。
AXF_MANAGED_ATTACHMENTS-DISABLED
| 注意: 管理対象添付ファイル・ソリューションを再度有効化するには、FORMFUNCTIONフィールドを変更して次のエントリに戻してください。 
 | 
AXF_PROPERTIES表内のAXF_PAPERCLIPプロパティがTRUEに設定されていることを確認します。詳細は、第B.4.5項を参照してください。
ソリューションの一部として表示されるすべてのOracle PeopleSoftポップアップ・ウィンドウのシステム全体のデフォルト・サイズを変更できます。次の点に注意してください。
デフォルトのポップアップ・ウィンドウ・サイズは高さ600ピクセル、幅800ピクセルです。PS_AXF_PROPERTIES表で設定します。この表でサイズが設定された場合、ユーザーはポップアップ・ウィンドウ・サイズを自分で設定および保存することはできません。
ウィンドウ・サイズを変更するには、B.5.5項で示されているように、表に新しい値を入力します。
ポップアップ・ウィンドウ・サイズを削除するには(および、個々のユーザーに、標準のブラウザ・コントロールの使用によるポップアップ・ウィンドウ・サイズの変更と保存を可能にするには)、PS_AXF_PROPERTIES表からWINDOW_HEIGHT行とWINDOW_WIDTH行を削除します。