Oracle Application Server Adapter for Oracle Applicationsユーザーズ・ガイド 10g (10.1.3.3.0) E05570-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章の構成は、次のとおりです。
Oracle Applicationsは、すべてがインターネット上で動作する統合ビジネス・アプリケーションのセットです。Oracle Applicationsにより、次のことが可能になります。
コストの削減
経営から事務管理に至る全体の収益の増加
最新で正確かつ一貫したデータ・アクセス
Oracle Applications内のアプリケーションは、OracleおよびOracle以外のアプリケーションのデータを統合する統合情報アーキテクチャの上に構築され、企業全体で一貫した顧客、仕入先、取引先および従業員の定義が可能になります。この結果、一連のアプリケーションで最新の実績値、財務比率、損益のサマリーなどの情報を提供することが可能になります。Oracle ApplicationsをOracle以外の他のアプリケーションと接続するには、OracleAS Adapter for Oracle Applicationsを使用します。
OracleAS Adapter for Oracle Applicationsでは、Oracle Applicationsに対して、包括的、双方向、マルチモード、同期および非同期の接続が可能になります。 OracleAS Adapterでは、リリース12およびリリース11.5.1〜11.5.10のOracle Applicationsの全モジュールと、Oracle E-Business Suiteの各種バージョン(リリース12、リリース11i10および11i10より前のリリースなど)を参照するカスタム統合インタフェースがサポートされます。
注意: この概要では、現在のリリースのOracleAS Adapter for Oracle Applicationsにおける新機能の詳細を説明しています。詳細は、「このリリースの新機能」を参照してください。
OracleAS Adapter for Oracle Applicationsは、次の機能で構成されています。
J2EE Connector Architecture(J2CA)、eXtensible Markup Language(XML)、Web Service Invocation Framework(WSIF)、Web Service Inspection Language(WSIL)およびWeb Service Definition Language(WSDL)などのオープン標準をサポートします。
Oracle Applicationsインタフェースの動的な参照およびアダプタ・メタデータの構成に、JDeveloperベースの設計時ツールを使用します。
XML Gatewayでの接続により、IFX、OAG、RosettaNetおよびUCCnetなどのオープン標準に準拠したアプリケーションを統合します。
J2CA拡張子を持つWSDLファイル形式でアダプタ・メタデータを生成します。
注意: 詳細は、OTNの『Oracle Application Server Adapter概要』を参照してください。
Oracle E-Business Suiteの各種バージョン(リリース12、リリース11i10および11i10より前のリリースなど)を参照するカスタム統合インタフェースをサポートします。
アプリケーション・コンテキストの概念に基づいて複数言語および複数組織の設定をサポートします。
OracleAS Adapter for Oracle ApplicationsはJ2CA 1.0標準に基づいており、BPEL Process Managerと同じOracle Application Server Containers for J2EE(OC4J)コンテナにリソース・アダプタとして配置されます。OracleAS Adapter for Oracle Applicationsのアーキテクチャは、テクノロジ・アダプタのアーキテクチャに類似しています。
OracleAS Adapter for Oracle Applicationsのアーキテクチャ
OracleAS Adapter for Oracle Applicationsは、Oracle Applications用の非常に柔軟性の高い統合インタフェースとして動作します。アダプタでは、Oracle Applicationsを統合する、次のインタフェース・タイプがサポートされています。
Oracle XML Gateway
XML Gatewayは、Oracle Applicationsと双方向に統合できます。これは、Oracle Applicationsへのデータの挿入や、Oracle Applicationsからのデータの取得に役立ちます。XML Gatewayは、一般的に使用されるOracle Applicationビジネス・オブジェクトおよびビジネス・インタフェースに対応したOAGIS形式のXMLドキュメントを公開する、よりレベルの高いインタフェースです。XML Gatewayは、インタフェース表、Oracle Workflowビジネス・イベント・システム(BES)およびインタフェース・ビューと統合し、Oracle Applicationsへのデータの挿入や、Oracle Applicationsからのデータの取得を行います。また、基礎となる表データをXMLにマップします(その逆も行います)。
ビジネス・イベント
ビジネス・イベントは、重要なことが起こるとき、または起こる可能性があるときに、インターネット・アプリケーションで発生します。ビジネス・イベントの例には、新規発注の作成があります。BESは、Oracle Advanced Queuing(AQ)インフラストラクチャを使用してシステム間でビジネス・イベントを伝達するアプリケーション・サービスです。
コンカレント・プログラム
コンカレント・プログラムを使用すると、インタフェース表から実表へのデータ移動が可能です。
インタフェース表
インタフェース表を使用すると、Oracle Applicationsにデータを挿入または更新できます。インタフェース表から実表にデータを移動するには、関連するコンカレント・プログラムが動作している必要があります。
インタフェース・ビュー
インタフェース・ビューを使用すると、アプリケーション表を使用してOracle Applicationsからデータを取得できます。
PL/SQL API
これらのAPIを使用すると、PL/SQLを使用してOracle Applicationsにデータを挿入および更新できます。
Oracle E-Commerce(EDI) Gateway
Oracle E-Commerce Gatewayは、Oracle Applicationsとサード・パーティ・アプリケーションとの電子データ交換(EDI)統合用に標準ベースの共通アプローチを提供します。
OracleAS Adapterでは、Oracle Integration RepositoryではなくOracle Applicationsモジュール・ブラウザにより公開される次の統合インタフェース・タイプもサポートしていることに注意してください。
カスタマイズされたXML Gatewayマップ
カスタマイズされたPL/SQL API
注意: ビジネス・イベント統合インタフェース・タイプも、Oracle Integration RepositoryではなくOracle Applicationsモジュール・ブラウザにより公開されます。
統合インタフェースは、Oracle BPEL Process Managerを介したプロセスの統合に利用できます。
Oracle Integration Repositoryは、Oracle E-Business Suiteに不可欠な機能で、Oracleアプリケーションが提供する様々なパブリック統合インタフェース(ビジネス・インタフェースと呼ばれます)に関する情報のビルトイン・カタログです。Oracle Integration Repositoryは、Oracle E-Business Suiteのビジネス・インタフェースに使用できるインタフェース・メカニズムの包括的なビューを備えています。インタフェースの定義は、Oracle Integration Repositoryの要件に応じて設計時に注釈付けされるため、これらのインタフェースは公開されています。
Oracle Integration Repositoryが提供できるのは、開発者が公開のために特に注釈を付けた統合インタフェースに関する情報のみです。OracleAS Adapterは、次のビジネス・インタフェース・タイプをOracle Applicationsモジュール・ブラウザに表示するために作成されていた注釈を利用します。
XML Gatewayメッセージ・マップ
PL/SQL API
コンカレント・プログラム
オープン・インタフェース表
インタフェース・ビュー
E-Commerce Gateway EDIメッセージ
これらのビジネス・インタフェースはWebサービスとして公開され、Oracle BPEL Process Managerを介したプロセスの統合に利用できます。
詳細は、『Oracle Integration Repository User's Guide』を参照してください。このマニュアルは、Oracle Applicationsドキュメント・ライブラリに付属しています。Oracle Applicationsマニュアルには、次のリンクからアクセスできます。
http://www.oracle.com/technology/documentation/applications.html
Oracle E-Business Suiteのサポートを拡張するために、OracleAS Adapterでは、Oracle E-Business Suiteの次のバージョンの参照により、カスタマイズされたPL/SQL APIなど、Oracle Integration Repositoryを暗黙的または明示的に利用してカスタム・インタフェースをサポートする機能が拡張されています。
ビジネス・サービスの作成と実行時の観点では、カスタマイズされたPL/SQL APIはOracleAS Adapterによりシード済のPL/SQL APIの一部として扱われます。 唯一の違いは、カスタマイズされたPL/SQL APIは設計時にOracle Applicationsモジュール・ブラウザで公開できることです。
Oracle E-Business Suiteリリース12のサポート
リリース12からは、Oracle Integration RepositoryがE-Business Suiteに同梱されています。これにより、OracleAS AdapterではOracle Integration Repositoryの本番データベースに直接接続してpublicインタフェースを問い合せてから、カスタマイズされたPL/SQL APIのリストをOracle Applicationsモジュール・ブラウザのその他インタフェース・ノードの下に表示できます。
リリース12におけるカスタム統合インタフェースのサポート
OracleAS Adapterでは、Oracle Applicationsに接続する本番データベースからIntegration Repositoryデータファイルを抽出し、Integration Repositoryのローカル・コピーをワークプレイスに作成できることに注意してください。 次回にpublicインタフェースを検索する際には、システムでワークプレイス内のキャッシュ・バックエンド接続からデータを取得できます。
Oracle E-Business Suiteリリース12への接続の詳細は、各統合インタフェースの「パートナ・リンクの作成」または「パートナ・リンクの追加」設計時タスクを参照してください。
Oracle E-Business Suiteリリース11i10のサポート
Oracle E-Business Suiteのリリース11i10をサポートするために、OracleAS AdapterはOracle Integration Repositoryの本番データベースに接続し、データファイルを問合せのためOracleAS Adapter内に格納します。 設計時に、OracleAS Adapterは内部のIntegration RepositoryのネイティブXMLデータファイルからpublicインタフェースを問い合せて、Oracle Applicationsモジュール・ブラウザのその他インタフェース・ノードの下にカスタム統合インタフェースのリストを表示します。
リリース11i10におけるカスタム統合インタフェースのサポート
リリース11i10より前のOracle E-Business Suiteのサポート
リリース11i10より前のOracle E-Business Suiteをサポートするために、OracleAS Adapterは、すべてのインタフェース・タイプについてOracle Integration Repositoryの本番データベースに接続します。 リリース11i10より前のOracle E-Business Suiteでは、public、privateおよびカスタマイズされたPL/SQL APIの間に違いがないため、OracleAS AdapterではすべてがOracle Applicationsモジュール・ブラウザを介して各モジュールのノードの下に表示されます。
11i10より前のリリースについてブラウザから選択する前に、「アダプタ構成ウィザード」で使用するインタフェース・タイプを選択する必要があります。 ブラウザには、選択したタイプの全インタフェースが表示されます。
たとえば、「EDIゲートウェイ」インタフェース・タイプを選択した場合、Oracle Applicationsモジュール・ブラウザには、e-Commerce (EDI) Gatewayに関連付けられているコンカレント・プログラムのリストが表示されます。
11i10より前のリリースにおけるカスタム統合インタフェースのサポート
設計時にモジュール・ブラウザでAPIを選択すると、選択したAPIはOracleAS Adapterによりデータベースと照合して検証されます。 そのAPIが特定バージョンのインスタンスのデータベースに存在していれば、関連WSDLファイルが正常に生成されます。
この項では、OracleAS Adapter for Oracle Applications 10g (10.1.3.3.0)で追加された新機能について説明します。
Oracle E-Business Suiteのサポートを拡張するために、OracleAS AdapterではOracle E-Business Suiteリリース12に同梱されているOracle Integration Repositoryの本番接続を介してOracle Applicationsにアクセスできるようになりました。
OracleAS Adapterには、本番データベース接続のみでなく、Oracle Applicationsに接続している本番データベースからIntegration Repositoryデータファイルを抽出し、Integration Repositoryのローカル・コピーをワークプレイスに作成する機能も用意されています。 ローカル・コピーが正常に作成されると、次回にインスタンスに接続する際にはそれが自動的に取得されます。 このため、Oracle Applicationsに接続するたびにリポジトリ・データファイルを取得する必要がなく、ローカル・データベースからのデータ・アクセスが高速かつ容易になります。
OracleAS Adapterでは、Oracle E-Business Suiteの次のバージョンの参照により、カスタマイズされたPL/SQL APIなどのカスタム統合インタフェースに対するサポートが拡張されています。
リリース12
リリース11i10
11i10より前のリリース
複数組織設定をサポートするために、OracleAS Adapterには、Oracle Applications設定時にプロファイル値から暗黙的に導出するかわりに、設計時にヘッダー変数を作成して組織ID情報を直接入力できるメカニズムが用意されています。 ヘッダー変数を宣言し、PL/SQL APIまたはアプリケーション・コンテキストの設定を必要とするインタフェースを介してビジネス・アクティビティ用の組織IDに値を割り当てると、ヘッダーに指定した組織値がBPELプロセスの残りのアクティビティに渡されて、入力として使用されます。
このヘッダー変数メカニズムを複数組織設定のサポートに使用するメリットは、組織ID値がヘッダーで指定されている場合に、1つの単一BPELプロセスのみで組織情報をE-Business Suite内の複数の組織に容易に配置できることです。 以前のリリースでは、組織IDはアプリケーション・ログオン・ユーザーのユーザー名と職責に基づいてプロファイル値から暗黙的に導出されていたため、挿入できるのはデプロイ済BPELプロセスの起動に関連した組織のみでした。
OracleAS Adapterでは、Oracle E-Business Suiteの複数言語サポート(MLS)機能を利用することで、ユーザーがリクエストしたAPIを介してBPELプロセスをデプロイするときに、ログオン・ユーザーのデフォルト言語を実行時に動的に表示できます。
この機能により、アプリケーション・ユーザーがAPIの実行中にシステムからトランザクション・データを取得したり、エラー・メッセージを受信すると、データまたはエラー・メッセージはユーザーのデフォルト言語で表示されます。 また、ユーザーがリージョンに基づいて日付を設定している場合は、データの取得後に、ユーザーの「プリファレンス」ページで定義されている情報に対応する書式とタイムゾーン情報とともに戻された日付が表示されます。
アプリケーション・コンテキストは、Oracle Applicationsとの安全なトランザクション処理のために必要です。
アプリケーション・コンテキストは、組織ID、ユーザー名および職責を組み合せたものです。アプリケーション・コンテキストを設定するために、Oracle Applications設定データから組織IDが暗黙的に導出されます。
アプリケーション・コンテキストを理解するには、まず組織IDと複数の組織がどのように関連しているかを理解する必要があります。
複数の組織と組織間のリレーションシップは、Oracle Applicationsの単一インストールで定義できます。このような組織には、会計帳簿、ビジネス・グループ、法的エンティティ、営業単位または在庫組織があります。
各階層の最上位のビジネス・グループを使用して、複数レベルの組織階層を定義できます。新しい組織を定義すると、現在のセッションに関連付けられたビジネス・グループに自動的に割り当てられます。各組織はビジネス・グループに属しています。通常、ビジネス・グループは企業の組織図の最上部にあるボックスです。
ビジネス・グループ階層
次の図に示すように、複数レベルの会社構造を作成するには、Oracle Applicationsの会計、配布および資材管理の各機能を使用して、在庫組織、営業単位、法的エンティティおよび会計帳簿間のリレーションシップを定義します。
複数組織トランザクション
フランスの営業所とドイツの倉庫という、社内の2つの異なる組織を考えてみましょう。顧客からの発注トランザクションが存在します。この図は発注から搬送までの全体的なプロセスを示しています。
顧客がフランスの営業所に発注します。
ドイツの倉庫が顧客へ製品出荷を行います。
ドイツの倉庫がフランスの営業所に会社間請求書を発行します。
フランスの営業所がドイツの倉庫に会社間支払を実行します。
フランスの営業所が顧客に顧客請求書を送付します。
顧客がフランスの営業所に支払を実行します。
データベース・アーキテクチャは、複数組織インストールでも非複数組織インストールでも同じであり、標準のインストール・ツール機能が使用されます。この機能により、ベース製品表ごとにAPPSスキーマにシノニムが自動的に作成され、ベース製品表と同じ名前を使用してこれらのシノニムが定義されます。たとえば、PO OracleスキーマにはPO_HEADERS_ALLという名前の表があり、APPSスキーマには同じ名前の対応するシノニムPO_HEADERS_ALLがあります。PO_HEADERS_ALLシノニムを使用すると、パーティション化されていないデータにアクセスできます。
スキーマ・シノニム
Oracle Applicationsがユーザー名と職責を組織IDにどのように関連付けるかを見てみましょう。システム・プロファイル値を設定するときに、ユーザー名と職責が、ユーザー名と職責を持つ組織に関連付けられます。
複数組織システム・プロファイル
次の図は、Oracle Applicationsがプロファイル・オプションをどのように使用するかを示しています。
アプリケーション・コンテキストの作成
システム・インテグレータが実行されると、プロセスがPL/SQL APIを使用してOracle Applicationsとの統合を実行します。
Apps.Initializeプロセスは、ユーザー名および職責のパラメータを使用します。
これらのパラメータを使用して、システム・プロファイル値の参照が行われ、営業単位が決定されます。
営業単位は、システム・プロファイル値の組織IDとしてモデル化されます。
ユーザー名、職責および組織IDのパラメータを使用して、Oracle Applicationsとの間でデータの読取りと書込みが行われます。
アプリケーション・コンテキストの概念に基づき、OracleAS Adapter for Oracle Applicationsには次の機能が用意されています。
複数組織設定をサポートするために、OracleAS Adapterには、Oracle Applications設定時に組織情報をプロファイル値から暗黙的に導出するかわりに、設計時にヘッダー変数を作成して組織ID情報を直接入力できるメカニズムが用意されています。
OracleAS Adapterでは、ヘッダー変数を使用してユーザー名、職責および組織IDを組み込みます。この3つは、アプリケーション・コンテキストに不可欠な要素です。 ヘッダー変数を宣言し、PL/SQL APIまたはアプリケーション・コンテキストの設定を必要とするインタフェースを介してビジネス・アクティビティ用のヘッダーに含まれる各パラメータに適切な値を割り当てると、ヘッダー内の値がBPELプロセスの残りのアクティビティに渡されて、入力として使用されます。
注意: アプリケーション・コンテキストの設定を必要とする統合インタフェース・タイプは、PL/SQL API、コンカレント・プログラムおよびEDIプログラムです。
ヘッダー変数の作成と割当て
このヘッダー変数メカニズムを複数組織設定のサポートに使用するメリットは、組織ID値がヘッダーで指定されている場合に、1つの単一BPELプロセスのみで組織情報をE-Business Suite内の複数の組織に容易に配置できることです。 以前のリリースでは、組織IDはアプリケーション・ログオン・ユーザーのユーザー名と職責に基づいてプロファイル値から暗黙的に導出されていたため、挿入できるのはデプロイ済BPELプロセスの起動に関連した組織のみでした。
「複数組織の設定の例」に示した例では、フランスの営業所で変更オーダーが処理されると、フランス営業所の営業マネージャがシステムにログオンしてオーダーを更新します。これにより、その変更に関するPL/SQL APIが起動します。 ヘッダー変数に含まれる組織IDに値(フランス営業所を表す207など)が割り当てられていれば、営業マネージャに関連付けられている組織IDがフランス営業所に設定され、APIの起動に使用されます。
注意: Oracle E-Business Suiteリリース12では、「組織ID」パラメータが「ユーザー名」および「職責」とともに自動的にヘッダー変数に追加されます。 リリース11.5.10の場合、ヘッダーに「組織ID」を表示するには、Oracle Applicationsインスタンスにバック・ポート・パッチ4549743を適用する必要があります。
OracleAS Adapterでは、次の手順に従って、複数組織設定で組織IDをサポートするための設計時タスクを完了します。
invokeアクティビティの構成とヘッダー変数の作成
このアクティビティでは、次のタスクを実行します。
invokeアクティビティを、作成したパートナ・リンクにリンクすることで構成します。 これにより、「編集 Invoke」ダイアログ・ボックスの「一般」タブが開きます。このタブに、「パートナ・リンク」および「操作」情報が移入されています。 invokeアクティビティの入力変数と出力変数を作成します。
アプリケーション・ユーザーとユーザー関連の組織情報を識別するために、Oracle Applicationsのアプリケーション・コンテキストで使用するヘッダー変数を作成します。
assignアクティビティを使用した組織IDの割当て
ヘッダー変数の作成後に、assignアクティビティをinvokeアクティビティの前に配置することで構成する必要があります。
「Assign」ダイアログ・ボックスで「コピー操作」タブを選択し、「作成」ドロップダウン・リストから「コピー操作」を選択します。
「From」グループで、「式」フィールドにORG_ID値(207など)を入力します。 「To」グループで、変数を宣言する変数ヘッダーを見つけ、ヘッダーのORG_IDパラメータに組織IDを割り当てます。
ORG_IDへの値の割当て
OracleAS Adapterでは、Oracle E-Business Suiteの複数言語サポート(MLS)機能を利用することで、ユーザーがリクエストしたAPIを介してBPELプロセスをデプロイするときに、ログオン・ユーザーのデフォルト言語を実行時に動的に表示できます。 アプリケーション・ユーザーがAPIの実行中にシステムからトランザクション・データを取得したり、エラー・メッセージを受信すると、データまたはエラー・メッセージはユーザーのデフォルト言語で表示されます。 また、ユーザーがリージョンに基づいて日付を設定している場合は、データの取得後に、ユーザーの「プリファレンス」ページで指定したデフォルト情報に対応する書式とタイムゾーン情報とともに戻された日付が表示されます。
OracleAS AdapterによるMLS機能のサポートを理解するには、まずアプリケーション・データベースからのデータ取得方法を理解する必要があります。
OracleAS Adapterで起動するAPIの多くはデータベース・ビューを問い合せ、これらのビューではAPIの起動に使用されるアプリケーション・ユーザーのデフォルト言語でデータが表示されます。 つまり、OracleAS Adapter内で公開されるAPIでは言語が認識されます。 アプリケーション・ユーザーがAPIの実行を介してトランザクションをリクエストする時点で、データベース・ビューからのデータ問合せはユーザーが「プリファレンス」ページで指定したデフォルト言語で初期化されている必要があります。
データベース・セッションでデータの問合せおよび取得に使用されるデフォルト言語を識別するために、OracleAS Adapterでは最初に全レベル(ユーザー、職責、アプリケーションおよびサイト)でICX: 言語プロファイル値が検査されます。 このプロファイルがどのレベルでも設定されていなければ、データベース・インスタンスの各国語サポート(NLS)パラメータからNLS_LANGUAGEパラメータが使用されます。 セッション中に初期化されるNLSパラメータは、次のとおりです。
NLS_LANGUAGE
NLS_SORT
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS
NLS_TERRITORY
ユーザーのデフォルト言語に基づく動的な言語表示
たとえば、デフォルト言語として日本語を使用するユーザーがシステムにログインし、BPELプロセスのパートナ・リンクで定義したAPIの実行を介してトランザクションを実行すると、OracleAS Adapterでは日本語ログオン・ユーザーのユーザー名と職責を使用して、データベース・セッション中に使用されたデフォルトの言語コード(日本語の場合はJAなど)が識別されます。 その結果、NLSコンテキスト・パラメータは日本語で設定されます。 したがって、このユーザーが問い合せたデータやエラー・メッセージはすべて、Oracle Applicationsの「一般プリファレンス」ページで設定したユーザーのデフォルト言語に対応する日本語で表示されます。
注意: 「一般プリファレンス」ページで設定したデフォルト言語により、ICX: 言語プロファイル・オプションが更新されます。
アプリケーション・ユーザーが使用するデフォルト言語の設定方法は、『Oracle Applications User’s Guide』の「Getting Started with Oracle Applications」、プリファレンスの設定に関する項を参照してください。
MLSサポート機能を実装するには、変数をアクティビティに渡すことができるように、invokeアクティビティの構成前に次の設計時タスクを実行します。
オプションで、ヘッダー変数{http://xmlns.oracle.com/pcbpel/adapter/appscontext/}Header_msgを設定して、APIの実行に使用するユーザー名と職責を定義できます。 この宣言は、APIを実行するアプリケーション・ユーザーを識別できるように、Oracle Applicationsにコンテキスト情報を提供します。
注意: ヘッダー変数宣言はOracle Applicationsにアプリケーション・ユーザーを識別するためのコンテキスト情報を提供するため、OracleAS Adapterでは、この変数宣言がMLS機能のサポートのみでなく、複数組織設定における組織IDのサポートなど、アプリケーション・コンテキストの概念を利用する他の機能のサポートにも使用されます。
ヘッダー変数の宣言
このヘッダー変数の宣言はオプションのため、変数を宣言しなければ、デフォルトのユーザー名はSYSADMIN、デフォルトの職責はシステム管理者となります。
ヘッダー変数を宣言した後、assignアクティビティを使用して変数値を割り当てる必要があります。 たとえば、「From」グループの「式」フィールドにユーザー名(Operationなど)を入力します。 「To」グループで、変数を宣言する変数ヘッダーを見つけて、ユーザー名変数に値を割り当てます。
変数値の割当て
ヘッダー変数に定義したユーザー名を使用して、BPELプロセスのパートナ・リンクに定義したAPIを実行するセッションのコンテキスト内で設定されるNLS変数が導出されます。
Oracle Application Server Adapterは、Oracle BPEL Process Manager(PM)製品とともにインストールされます。OracleAS Adapter for Oracle Applicationsは、Oracle JDeveloperのOracle BPEL PMを使用してデプロイされます。
注意: Oracle BPEL Process Managerのインストールの詳細は、Oracle BPEL Process Managerのインストレーション・ガイドを参照してください。Oracle BPEL Process Managerのインストールに関する注意の項を参照してください。
Oracle Integration Repositoryを介して使用できるインタフェース以外に、OracleAS Adapter for Oracle Applicationsを使用すると、ビジネス・イベント、カスタマイズされたPL/SQL API、カスタマイズされたXML Gatewayマップおよび選択したコンカレント・プログラムを使用できます。これらはすべて、Oracle Applicationsモジュール・ブラウザを使用して参照できます。
Oracle Applicationsモジュール・ブラウザ
Oracle Applicationsモジュール・ブラウザは、OracleAS Adapter for Oracle Applicationsの主要なコンポーネントです。パートナ・リンクの定義に必要なインタフェースを選択するには、モジュール・ブラウザを使用します。モジュール・ブラウザは、Oracle Integration Repositoryからのインタフェース・データを、OracleAS Adapterでサポートされるその他のインタフェースに関する情報と組み合せて、次のようなツリー階層を作成します。
ProductFamilies
|-[product_family]
| |-[product]
| |-[business_entity]
| |-XML Gateway ([n])
| |-EDI ([n])
| |-PLSQL ([n])
| | |-[package_name]
| |-OpenInterfaces ([n])
| |-[OpenInterface_name]
| |-Tables ([n])
| |-Views ([n])
| |-ConcurrentPrograms ([n])
|-Other Interfaces
|-Business Events
|-Custom Objects
|-PLSQL APIs
| |-[package_name]
|-XMLGateway Maps
|-Inbound
|-Outbound
注意: 「その他インタフェース」の下にある項目、および[product family]階層の下にある特定のPL/SQL APIとコンカレント・プログラムは、OracleAS Adapter for Oracle Applicationsを介して使用することはできますが、Oracle Integration Repositoryを介して使用することはできません。
Oracle Integration Repositoryインタフェース・データは、[product_family]セクションを移入し、所属する製品およびビジネス・エンティティに従ってグループ化します。各インタフェース・タイプ・ヘッダーの後には、そのタイプがそのセクションの何番目にリストされているかを示す数値[n]が続きます。
ビジネス・イベントは、「その他インタフェース」の下に表示されます。カスタマイズされたXML Gatewayマップは、インバウンドまたはアウトバウンドとして分類され、「その他インタフェース」→「カスタム・オブジェクト」の下に表示されます。
カスタマイズされたPL/SQL APIは、2箇所に表示されます。
Oracle Integration Repositoryを介してすでに公開されているパッケージ内のプロシージャは、製品ファミリ階層内のパッケージ名の下に表示されます。
完全に新しいパッケージ内のプロシージャは、「その他インタフェース」→「カスタム・オブジェクト」の下のパッケージ名の下に表示されます。
この項では、次の問題点と回避策について説明します。
WSDLコンテキスト情報のデフォルト値
現在のリリースでは、BPEL Process Managerにより、(組織ID、ユーザー名および職責のアプリケーション・コンテキストに基づいて)プログラムを実行できる権限を持つOracle Applicationsユーザーのユーザー名と職責などのコンテキスト情報を含むWSDLコードが生成されます。
デフォルトでは、「ユーザー名」の値はSYSADMINに設定され、「職責」の値はSYSTEM ADMINISTRATORに設定されます。これらの値を変更するには、WSDLファイルを手動で編集する必要があります。
XML GatewayトランザクションのBPELにデフォルト設定される相関ID
OracleAS Adapter for Oracle Applicationsの「アダプタ構成ウィザード」は、インバウンドまたはアウトバウンド・インタフェースのXML Gatewayトランザクションの相関IDを指定しません。かわりに、BPELのデフォルト相関IDがWSDLファイルで自動的に設定されます。この構成を機能させるには、対応するXML GatewayトランザクションにBPELと同一の相関ID値を設定するようにOracle Applicationsを構成する必要があります。
Adapterでデフォルトと異なる相関IDを使用するには、Oracle Applicationsで相関IDを構成した後、アダプタ・サービスWSDLの<jca:operation>セクションに含まれるCorrelation="BPEL"行を編集する必要があります。「BPEL」を、Oracle Applicationsで指定した相関IDの文字列値に置き換えます。
複合型とDEFAULT句を使用するストアド・プロシージャの回避策
「アダプタ構成ウィザード」がラッパーSQLストアド・プロシージャを生成する必要があるストアド・プロシージャを使用する場合、生成されるラッパー・ストアド・プロシージャにDEFAULT句が引き継がれないという制限があります。
回避策として、特定のストアド・プロシージャに対して次の手順を1回のみ実行します。
生成されたラッパーSQLスクリプトを開きます。
ベース・ストアド・プロシージャから対応するラッパーにすべてのDEFAULT句をコピーします。
SQL*Plusを使用して、ラッパーSQLスクリプトをデータベースにリロードします。
生成されたXSDを編集します。パラメータがDEFAULT句を持つ場合は、XSD内の対応する要素に追加の属性db:default="true"が必要です。
たとえば、次のようなSQLを使用します。
FINANCE$INVOICE(isTrue INTEGER DEFAULT 1, value NUMBER DEFAULT 0)
XSD内のisTrueおよびvalueの要素には、新しい属性が必要です。
<element name="ISTRUE" ... db:default="true" .../>
<element name="VALUE" ... db:default="true" .../>
コンカレント・プログラムとE-Commerce Gatewayインタフェースの一時的な回避策
コンカレント・プログラムおよびE-Commerce Gatewayインタフェースを使用する場合、特定のE-Business Suiteインスタンスに対して次の回避策を1回のみ実行する必要があります。
注意: これは、「アダプタ構成ウィザード」が、カバーの下に生成されるPL/SQLラッパーのDEFAULT句を保持できないという既知の問題に対処するための方法です。
「アダプタ構成ウィザード」のOracle Applicationsアダプタを起動してコンカレント・プログラムまたはE-Commerce Gatewayインタフェース用のサービスを作成する前に、次のSQLファイルをAPPSスキーマに(SQL*Plusを使用して)ロードする必要があります。
ORACLE_HOME¥bpel¥samples¥tutorials¥150.AppsAdapter¥OrderImportConcurrentProgram¥bpel¥XX_BPEL_FND_REQUEST_SUBMIT_REQUEST.sql
基礎となるAPIが再作成された場合、パートナ・リンクを作成できない
同じ名前と別のパラメータのセットを使用して再作成されたAPIのラッパーを生成することはできません。
注意: これは、生成されたラッパーを必要とするパッケージ化プロシージャとトップレベルまたはルート・プロシージャの両方で発生する可能性があります。
次の例は、この問題を示しています。
トップレベルで定義される初期APIを作成します。
SQL> create procedure test (a number, b varchar2, c BOOLEAN)
BOOLEANパラメータは、ラッパーが必要であることを示しています。
「アダプタ構成ウィザード」でストアド・プロシージャのデータベース・アダプタを使用して、このAPIのラッパーを生成およびロードします。
APIをドロップし、別のパラメータのセットを使用してAPIを再作成します。
SQL> drop procedure test
SQL> create procedure test (a number, b varchar2, c number, d BOOLEAN)
「アダプタ構成ウィザード」を使用してこのAPIのパートナ・リンクを生成しようとすると、次のメッセージが表示されて失敗します。
The wrapper procedure, TOPLEVEL$TEST, could not be found
回避策として、JDeveloper BPEL Designerを終了し、ストアド・プロシージャを作成した後、2番目のパートナ・リンクを作成する前に、JDeveloper BPEL Designerを再起動します。