Oracle Application Server Adapter for Oracle Applicationsユーザーズ・ガイド 10g(10.1.3.1.0) B31888-03 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章の構成は、次のとおりです。
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では、リリース11.5.1〜11.5.10のOracle Applicationsのすべてのモジュールがサポートされます。さらに、OracleAS Adapter for Oracle Applicationsでは、Oracle Applicationsへのリアルタイムの双方向接続が可能です。
注意: この概要では、現在のリリースの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概要』を参照してください。
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 for Oracle Applications 10g (10.1.3.1.0)で追加された新機能について説明します。
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の静的XMLデータ・ファイルから提供されます。
詳細は、『Oracle Integration Repository User's Guide』を参照してください。このマニュアルは、Oracle Applicationsドキュメント・ライブラリに付属しています。Oracle Applicationsマニュアルには、次のリンクからアクセスできます。
http://www.oracle.com/technology/documentation/applications.html
OracleAS Adapterは、複数の統合インタフェース・タイプに新規または拡張されたサポートを提供しています。これらの統合インタフェース・タイプは、Oracle Applicationsモジュール・ブラウザにより公開されます。
ビジネス・イベント
カスタマイズされたXML Gatewayマップ
カスタマイズされたPL/SQL API
注意: これらのインタフェース・タイプは、Oracle Integration Repositoryでは公開されません。
これらの統合インタフェースはWebサービスとして公開され、Oracle BPEL Process Managerを介したプロセスの統合に利用できます。
これまでは、コンカレント・プログラム・パラメータは、parm1、parm2、parm3のように、入力の位置に従って、Oracle BPEL Process Managerによって総称的にリスト表示されるだけで、目的やデータ型を示すものではありませんでした。現在のリリースから、パラメータは、コンカレント・プログラム定義から取得された意味のある名前で表示されるようになります。たとえば、OE Order Import(OEOIMP)という名前のコンカレント・プログラムの場合、パラメータは次のようになります。
P_Order_Source
P_Orig_Sys_Document_Ref
P_Sold_To_Org_Id
P_Perf_Param
OracleAS Adapterでは、ビジネス・イベント・ペイロードに使用するスキーマを次の3つのオプションで選択できます。
スキーマなし
任意のスキーマ
スキーマの指定
スキーマなしまたは任意のスキーマオプションを選択した場合、ビジネス・イベント・サービスのスキーマ情報を詳細に指定する必要はありません。 指定したビジネス・イベント・サービスに対応する関連付けられたWSDLファイルが生成されます。 スキーマの指定オプションを選択した場合、スキーマ・ファイルの位置を指定してから、アウトバウンド・ビジネス・イベントのペイロードを定義するスキーマ要素を選択する必要があります。
アプリケーション・コンテキストは、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との間でデータの読取りと書込みが行われます。
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を再起動します。