この章の構成は、次のとおりです。
注意:
Oracle E-Business Suite Oracle Application Framework (OAF)アプリケーションからイメージング・ソリューションへのアクセスを提供できます。詳細は、OAFページのその他のサービスの構成(オプション)を参照してください。
注意:
「タスク・リスト」でユーザーに表示されるプロファイルおよび「タスク・ビューア」でユーザーに表示されるタスク・アクションとメタデータの変更など、イメージング・ソリューションへの特定の変更を行うには、イメージング・ソリューション・エディタを使用します。ソリューション・エディタの詳細は、『Oracle WebCenter Content: Imagingの管理』のソリューション・エディタ・ページを参照してください。
AXFソリューションによる使用のためのBPEL接続の構成には、次のタスクが含まれます。
Credential Store Framework (CSF)により、Imaging接続構成で使用するためのユーザー名/パスワードの別名を作成できます。CSF別名では、ユーザー名とパスワードのかわりにキーを提供し、Imaging接続の作成においてこのキーを使用します。(複数のImaging接続に対して1つのCSFキーを使用できます。)
キーおよび別名の作成の詳細は、『Oracle Fusion Middlewareの管理』のOracle Fusion Middlewareでの鍵および証明書の保存に関する項を参照してください。
注意:
MS LDAPをユーザー・リポジトリとして使用してAXFソリューションを実装している場合、資格証明ユーザーは、ビルトインCNのMS LDAP内の管理者グループに属する管理者である必要があります。AXFでは、特定のセルの作成時(SOAからタスク・リストを取得するときなど)に、この資格証明ユーザーを使用します。さらに、CN=Builtinをインポートするために、グループ・ベースDN (WLSコンソール使用、プロバイダ固有)を構成する必要があります。
この手順に従って、Imaging接続での接続の作成で説明したように、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表を構成します。表の説明および例の実装は、BPELイメージング・ソリューション・リファレンスで提供されます。
または
ソリューション実装アクセラレータを適用します。アクセラレータを入手するには、システム・インテグレータ、Oracle ConsultingまたはOracleサポートに連絡してください。
AXF Webアプリケーションのドライバ・ページにアクセスして機能を検証します。ドライバ・ページの詳細は、『Oracle WebCenter Contentのインストールと構成』のHelloWorldを使用したBPEL用AXFのインストールと構成の検証を参照してください。
イメージング・ソリューションのためのオプションの構成を次に示します。
セッションごとに初めてImagingビューアにアクセスする際にユーザーがImagingにログインする必要がないようにするには、次の手順に従います。Imagingのホスト名とAXFサーバーのホスト名が一致するように、フロントエンドHTTPホストおよびポートを設定します。
次の手順に従って、フロントエンドHTTPホストとポートを設定します。
Oracle E-Business SuiteやOracle PeopleSoftから渡されたユーザーではなく、認証Oracle WebLogic Serverユーザーに、BPELタスクなどのタスクの実行を許可できます。このため、Oracle E-Business Suite/Oracle PeopleSoftとOracle WebLogic Serverについて別のユーザーを保存できます。
関連するAXF_SOLUTION_ATTRIBUTES表の構成を、表5-1に示します。AXF_SOLUTION_ATTRIBUTES表も参照してください。
表5-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ユーザーを使用してタスクを実行します。
注意:
Managed Attachments構成については、USERNAME_PASS_THROUGHパラメータをTRUEに設定しておく必要があります。管理対象添付ファイルのためのAXF_ATTACHMENTS_CONFIG.SQLスクリプト(管理対象添付ファイルのUCM Webサービス実装の要素の構成で説明)では、この値はTRUEに設定されます、値が指定されない場合、この値はデフォルトでTRUEに設定されます。管理対象添付ファイルのためのビジネス・アプリケーション・ユーザーのパス・スルーの復元も参照してください。
注意:
データベースでUSERNAME_PASS_THROUGHの値を変更した後は、Oracle WebLogic Server管理コンソールでImagingアプリケーションを停止し、再起動してください。
パフォーマンスおよびスケーラビリティを強化するために、Imaging管理対象サーバーのAXFではデータ・キャッシング・ソリューションにCoherenceをデフォルトで使用します。Oracle WebCenter Content: Imaging内で使用可能なOracle Coherenceライセンスには制約があります。デフォルトで、Imagingは分散データ・キャッシングなしでローカル・キャッシング・スキームをサポートしています。高可用性(HA)環境では、キャッシュされたエントリはJava仮想マシン(JVM)または他のマシン間で共有されません。
クラスタ化されたシステムでは、AXFで、キャッシュを分散する必要があります。キャッシュが分散されないと、マシンによっては対話が使用できない場合があります。
Coherenceの構成の詳細は、『Oracle WebLogic Serverクラスタの管理』のCoherenceクラスタの構成および管理に関する項を参照してください。
次のトピックでは、Coherenceキャッシュについて説明します。
Coherenceにより提供されるキャッシュ・モードの基本タイプの詳細は、『Oracle Coherenceでのアプリケーションの開発』のCoherenceキャッシュの概要を参照してください。
次の表は、WebCenter Content: Imaging用に構成できるAXF Coherenceキャッシュ・エントリを示しています。
表5-2 WebCenter Content: ImagingでのAXF Coherenceキャッシュ
キャッシュ名 | 用途 | デフォルトのCoherence構成 |
---|---|---|
oracle.imaging.axf |
AXF用キャッシュ |
Imaging60MinuteCache |
次の表に、デフォルトのCoherence構成プロパティを示します。
表5-3 Coherence構成プロパティ
デフォルトの構成 | 削除ポリシー | 高ユニット | 有効期限の遅延 |
---|---|---|---|
Imaging60MinuteCache |
ハイブリッド |
0 (無制限) |
1時間 |
次のように、Coherence構成プロパティを定義します。
高ユニットは、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を表します
ハイブリッド削除ポリシーでは、エントリに対するアクセス頻度と最後にアクセスされた時間の組合せに基づいて(加重スコア)、削除対象エントリが選択されます。アクセス頻度が最も低いエントリおよびアクセスされていない期間が最も長いエントリが最初に削除されます。
有効期限の遅延では、前回の更新からエントリが期限切れとマークされるまでの期間を指定します。期限切れのエントリを読み取ろうとすると、構成済のキャッシュ・ストアからエントリをリロードすることになります。期限切れになった値は、キャッシュから定期的に破棄されます。
複数の同時ユーザーによるAXF構成では、エンド・ユーザーが自動タスク・モードでタスクの取得を試みたときに衝突が発生する可能性があります。(自動タスク・モードの詳細は、Autotaskコマンドを参照してください)。衝突を避けるには、AXFデータベースで、名前付きBPEL接続ごとに自動タスク・ロックを有効化します。ロックが有効な場合は、1人のユーザーのみが、指定された時間に自動的にタスクを取得する可能性があります。
ロック機能の有効化は、2人のユーザーが同時にタスクを取得したときにエラーが「タスク・リスト」に表示されるのを防ぐため、お薦めの設定です。同時取得が起こる可能性が低い状況では、ロック機能を無効化するとパフォーマンスが向上する可能性があります。
設定は、次の行を挿入することで、AXF_SOLUTION_ATTRIBUTES表で構成されます。
SOLUTION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE |
---|---|---|
BPEL.default |
USE_AUTOTASK_LOCKING |
TRUE |
Update Task From Procedureコマンドで説明しているように、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ターゲット・ウィンドウを使用します。
Validate Taskコマンドで説明しているように、Validate Taskコマンドは、BPELシステム属性またはBPELペイロード・データを検証し、検証結果に基づいて、後続のコマンドを実行します。
次の例および対応する手順では、タスクの完了を許可する前にトランザクションIDが存在することを確認する検証を追加します。この例では、請求書処理ソリューション実装アクセラレータ・データをインストールしてあると仮定します。
注意:
タスクを完了する前にビジネス・アプリケーションの請求書を作成する必要がある使用事例でのみ、この構成変更を適用します。タスクを完了する前に請求書を作成しない可能性がある使用事例(たとえば、一般的には、仕入先の保守の結果によってタスクが完了されている場合)では、この構成は当てはまりません。
AXFインフラストラクチャ内で作業するためにカスタム・コマンドをデプロイすることもできます。カスタム・コマンドは、oracle.imaging.axf.commands.AxfCommandインタフェースを実装する必要があります。インフラストラクチャによって実行(AxfRequest)メソッドが呼び出されます。AXF構成データベース内で実行するように実装を構成します。
また、コマンドは、oracle.imaging.axf.commands.ValidatableCommandインタフェースを実装する場合があります。これは、AXFインフラストラクチャが、構成およびコマンドの動作を、システム・コマンド・ステータスを提供するために実行することなく検証するための方法を提供します。
一部のAXFコマンドには、コマンドの完了後に起こることを指定して、それらの連鎖を可能にする、パラメータ・キーがあります。たとえば、表5-7は、AXF_SOLUTION_PARAMETERS表の一部を示しています。CompleteTaskコマンドを実行したら、追加のAXFコマンドが実行されます(プログラム・ロジックに基づいて、StartInvoiceProcessingおよびAutoOpenTask)。
表5-7 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-5の下部のタブで示されている請求書処理ソリューションのためのGeneral Ledgerなど)。AXF_METADATA_BLOCKS表内の表およびAXF_METADATA_ATTRIBUTES表内のそのデータ行を構成します。BPELペイロードにおけるXMLデータの書式設定の詳細は、動的データ表の構成または無効化を参照してください。また、タスク・ビューアWebツールも参照してください。
表5-8の下部の行では、構成されたGL Linesと呼ばれる動的データ表の例を示します。
表5-8 AXF_METADATA_BLOCKS表の例
BLOCK_ID | BLOCK_LOCATION | LABEL | DISPLAY_ORDER | TASK_FLOW_ID | SOLUTION_NAMESPACE | BLOCK_TYPE | METADATA_STYLE |
---|---|---|---|---|---|---|---|
1 |
LEFT_SIDEBAR |
サマリー |
1 |
axf-taskviewer-tfd |
InvoiceProcessing |
METADATA |
null |
2 |
LEFT_SIDEBAR |
コメント |
2 |
axf-taskviewer-tfd |
InvoiceProcessing |
COMMENT |
null |
3 |
BOTTOM_PANEL |
GL Lines |
3 |
axf-taskviewer-tfd |
InvoiceProcessing |
METADATA |
TABLE |
表5-9では、構成された、GL Lines表のデータ行を示します。この例は、表内の3つのデータ列となります。XPATH属性がAXF_XPATH_ATTRIBUTES表内に存在すると仮定します。
表示されないフィールドには、DATA_TYPE=Stringが含まれます。
表5-9 動的データ表のための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
管理対象添付ファイル・ソリューションをインストールして構成すると、Oracle E-Business Suite添付の紙クリップ・アイコンおよび機能が自動的に無効化されます。イメージング・ソリューションの紙クリップ機能を再度有効化するには、次の手順を行って管理対象添付ファイル・ソリューションを無効化します。
注意:
この項は、Oracle E-Business Suiteを使用する場合のみ適用されます。
ソリューションの一部として表示されるすべてのOracle PeopleSoftポップアップ・ウィンドウのシステム全体のデフォルト・サイズを変更できます。次の点に注意してください。
デフォルトのポップアップ・ウィンドウ・サイズは高さ600ピクセル、幅800ピクセルです。PS_AXF_PROPERTIES表で設定します。この表でサイズが設定された場合、ユーザーはポップアップ・ウィンドウ・サイズを自分で設定および保存することはできません。
ウィンドウ・サイズを変更するには、PS_AXF_PROPERTIES表で示されているように、表に新しい値を入力します。
ポップアップ・ウィンドウ・サイズを削除するには(および、個々のユーザーに、標準のブラウザ・コントロールの使用によるポップアップ・ウィンドウ・サイズの変更と保存を可能にするには)、PS_AXF_PROPERTIES表からWINDOW_HEIGHT行とWINDOW_WIDTH行を削除します。