Oracle Application Server Adapter for Oracle Applications ユーザーズ・ガイド 10g (10.1.3.4.0) B50865-01 | ![]() 目次 | ![]() 戻る | ![]() 次へ |
この章の構成は、次のとおりです。
Oracle Applicationsは、すべてがインターネット上で動作する統合ビジネス・アプリケーションのセットです。Oracle Applicationsにより、次のことが可能になります。
コストの削減
経営から事務管理に至る全体の収益の増加
最新で正確かつ一貫したデータ・アクセス
Oracle Applications内のアプリケーションは、OracleおよびOracle以外のアプリケーションのデータを統合する統合情報アーキテクチャの上に構築され、企業全体で一貫した顧客、仕入先、取引先および従業員の定義が可能になります。この結果、一連のアプリケーションで最新の実績値、財務比率、損益のサマリーなどの情報を提供することが可能になります。Oracle ApplicationsをOracle以外の他のアプリケーションと接続するには、OracleAS Adapter for Oracle Applicationsを使用します。
OracleAS Adapter for Oracle Applicationsでは、Oracle Applicationsに対して、包括的、双方向、マルチモード、同期および非同期の接続が可能になります。 このアダプタは、Oracle Applicationsリリース12およびリリース11i のすべてのモジュールをサポートします。Oracle E-Business Suiteのバージョンに応じたカスタム統合インタフェース・タイプの選択もサポートに含まれます。
重要: Oracle E-Business Suiteの各種バージョンのサポートには次の条件があります。
OracleAS Adapter for Oracle ApplicationsがサポートするOracle E-Business Suite リリース11i は、OWF.G.Rollup 7が適用された状態で動作するバージョンのみです。
OracleAS Adapter for Oracle Applications リリース10.1.3.3がサポートするのは、Oracle E-Business Suite リリース12.0です。
J2EEデータ・ソースを使用したネイティブE-Business Suite接続機能を使用するには、最小限の要件として、Oracle E-Business Suite リリース11i はFND Rollup 6であることが、Oracle E-Business Suite リリース12はリリース12.0.4であることが必要です。
詳細は、OracleMetaLink Document 464164.1『Oracle Application Sever Adapter for Oracle Applications Documentation Update, Release 10g』を参照してください。
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ユーザー管理の機能セキュリティを利用しサポートすることにより、認証ユーザーに、BPELプロセスで公開されるAPIにアクセスし実行してOracle Applicationsを更新することを許可します。
注意: この概要では、現在のリリースのOracleAS Adapter for Oracle Applicationsにおける新機能の詳細を説明しています。詳細は、「このリリースの新機能」を参照してください。
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にマップします(その逆も行います)。
ビジネス・イベント
ビジネス・イベントとは、システム内の他のオブジェクトや外部エージェントにとって重要な、インターネット・アプリケーション内のオカレンスです。 ビジネス・イベントの例には、新規発注の作成や既存受注の変更があります。
Oracle Workflowはビジネス・イベント・システムを使用します。このシステムは、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では、Oracle Integration RepositoryではなくOracle Applicationsモジュール・ブラウザにより公開される次の統合インタフェース・タイプもサポートしていることに注意してください。
カスタマイズされたXML Gatewayマップ
カスタマイズされたPL/SQL API
注意: ビジネス・イベント統合インタフェース・タイプも、Oracle Integration RepositoryではなくOracle Applicationsモジュール・ブラウザにより公開されます。
Oracle Integration RepositoryはOracle E-Business Suiteに不可欠な機能であり、Oracle Applicationsで提供される様々なパブリック統合インタフェース(ビジネス・インタフェースと呼ばれます)の情報のビルトイン・カタログです。Oracle Integration Repositoryは、Oracle E-Business Suiteのビジネス・インタフェースに使用できるインタフェース・メカニズムの包括的なビューを備えています。 これらのインタフェースは、Oracle Integration Repositoryの要件に応じて設計時に定義が注釈付けされているため、公開されています。
Oracle Integration Repositoryが提供できるのは、開発者が公開のために特に注釈を付けた統合インタフェースに関する情報のみです。 OracleAS Adapter for Oracle Applicationsは、すでに作成済の注釈を利用して、次のビジネス・インタフェース・タイプをOracle Applicationsモジュール・ブラウザで表示します。
XML Gatewayメッセージ・マップ
PL/SQL API
コンカレント・プログラム
オープン・インタフェース表
インタフェース・ビュー
E-Commerce Gateway EDIメッセージ
これらのビジネス・インタフェースはWebサービスとして公開され、Oracle BPEL Process Managerを介したプロセスの統合に利用できます。
Oracle Integration Repositoryの詳細は、『Oracle Integration Repository User's Guide』を参照してください。 これらのマニュアルは、Oracle Applicationsドキュメント・ライブラリに付属しています。Oracle Applicationsマニュアルには、次のリンクからアクセスできます。
http://www.oracle.com/technology/documentation/applications.html
OracleAS Adapter for Oracle Applicationsでは、Oracle E-Business Suiteの次のバージョンについて、カスタマイズされたPL/SQL APIなどのカスタム・インタフェースをサポートするようにOracle Integration Repositoryを暗黙的に利用する機能が拡張され、Oracle E-Business Suiteのサポートが拡張されています。
重要: Oracle E-Business Suiteの各種バージョンのサポートには次の条件があります。
OracleAS Adapter for Oracle ApplicationsがサポートするOracle E-Business Suite リリース11i は、OWF.G.Rollup 7が適用された状態で動作するバージョンのみです。
OracleAS Adapter for Oracle Applications リリース10.1.3.3がサポートするのは、Oracle E-Business Suite リリース12.0です。
J2EEデータ・ソースを使用したネイティブE-Business Suite接続機能を使用するには、最小限の要件として、Oracle E-Business Suite リリース11i はFND Rollup 6であることが、Oracle E-Business Suite リリース12はリリース12.0.4であることが必要です。
詳細は、OracleMetaLink Document 464164.1『Oracle Application Sever Adapter for Oracle Applications Documentation Update, Release 10g』を参照してください。
ビジネス・サービスの作成時と実行時で、OracleAS Adapter for Oracle Applicationsは、カスタマイズされたPL/SQL APIをシード済のPL/SQL APIの一部として扱います。唯一の違いは、カスタマイズされたPL/SQL APIは設計時にOracle Applicationsモジュール・ブラウザで公開できることです。
Oracle E-Business Suiteリリース12のサポート
リリース12からは、Oracle Integration RepositoryがE-Business Suiteに同梱されています。これにより、OracleAS Adapter for Oracle ApplicationsからOracle Integration Repositoryの本番データベースに直接接続し、publicインタフェースを問い合せて、カスタマイズされたPL/SQL APIのリストをOracle Applicationsモジュール・ブラウザの「その他インタフェース」ノードの下に表示できます。
リリース12におけるカスタム統合インタフェースのサポート
OracleAS Adapter for Oracle Applicationsでは、Oracle Applicationsに接続する本番データベースからIntegration Repositoryデータファイルを抽出し、Integration Repositoryのローカル・コピーをワークプレイスに作成できることに注意してください。次回にpublicインタフェースを検索する際には、システムでワークプレイス内のキャッシュ・バックエンド接続からデータを取得できます。
Oracle E-Business Suiteリリース12への接続の詳細は、各統合インタフェースの「パートナ・リンクの作成」または「パートナ・リンクの追加」設計時タスクを参照してください。
Oracle E-Business Suiteリリース11i10のサポート
Oracle E-Business Suite リリース11i10のバージョンをサポートするために、OracleAS Adapter for Oracle ApplicationsはOracle Integration Repositoryの本番データベースに接続し、問合せのためにデータファイルをOracleAS Adapter内に格納します。 設計時に、OracleAS Adapter for Oracle Applicationsは内部の統合リポジトリのネイティブXMLデータファイルからpublicインタフェースを問い合せて、Oracle Applicationsモジュール・ブラウザの「その他インタフェース」ノードの下にカスタム統合インタフェースのリストを表示します。
リリース11i10におけるカスタム統合インタフェースのサポート
リリース11i10より前のOracle E-Business Suiteのサポート
リリース11i10より前のOracle E-Business Suiteをサポートするために、OracleAS Adapter for Oracle Applicationsは、すべてのインタフェース・タイプについてOracle Integration Repositoryの本番データベースに接続します。 リリース11i10より前のOracle E-Business Suiteでは、public、privateおよびカスタマイズされたPL/SQL APIの間に違いがないため、OracleAS Adapter for Oracle ApplicationsではすべてがOracle Applicationsモジュール・ブラウザを介して各モジュールのノードの下に表示されます。
11i10より前のリリースについてブラウザから選択する前に、「アダプタ構成ウィザード」で使用するインタフェース・タイプを選択する必要があります。ブラウザには、選択したタイプの全インタフェースが表示されます。
たとえば、「EDIゲートウェイ」インタフェース・タイプを選択した場合、Oracle Applicationsモジュール・ブラウザには、E-Commerce(EDI)Gatewayに関連付けられているコンカレント・プログラムのリストが表示されます。
11i10より前のリリースにおけるカスタム統合インタフェースのサポート
設計時にモジュール・ブラウザでAPIを選択すると、選択したAPIはOracleAS Adapter for Oracle Applicationsによりデータベースと照合して検証されます。そのAPIが特定バージョンのインスタンスのデータベースに存在していれば、関連WSDLファイルが正常に生成されます。
この項では、OracleAS Adapter for Oracle Applications 10g (10.1.3.4.0)で追加された新機能について説明します。
セキュリティは、アプリケーション・コンテンツを不正アクセスから保護するように設計された、最も重要な機能です。 OracleAS Adapter for Oracle Applicationsでは、Oracleユーザー管理の機能セキュリティを利用することにより、BPELプロセスを介して公開される、Oracle Applicationsを更新するAPIの実行を、認証済権限のあるユーザーのみに許可するセキュリティ機能が提供できるようになりました。 この機能により、不正アクセスやセキュリティ・チェックなしの実行からApplication Program Interface(API)が保護されます。
OracleAS Adapter for Oracle Applicationsでは、このセキュリティ・サポートをオプション機能としていることに注意してください。 すべてのログイン・ユーザーがセキュリティ・チェックなしでAPIにアクセスし実行できるようにする場合は、「BPEL用EBSアダプタ、機能セキュリティの有効化(EBS_ADAPTER_FUNCTION_SEC_ENABLED)」プロファイル・オプションを使用して、この機能を無効にできます。 機能セキュリティ機能を有効にしてある場合、PL/SQL API、Oracle E-Commerce Gatewayおよびコンカレント・プログラムに対するすべてのAPIコールは、実行前にユーザー・セキュリティがチェックされます。
OracleAS Adapter for Oracle Applicationsでは、実行時にユーザーを認証し、J2EEデータ・ソースを使用してOracle Applicationsデータベースに接続する、新しいメカニズムが取り入れられています。 J2EEデータ・ソースはBPELプロセスを実行するOC4Jコンテナで定義されるため、この方法は、アプリケーション・データベースにアクセスするための接続プールを定義するOracle E-Business Suiteに固有です。
この新しいメカニズムにより、データベース接続の構成の一環として必要なアプリケーション・ログインのユーザー名およびパスワードなどのアカウントの詳細情報が、J2EEデータ・ソース作成時に入力パラメータとしてdbcファイルの位置とともに追加されます。
注意: この機能を使用できるようにするには、Oracle E-Business Suiteリリース12およびリリース11i10に対し、実行時に必要なパッチを適用して、Oracle E-Business Suiteと外部Oracle Application Server間の接続を有効にする必要があります。 詳細は、OracleMetaLink Document 464164.1『Oracle Application Sever Adapter for Oracle Applications Documentation Update, Release 10g』を参照してください。
アプリケーション・コンテキストは、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シノニムを使用すると、パーティション化されていないデータにアクセスできます。
スキーマ・シノニム
営業単位別複数組織アクセス制御(MOAC)セキュリティ
システム・プロファイル値の設定時、ユーザー名と職責は組織単位または営業単位と関連付けます。
複数組織システム・プロファイル
アクセス権のある営業単位のデータにアクセスまたはレポートするのみのユーザーにセキュリティ保護された方法を設定するため、OracleAS Adapter for Oracle Applicationsでは、MOACセキュリティ機能を使用して営業単位のアクセスを決定し、関連プロファイル値に基づいて組織IDを設定します。
MOACにより、システム管理者はセキュリティ・プロファイルとしてアクセス権限の範囲を事前定義し、プロファイル・オプションMO: セキュリティ・プロファイルを使用して職責にセキュリティ・プロファイルを関連付けできます。 この方法を使用することにより、複数営業単位がセキュリティ・プロファイルと関連付けられ、そのセキュリティ・プロファイルが職責に割り当てられます。 したがって、ユーザーはセキュリティ・プロファイルのアクセス制御を介して職責を変更することなく、複数営業単位のデータにアクセスできます。
セキュリティ・プロファイルは、組織階層に基づいて定義します。 たとえば、アメリカとイギリスの営業単位で構成される販売会社があるとします。アメリカの販売会社には西部地域販売と東部地域販売があります。 販売統括者はアメリカとイギリスの両方の販売に職責があり、管理者はアメリカまたはイギリスのいずれかに職責があり、販売担当は指定された販売地域にのみ職責があります。 販売組織階層は次のようになります。
販売組織階層
会社内の販売データをセキュリティ保護するために、事前定義済のセキュリティ・プロファイルに関連営業単位を関連付けできます。 たとえば、すべての販売データのアクセス権限がVision Salesセキュリティ・プロファイルにグループ化されており、アメリカ販売セキュリティ・プロファイルはアメリカ関連データ用に、地域セキュリティ・プロファイルは指定地域データ用にグループ化されているとします。 システム管理者は、複数営業単位を含むこのようなセキュリティ・プロファイルを、職責によってユーザーに関連付けできます。 したがって、販売管理者は、その職責を変更することなく東部または西部地域の販売データに容易にアクセスできます。 次の図は、この販売会社のセキュリティ・プロファイル、職責および営業単位間の関係を示しています。
セキュリティ・プロファイル、職責および営業単位間の関係図
職責によって決まる営業単位
職責は、その関連付けられているセキュリティ・プロファイルが営業単位にリンクしているため、どの営業単位にアクセス権があるかは職責がキーとなって決まります。
次の図は、Oracle Applicationsが複数組織環境でプロファイル・オプションをどのように使用するかを示しています。
複数組織でのアプリケーション・コンテキストの作成
システム・インテグレータが実行されると、プロセスがPL/SQL APIを使用してOracle Applicationsとの統合を実行します。
Apps.Initializeプロセスは、ユーザー名および職責のパラメータを使用します。
これらのパラメータを使用して、その職責に割り当てられたシステム・プロファイル値の参照が行われ、複数組織環境内での営業単位が決定されます。
営業単位は、セキュリティ・プロファイル値から生成されたシステム・プロファイル値の組織IDとしてモデル化されます。
ユーザー名、職責および組織IDのパラメータを使用して、Oracle Applicationsとの間でデータの読取りと書込みが行われます。
複数組織環境でサポートされているアプリケーション・コンテキストの概念に基づき、OracleAS Adapter for Oracle Applicationsには次の機能が用意されています。
複数組織設定をサポートするために、OracleAS Adapter for Oracle Applicationsには、Oracle Applications設定時に組織情報をプロファイル値から暗黙的に導出するかわりに、設計時にヘッダー変数を作成して組織ID情報を直接入力できるメカニズムが用意されています。
OracleAS Adapter for Oracle Applicationsでは、ヘッダー変数を使用してユーザー名、職責および組織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 for Oracle Applicationsでは、次の手順に従って、複数組織設定で組織IDをサポートするための設計時タスクを完了します。
invokeアクティビティの構成とヘッダー変数の作成
このアクティビティでは、次のタスクを実行します。
invokeアクティビティを、作成したパートナ・リンクにリンクすることで構成します。これにより、「編集 Invoke」ダイアログ・ボックスの「一般」タブが開きます。このタブに、「パートナ・リンク」および「操作」情報が移入されています。invokeアクティビティの入力変数と出力変数を作成します。
アプリケーション・ユーザーとユーザー関連の組織情報を識別するために、Oracle Applicationsのアプリケーション・コンテキストで使用するヘッダー変数を作成します。
assignアクティビティを使用した組織IDの割当て
ヘッダー変数の作成後に、assignアクティビティをinvokeアクティビティの前に配置することで構成する必要があります。
「割当」ダイアログ・ボックスで「コピー操作」タブを選択し、「作成」ドロップダウン・リストから「コピー操作」を選択します。
「From」グループで、「式」フィールドにORG_ID値(207など)を入力します。「To」グループで、変数を宣言する変数ヘッダーを見つけ、ヘッダーのORG_IDパラメータに組織IDを割り当てます。
ORG_IDへの値の割当て
OracleAS Adapter for Oracle Applicationsでは、Oracle E-Business Suiteの複数言語サポート(MLS)機能を利用することで、ユーザーがリクエストしたAPIを介してBPELプロセスをデプロイするときに、ログオン・ユーザーのデフォルト言語を実行時に動的に表示できます。アプリケーション・ユーザーがAPIの実行中にシステムからトランザクション・データを取得したり、エラー・メッセージを受信すると、データまたはエラー・メッセージはユーザーのデフォルト言語で表示されます。また、ユーザーがリージョンに基づいて日付を設定している場合は、データの取得後に、ユーザーの「プリファレンス」ページで指定したデフォルト情報に対応する書式とタイムゾーン情報とともに戻された日付が表示されます。
OracleAS Adapter for Oracle ApplicationsによるMLS機能のサポートを理解するには、まずアプリケーション・データベースからのデータ取得方法を理解する必要があります。
OracleAS Adapter for Oracle Applicationsで起動するAPIの多くはデータベース・ビューを問い合せ、これらのビューではAPIの起動に使用されるアプリケーション・ユーザーのデフォルト言語でデータが表示されます。 つまり、OracleAS Adapter for Oracle Applications内で公開されるAPIでは言語が認識されます。アプリケーション・ユーザーがAPIの実行を介してトランザクションをリクエストする時点で、データベース・ビューからのデータ問合せはユーザーが「プリファレンス」ページで指定したデフォルト言語で初期化されている必要があります。
データベース・セッションでデータの問合せおよび取得に使用されるデフォルト言語を識別するために、OracleAS Adapter for Oracle Applicationsでは最初に全レベル(ユーザー、職責、アプリケーションおよびサイト)でICX: 言語プロファイル値が検査されます。 このプロファイルがどのレベルでも設定されていなければ、データベース・インスタンスの各国語サポート(NLS)パラメータからNLS_LANGUAGEパラメータが使用されます。セッション中に初期化されるNLSパラメータは、次のとおりです。
NLS_LANGUAGE
NLS_SORT
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS
NLS_TERRITORY
ユーザーのデフォルト言語に基づく動的な言語表示
たとえば、デフォルト言語として日本語を使用するユーザーがシステムにログインし、BPELプロセスのパートナ・リンクで定義したAPIの実行を介してトランザクションを実行すると、OracleAS Adapter for Oracle Applicationsでは日本語ログオン・ユーザーのユーザー名と職責を使用して、データベース・セッション中に使用されたデフォルトの言語コード(日本語の場合はJAなど)が識別されます。その結果、NLSコンテキスト・パラメータは日本語で設定されます。したがって、このユーザーが問い合せたデータやエラー・メッセージはすべて、Oracle Applicationsの「一般プリファレンス」ページで設定したユーザーのデフォルト言語に対応する日本語で表示されます。
注意: 「一般プリファレンス」ページで設定したデフォルト言語により、ICX: 言語プロファイル・オプションが更新されます。
アプリケーション・ユーザーが使用するデフォルト言語の設定方法は、『Oracle Applicationsユーザーズ・ガイド』の「Oracle Applicationsのスタート・ガイド」章の「作業環境の設定」項を参照してください。
MLSサポート機能を実装するには、変数をアクティビティに渡すことができるように、invokeアクティビティの構成前に次の設計時タスクを実行します。
オプションで、ヘッダー変数{http://xmlns.oracle.com/pcbpel/adapter/appscontext/}Header_msgを設定して、APIの実行に使用するユーザー名と職責を定義できます。この宣言は、APIを実行するアプリケーション・ユーザーを識別できるように、Oracle Applicationsにコンテキスト情報を提供します。
注意: ヘッダー変数宣言により、Oracle Applicationsにアプリケーション・ユーザーを識別するためのコンテキスト情報が提供されるため、OracleAS Adapter for Oracle Applicationsでは、この変数宣言が、MLS機能のサポートのみでなく複数組織設定における組織IDのサポートなど、アプリケーション・コンテキストの概念を利用する他の機能のサポートにも使用されます。
ヘッダー変数の宣言
このヘッダー変数の宣言はオプションのため、変数を宣言しなければ、デフォルトのユーザー名はSYSADMIN、デフォルトの職責はシステム管理者となります。
ヘッダー変数を宣言した後、assignアクティビティを使用して変数値を割り当てる必要があります。たとえば、「From」グループの「式」フィールドにユーザー名(Operationなど)を入力します。「To」グループで、変数を宣言する変数ヘッダーを見つけて、ユーザー名変数に値を割り当てます。
変数値の割当て
ヘッダー変数に定義したユーザー名を使用して、BPELプロセスのパートナ・リンクに定義したAPIを実行するセッションのコンテキスト内で設定されるNLS変数が導出されます。
セキュリティは、アプリケーション・コンテンツを不正アクセスから保護するように設計された、最も重要な機能です。 Oracle Application Server Adapter for Oracle Applicationsでは、Oracleユーザー管理の機能セキュリティを利用することにより、BPELプロセスを介して公開される、Oracle Applicationsを更新するAPIの実行を、認証済権限のあるユーザーのみに許可するセキュリティ機能が提供できるようになりました。 この機能により、不正アクセスやセキュリティ・チェックなしの実行からApplication Program Interface(API)が保護されます。
Oracle Application Server Adapter for Oracle Applicationsでは、このセキュリティ・サポートをオプション機能としていることに注意してください。 すべてのログイン・ユーザーがセキュリティ・チェックなしでAPIにアクセスし実行できるようにする場合は、「BPEL用EBSアダプタ、機能セキュリティの有効化(EBS_ADAPTER_FUNCTION_SEC_ENABLED)」プロファイル・オプションを使用して、この機能を無効にできます。
「Y」に設定すると、機能セキュリティ機能が有効になり、PL/SQL API、Oracle E-Commerce Gatewayおよびコンカレント・プログラムに対するすべてのAPIコールは、実行される前にユーザー・セキュリティがチェックされます。
「N」(デフォルト値)に設定すると、機能セキュリティ機能が無効になります。 APIコールの実行中はセキュリティ・チェックは実行されません。
注意: 機能セキュリティ機能を利用できるようにするには、該当するパッチを環境に適用する必要があります。 詳細は、OracleMetaLink Document 464164.1『Oracle Application Sever Adapter for Oracle Applications Documentation Update, Release 10g』を参照してください。
この項の内容は次のとおりです。
機能セキュリティは、Oracle Applicationsにおける基本的なアクセス制御です。 システム内の個々のメニューとメニュー・オプションへのユーザー・アクセスを、行内にどのアプリケーション・データがあるかに関係なく制限します。 APIは、Oracle Applicationsへのデータの挿入および更新を可能にするストアド・プロシージャであるため、機能セキュリティ・レイヤーにAPIへのアクセスを強制されるとき、実際に暗黙的にデータ・アクセスをアプリケーションに制限します。
APIの実行を正しい権限を持つ適切なユーザーに許可するようにするために、OracleAS Adapter for Oracle ApplicationsではOracleユーザー管理のロールベースのアクセス制御セキュリティ(RBAC)を利用して、ユーザー・ロールを介することで機能セキュリティを強化し、ユーザーがAPIにアクセスできるかどうかがユーザーに付与されたロールで決まるようにします。 ロールは、ユーザーが特定の機能を実行するために必要な職責、権限、権限セットおよび機能セキュリティ・ポリシーを一元管理するように構成できます。 これにより、ユーザー権限の一括更新が簡素化されます。新しい権限セットを自動継承するロールを使用することで、変更を実施できるためです。 ジョブ機能に基づいて、各ロールに特定の権限(または必要な場合は権限セット)を割当てできます。 たとえば、調達組織には「購買担当」ロール、「購買管理者」ロールおよび「購買サポート」ロールなどを組み込むことができます。 「購買管理者」ロールには発注(PO)作成、発注変更および契約発注関連のAPIすべてを含む権限セットを組み込み、「購買担当」ロールや「サポート」ロールにはアクセス権限を与えないジョブ機能の実行をこのロールに許可するなどが可能です。
OracleAS Adapter for Oracle Applicationsでは、Oracle Integration Repositoryにある注釈付きのAPIはFND_FORM_FUNCTIONS表に登録されており、機能セキュリティ(FND_FORM_FUNCTIONS)が適用可能です。 これにより、各APIについて、セキュリティ保護された機能を作成できます。
重要: Oracle E-Business Suiteリリース12の場合、Oracle Integration Repositoryの注釈付きのAPIはすべてFND_FORM_FUNCTIONS表に登録されます。 ただし、リリース11iの場合は、この情報を表に移入する機能セキュリティのパッチを適用する必要があります。 詳細は、OracleMetaLink Document 464164.1『Oracle Application Sever Adapter for Oracle Applications Documentation Update, Release 10g』を参照してください。
OracleAS Adapter for Oracle Applicationsでは、権限セットの概念を使用して、関連するAPIを1つの権限セット下にまとめ、順序付けできます。各権限セットを機能ロールに関連付け、セキュリティ権限付与を介してユーザーに割り当てることができます。 ユーザーがE-Business SuiteにログオンしてBPELプロセスで公開されているAPIにアクセスしようとすると、セキュリティ機能が有効になっている場合は機能セキュリティAPIが起動され、そのユーザーが、そのAPIの実行権限を持つことが認証されるユーザーであるかどうかが検証されます。
たとえば、BPELプロセスで公開されているPL/SQL APIに対するアクセス権限がユーザーにない場合、次の図のようなPL/SQL APIを起動しようとすると、BPELプロセスの実行は失敗します。
認証済権限がなければ、機能セキュリティ検証例外メッセージが生成され、ユーザーにそのPL/SQL APIの権限がないことが示されます。
機能セキュリティとRBACセキュリティ・モデルの詳細は、『Oracle Applicationsシステム管理者ガイド - セキュリティ』を参照してください。
APIの起動を適切な実行権限のあるユーザーにのみ許可するようセキュリティ保護するため、OracleAS Adapter for Oracle Applicationsでは、次の手順を使用して、ユーザー・ロールを介したユーザーへのセキュリティ権限付与を作成します。
権限セットは、次の手順を使用して作成します。
システム管理者の職責を使用してOracle E-Businessにログインします。
「ナビゲータ」から「アプリケーション・メニュー」を選択して「メニュー」ウィンドウにアクセスします。
次のメニュー情報を入力します。
メニュー: メニュー名(OE_PROCESS_LINE_PSなど)を入力します。
ユーザー・メニュー名: メニュー名(「オーダー・マネージャ明細処理権限セット」など)を入力します。
メニュー・タイプ: 権限セット。
摘要: このメニューの説明を入力します。
「順序」と「機能」の値を入力して、この権限セットにグループ化する機能をすべて追加します。
「順序」フィールドに入力します。
「機能」の列で、この権限セットに割り当てる機能を検索します。
「機能」ウィンドウで検索を実行して機能名を選択します。 たとえば、パブリックPL/SQL API検索の構文は、PLSQL:<package name>:<procedure name>です。 「検索」フィールドに%PLSQL:OE%と入力し、「検索」をクリックして検索を実行します。
機能の検索
BPELプロセスに基づいて機能を選択し、BPELプロセスから起動するAPIに権限を付与します。
たとえば、受注明細変更のBPELプロセスの場合は、受注変更PL/SQL APIに含まれている受注明細変更関連の機能を選択して権限セットとしてグループ化し、ロールを介して該当するユーザーにその権限セットを付与します。
関連項目: ユーザー・ロールの作成
権限セット・メニュー
権限セットを保存します。
権限セットはユーザー・ロールを介して付与されます。 したがって、最初にロールを作成してからユーザーにそのロールを割り当てる必要があります。
ユーザー・ロールは、次の手順を使用して作成します。
ユーザー管理職責を使用してOracle E-Businessにログインします。
「ナビゲータ」から「ロールおよびロール継承」を選択し、「ロールおよびロール継承」ページにアクセスします。
「ロールの作成」をクリックして、「ロールの作成」ページにアクセスします。
次の情報を入力してユーザー・ロールを作成します。
カテゴリ: ドロップダウン・リストから「その他」を選択します。
ロール・コード: 該当するロール・コード(EBS_ADAPTER_ROLEなど)を入力します。
表示名: 表示名の情報(「EBSアダプタ・ロール」など)を入力します。
摘要: 説明の情報(「EBSアダプタ・ロール」など)を入力します。
アプリケーション: 該当するアプリケーション(Application Object Libraryなど)を選択します。
有効日: ロールがすぐに有効になるように当日またはそれより前の日付を入力します。
情報を保存して「付与の作成」をクリックします。
「付与の作成: 付与の定義」ページに次の情報を入力します。
名前: 名前(「EBS_ADAPTER_GRANT」など)を入力します。
摘要: この付与の説明を入力します。
「次」をクリックします。
「付与の作成: オブジェクト・パラメータの定義およびセットの選択」ページで、「権限セットの作成」項で作成した権限セットを選択し、「次」をクリックします。
「終了」をクリックします。
ロールを介してユーザーに権限セットを付与するには、次の手順を使用します。
ユーザー管理職責を使用してOracle E-Businessにログインします。
「ナビゲータ」から「ユーザー」を選択して「ユーザー保守」ページにアクセスします。
ロールを割り当てるユーザーを検索して「移動」をクリックします。
ロールを割り当てるユーザー名の隣にある「更新」アイコンを選択します。
「ユーザーの更新」ページで「ロールの割当」をクリックすると「検索」ウィンドウが移入され、以前に作成したロールが検索できます。
ロール(EBS_ADAPTER_ROLEなど)を選択して更新内容を保存します。
Oracle Application Server Adapter for Oracle Applicationsは、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を再起動します。
Copyright © 2005, 2008, Oracle and/or its affiliates. All rights reserved.