Gatewayの使用この章の構成は、次のとおりです。Suiteとサード・パーティ・アプリケーションとの電子データ交換(EDI)統合のための共通の標準的アプローチを提供します。EDIは、コンピュータ間で標準形式によるビジネス文書を交換する仕組みです。通常、EDI形式はビジネス間の電子商取引に使用されます。Suite向けのEDI統合イネーブラです。グローバル・サプライ・チェーンの関係者全員とEDI標準を使用して電子商取引を行うための単一の統合フレームワークを提供します。Suiteとの統合を必要とするあらゆるアプリケーションの統合要件に対処できるように、十分な柔軟性を備えたアプリケーション統合インフラストラクチャを提供します。これにより、さらに広範囲な取引先ベースで情報をシームレスにやりとりできます。Gatewayには主要なビジネス文書の事前作成済トランザクションが組み込まれており、取引先を定義してテスト・モードまたは本番モードでトランザクションを有効化するだけで実装できます。単一トランザクション、トランザクション・グループまたはビジネス・フローを実装できます。事前作成済のトランザクションをそのまま実装する方法と、業界固有のニーズにあわせて構成する方法があります。Gatewayでは、メタデータ・ドリブン・アプローチを使用し、ユーザー定義の取引先、マッピング、トランスフォーメーションおよびデータ検証ルールに基づいて、動的にアウトバウンド・フラット・ファイルを生成し、インバウンド・フラット・ファイルを使用します。リポジトリに格納されているメタデータを変更すると、ルールを変更できます。更新後のルールは、コード変更なしで実行時に有効になります。Gatewayユーザーズ・ガイド』を参照してください。Libraryの一部です。Gatewayを使用してサード・パーティ・アプリケーションと相互作用するように構成できます。Gatewayは主としてBusiness-to-Business(B2B)統合に使用されます。XMLトランザクションはほぼ単一のトランザクションに基づいておりイベント・ベースですが、EDIトランザクションの方がバッチ指向です。Manager(PM)を使用してデプロイされます。Gateway用のWSDLインタフェースが作成されます。Applicationsを構成する方法について説明します。Applicationsを構成するために必要な操作について説明します。出荷通知/証明(ECASNI)EDIコンカレント・プログラムを使用して、インバウンド出荷通知/証明トランザクションをサポートします。出荷要求を受信すると、出荷詳細が取得されて購買システムにインポートされ、電子出荷通知が事前領収書として作成されます。Applicationsに挿入されたかどうかを検証できます。PMに特定の変数を移入する必要があります。Applicationsユーザーがプログラムを実行するには、EDIトランザクションのコンテキスト情報が必要です。アプリケーション」、「セキュリティ・グループ」および「NLS言語」を含む)に渡される値を考慮して設定されます。新しいヘッダー・プロパティ「職責アプリケーション」、「セキュリティ・グループ」および「NLS言語」の値が渡されない場合、コンテキスト情報は「ユーザー名」と「職責」に基づいて判断されます。ADMINISTRATOR、デフォルトの「セキュリティ・グループ・キー」は「標準」、およびデフォルトの「NLS言語」はUSです。生成WSDLに指定されているデフォルト値は変更できます。これは、コンテキスト情報を静的に変更する方法です。これらの値は、デプロイ済のビジネス・プロセスのすべての起動に適用されます。ビジネス・プロセスの起動ごとに異なるコンテキスト情報を提供する必要がある場合は、ヘッダー値に動的に値を移入できます。コンテキスト情報はinvokeアクティビティを構成することにより指定できます。アプリケーション・コンテキストの詳細は、「正規化されたメッセージ・プロパティのサポート」を参照してください。この章では、前に説明したシナリオに基づき、次の設計時タスクについて説明します。最初の構成タスクは、BPELプロセスを使用したSOAコンポジット・アプリケーションを新しく作成することです。BPELプロセスを使用した新しいSOAコンポジット・アプリケーションを作成する手順は、次のとおりです。JDeveloperを起動します。「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。アプリケーションの名前付け」ページが表示されます。アプリケーションの名前付け」ページ「アプリケーション名」フィールドに適切なアプリケーション名を入力し、「アプリケーション・テンプレート」リストから「SOAアプリケーション」を選択します。「次」をクリックします。プロジェクトの名前付け」ページが表示されます。「プロジェクト名」フィールドに適切なプロジェクト名を入力します。InsertShipNoticeと入力します。プロジェクトの名前付け」ページ「プロジェクト・テクノロジ」タブで、「SOA」が「使用可能」テクノロジ・リストから選択されて、「選択済」テクノロジ・リストに表示されていることを確認します。「次」をクリックします。SOA設定の構成」ページが表示されます。SOA設定の構成」ページ「コンポジット・テンプレート」リストから「BPELを使用するコンポジット」を選択して、「終了」をクリックします。新しいアプリケーションとSOAプロジェクトが作成されました。これにより、SOAコンポジット・アプリケーションが自動的に作成されます。「BPELプロセスの作成」ページが表示されます。1.1仕様」をそのままにします。1.1仕様をサポートするBPELプロジェクトが作成されます。「名前」フィールドに適切なBPELプロセス名を入力します。InsertShipNoticeと入力します。「テンプレート」フィールドで「非同期BPELプロセス」を選択します。「OK」をクリックします。receiveアクティビティとreplyアクティビティを持つ非同期BPELプロセスが作成されます。InsertShipNotice.bpelとInsertShipNotice.wsdl)を含む必要なソース・ファイルとcomposite.xmlも生成されます。次のタスクは、BPELプロセスにパートナ・リンクを追加することです。パートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。BPELプロセス・シナリオに基づいて、パートナ・リンクを作成し、出荷通知を作成する必要があります。パートナ・リンクを追加する手順は、次のとおりです。「コンポーネント・パレット」で「BPELサービス」をクリックします。Applications」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「アダプタ構成ウィザード」の「ようこそ」ページが表示されます。「次」をクリックします。「サービス名」フィールドにサービス名を入力します。InsertShipment。「次」をクリックします。「サービス接続」ページが表示されます。データベース・サービス接続の指定データベース接続については次のいずれかのオプションを実行できます。Applicationsを実行しているデータベースに接続する必要があります。新しいデータベース接続を作成するには、「新規データベース接続を作成します」アイコンをクリックします。新しいデータベース接続を定義する方法は、「新規データベース接続の作成」を参照してください。以前に構成した既存のデータベース接続は、「接続」ドロップダウン・リストから選択できます。「サービス接続」ページが開いて、選択した接続情報が表示されます。Interface)名が、「データベース・サーバーのJNDI名」フィールドに自動的に表示されます。JNDI名を指定することもできます。Applicationsアダプタのデプロイメント・ディスクリプタにより、このJNDI名をアダプタで必要な構成プロパティに関連付ける必要があります。JNDI名は、サービスがBPELサーバーにデプロイされるときに使用される接続のプレースホルダとなります。これによって、開発用とその後の本番用とで異なるデータベースを使用できます。Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。Applicationsで使用可能なリストを参照してインタフェースを追加できます。「次」をクリックします。Suiteリリース12に接続している場合は、IREPファイルがありませんというダイアログが表示されます。Repositoryデータ・ファイルが見つからないことを示します。Repositoryツリーの参照や検索がかなり低速になります。Repositoryデータファイルのローカル・コピーを作成するように選択できます。Repositoryからデータが取得されます。次のいずれかのオプションを選択できます。Repositoryデータファイルを抽出するには、「はい」をクリックします。Repositoryデータファイルのローカル・コピーが正常に作成されると、データベースへの次回接続時には、「操作」ダイアログに「IRepデータ・ファイル」フィールドが表示されます。これは、ファイル名の一部に作成日時を含んだローカル・コピーが存在することを示します。Repositoryツリーを表示するには、「いいえ」をクリックします。Applicationsモジュール・ブラウザ」を開きます。Suiteリリース11.5.9のインスタンスに接続している場合は、「アダプタ構成ウィザード」でインタフェース・タイプを選択する必要があります。「EDIゲートウェイ」を選択して次に進みます。Applicationsモジュール・ブラウザ」を開きます。Gatewayインタフェースを選択できます。Applicationsで使用可能な各種の製品ファミリが含まれています。Applicationsの製品ファミリです。製品ファミリには、個別製品が含まれています。Gateway製品が含まれています。製品には、関連するビジネス・エンティティが含まれています。Notificationビジネス・エンティティが含まれています。ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェースに従ってグループ化されています。EDIプログラムは「EDI」カテゴリの下にあります。Applicationsモジュール・ブラウザからのインタフェースの指定インバウンドまたはアウトバウンドのEDIプログラムを選択します。アダプタ・サービスごとに選択できるEDIプログラムは1つのみです。(ECASNI)」EDIコンカレント・プログラムを選択します。EDIプログラムを検索するには、「オブジェクト名」フィールドにプログラム名を入力する方法もあります。「EDI」チェック・ボックスを選択して「検索」をクリックします。「OK」をクリックします。選択したEDIコンカレント・プログラムが「操作オブジェクト」に追加されます。「アプリケーション・インタフェース」ページ「次」をクリックします。Applicationsの構成プロセスを完了します。選択したインタフェースに対応するWSDLファイルが生成されます。このWSDLファイルをパートナ・リンクに使用できます。関数のラッパーが存在しない場合は、「終了」をクリックするとプロジェクトに2つのSQLファイルが追加されることがあります。Gatewayベースのサービスを初めて作成するときに生成されます。以降のサービスでは、同じラッパーが再利用されます。「適用」をクリックし、「OK」をクリックします。必要なWSDL設定を使用してパートナ・リンクが作成されます。既存のオーダーを同期読取りし、出荷明細を取得することにより、BPELプロセスを構成するには、この手順を使用します。ファイル・アダプタ用パートナ・リンクを追加して、出荷詳細を読み取る手順は、次のとおりです。Designerの「コンポーネント・パレット」で、「BPELサービス」をクリックします。「ファイル・アダプタ」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンのパートナ・リンクInsertShipmentの前にドラッグ・アンド・ドロップします。「アダプタ構成ウィザード」の「ようこそ」ページが表示されます。「次」をクリックします。「サービス名」ダイアログで、ファイル・アダプタ・サービスの名前を入力します(getShippingDetailsなど)。「次」をクリックします。「アダプタ・インタフェース」ダイアログが表示されます。「操作およびスキーマから定義(後で指定)」ラジオ・ボタンを選択し、「次へ」をクリックします。「操作」ダイアログで、操作タイプを指定します。File」ラジオ・ボタンを選択します。この操作タイプは、「操作名」フィールドに自動的に移入されます。「次へ」をクリックして、「ファイル・ディレクトリ」ダイアログにアクセスします。「論理名」ラジオ・ボタンを選択して、受信ファイルのディレクトリ(inputDirなど)を指定します。「正常な取得後にファイルを削除」チェック・ボックスが選択されていないことを確認します。「次へ」をクリックして、「ファイル名」ダイアログを開きます。File操作のファイル名を入力します。order_data.xmlと入力します。「次へ」をクリックして、「メッセージ」ダイアログを開きます。「スキーマ・ファイルを参照」アイコンを選択して、「タイプ・チューザ」を開きます。「タイプ・エクスプローラ」をクリックして、「プロジェクトのスキーマ・ファイル」→「APPS_XX_BPEL_FND_REQUEST_WRAPPER_SUBMIT_REQUEST.xsd」→「InputParameters」を選択します。選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。「次へ」をクリックし、「終了」をクリックします。パートナ・リンクに対応するWSDLファイルが生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルgetShippingDetails.wsdlが指定されています。「適用」をクリックし、「OK」をクリックして構成を完了し、ファイル・アダプタ・サービスに必須のWSDL設定を持つパートナ・リンクを作成します。BPELプロセス・ダイアグラムにgetShippingDetailsパートナ・リンクが表示されます。invokeアクティビティの構成パートナ・リンクを追加および構成すると、次の2つのInvokeプロセス・アクティビティを構成して、EDIコンカレント・プログラムとファイル・アダプタ用パートナ・リンクを起動できます。XMLファイルのgetShippingDetailsパートナ・リンクを起動することにより、receiveアクティビティから受信した出荷詳細を取得します。InsertShipmentパートナ・リンクを起動することにより、出荷通知を作成します。パートナ・リンクに対する最初のinvokeアクティビティを追加して、出荷詳細を取得する手順は、次のとおりです。Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。最初の「invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの「receiveInput」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。invokeアクティビティをgetShippingDetailsサービスにリンクします。「Invokeの編集」ダイアログが表示されます。invokeアクティビティの名前を入力し、「入力変数」フィールドの横にある「作成」アイコンをクリックして、新規変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。「出力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。「適用」をクリックし、「Invokeの編集」ダイアログ・ボックスの「OK」をクリックして、invokeアクティビティの構成を終了します。プロセス・ダイアグラムにinvokeアクティビティが表示されます。パートナ・リンクに対する2番目のinvokeアクティビティを追加して、出荷通知を作成する手順は、次のとおりです。Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。3番目の「Invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの最初の「invoke」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。invokeアクティビティをInsertShipmentサービスにリンクします。「Invokeの編集」ダイアログ・ボックスが表示されます。「操作」は、パートナ・リンクの構成時に選択したEDIコンカレント・プログラムに応じて自動的に選択されます。最初のinvokeアクティビティの手順で説明したステップ3から6を繰り返します。「適用」、次に「OK」をクリックします。アプリケーション・コンテキストのヘッダー・プロパティの設定BPELプロセスを完了するために必要なアプリケーション・コンテキストに渡す必要があるヘッダー・メッセージ・プロパティを設定するには、次の手順を使用します。「プロパティ」タブを選択して、BPELプロセスを完了するために必要なアプリケーション・コンテキストに渡す必要があるヘッダー・メッセージ・プロパティを設定します。下にスクロールして、リストから「jca.apps.Username」プロパティを見つけて関連付けられている値フィールドをダブルクリックし、「アダプタ・プロパティ値」アイコンを有効化します。アイコンをクリックして、選択した「jca.apps.Username」プロパティの「アダプタ・プロパティ値」ダイアログを開きます。「式」ラジオ・ボタンを選択し、プロパティ値として「'OPERATIONS'」を入力します。「OK」をクリックします。(USA)」をjca.apps.Responsibilityに割り当てます。「適用」をクリックして、「OK」をクリックし、invokeアクティビティを完了します。assignアクティビティの構成getShippingDetailsサービスの出力をInsertShipmentサービスの入力として渡すには、assignアクティビティを使用します。assignアクティビティを追加する手順は、次のとおりです。Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Assign」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの前に作成した2つの「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。「Assign」アクティビティをダブルクリックして、「Assignの編集」ダイアログにアクセスします。「一般」タブをクリックして、assignアクティビティの名前を入力します。setShipInfo。「コピー・ルール」タブを選択してソース・ツリーとターゲット・ツリーを展開します。「From」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_SynchRead_OutputVariable」→「本体」の順にナビゲートして、「ns3:InputParameters」を選択します。「To」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_Service_InsertShipment_InputVariable」→「入力パラメータ」にナビゲートして、「ns3:InputParameters」を選択します。ソース・ノード(ns3:InputParameters)を、指定したターゲット・ノード(ns3:InputParameters)にドラッグして接続します。これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。パラメータの割当て「適用」をクリックして、「OK」をクリックし、assignアクティビティの構成を完了します。JDeveloperのコンポジット・ダイアグラムを表示します。「composite.xml」の「ソース」タブをクリックして、参照getShippingDetailsの物理ディレクトリinputDirの値を入力します(/usr/tmpなど)。Gatewayに関する実行時タスクBPELプロセスを使用したSOAコンポジット・アプリケーションを設計したら、次の手順はそれをデプロイ、実行および監視することです。WebLogic管理対象サーバーにSOAコンポジットをデプロイする必要があります。JDeveloperが使用できます。Controlコンソールからテストできます。JDeveloperを使用してBPELプロセスとともにSOAコンポジットをデプロイする前に、設計時環境とランタイム・サーバーとの間の接続を確立する必要があります。Serverのデータ・ソースの構成」と「アプリケーション・サーバーの接続の作成」を参照してください。Serverを起動します。DefaultServer」および「メッセージ」ログに「<サーバーが実行モードで起動されました」および「DefaultServerが起動されました」というメッセージが表示されます。BPELプロセスを使用したSOAコンポジット・アプリケーションをデプロイする手順は、次のとおりです。「アプリケーション・ナビゲータ」でSOAコンポジット・プロジェクトを選択します。プロジェクト名を右クリックし、表示されるメニューから「デプロイ」→[プロジェクト名]→[serverConnection]を選択します。InsertShipNotice」→「soa-server1」を選択してプロセスをデプロイできます。サーバー接続を初めてセットアップすると、「デプロイメント・アクション」ウィンドウが表示されます。「アプリケーション・サーバーにデプロイ」を選択して、「次へ」をクリックします。「構成のデプロイ」ウィンドウで、次の情報が選択されていることを確認してから「次へ」をクリックすると新しいアプリケーション・サーバーが追加されます。このチェック・ボックスを選択します。このチェック・ボックスを選択します。Server接続を新規作成する手順は、「アプリケーション・サーバー接続の作成」に記載されています。「サーバーの選択」ページで、前に確立したサーバー接続「soa-server1」を選択します。「次」をクリックします。「SOAサーバー」ページでデフォルトのターゲットSOAサーバー('soa-server1')の選択を受け入れます。「次へ」をクリックし、「終了」をクリックします。JDeveloperセッションからコンポジットを初めてデプロイする場合は、「認証リクエスト」画面が表示されます。Suiteのインストール中に、指定されたユーザー名とパスワードを入力します。「OK」をクリックします。デプロイメント処理が開始されます。ログ」ウィンドウでデプロイメントの進行とコンパイルの成功を確認します。ログ」ウィンドウでデプロイメントの成功を確認します。Controlコンソールからプロセスを管理および監視できます。プロセスを手動で開始して統合をテストすることもできます。BPELプロセスを使用したデプロイ済SOAコンポジット・アプリケーションをテストする手順は、次のとおりです。Controlコンソールにナビゲートします(http://<サーバー名>:<ポート番号>/em)。デプロイしたコンポジットが「アプリケーション・ナビゲーション」ツリーに表示されます。ユーザー名(weblogicなど)とパスワードを入力して、「ログイン」をクリックし、ファームにログインします。Controlコンソール・ファームがある場合は、適切なターゲット・インスタンス・ファームを選択する必要がある場合があります。ファームのベース・ドメインで、「SOA」→「soa-infra」を展開して、SOAインフラストラクチャ・ホーム・ページとメニューをナビゲートし、その管理対象サーバーのSOAインフラストラクチャで実行されているデプロイ済のSOAコンポジット・アプリケーションにアクセスします。「ファーム」メニューは常にナビゲータの最上部に表示されます。ナビゲータで「SOA」フォルダを展開し、その下に表示されるリンクをクリックすると、ページの最上部で「SOAインフラストラクチャ」メニューを使用できるようになります。SOAインフラストラクチャから、開始するSOAコンポジット・アプリケーション(「InsertShipment」など)をクリックします。ページの最上部で「テスト」をクリックします。インスタンスを起動するための「Webサービスのテスト」ページが表示されます。「入力引数」セクションで使用するXMLペイロード・データを指定できます。プロセスに必要な入力文字列を入力して、「Webサービスのテスト」をクリックし、プロセスを起動します。Webサービスのテスト完了すると、「レスポンス」タブにテスト結果が表示されます。「インスタンス」タブをクリックします。最後にページのデータがリフレッシュされてからの各インスタンスのSOAコンポジット・アプリケーション・インスタンスID、名前、対話ID、および最新の状態が表示されます。「インスタンスID」列で特定のインスタンスIDをクリックすると、様々なサービス・コンポーネントとバインディング・コンポーネントのメッセージ・フローが表示されます。「フローのトレース」ページが表示されます。「トレース」セクションに、一連のメッセージ・フロー(サービス・バインディング・コンポーネント(insertshipnotice_client_ep)、BPELコンポーネント(InsertShipment)および参照バインディング・コンポーネント(getShippingDetailsとInsertShipment))が表示されます。関連するすべてのコンポーネントが、メッセージを正常に受信および処理しました。テスト中にエラーが発生した場合は、「フォルト」セクションに表示されます。BPELサービス・コンポーネント・インスタンスのリンク(InsertShipmentなど)をクリックすると、「インスタンス」ページが表示され、「監査証跡」タブで、BPELアクティビティの実行詳細を表示できます。BPELプロセス・フロー・ダイアグラムを確認するには、フロー・タブをクリックします。アクティビティの詳細およびプロセス全体のペイロードのフローを表示するには、プロセス・ダイアグラムのアクティビティをクリックします。Suiteでレコードを検証する手順は、次のとおりです。Suiteにログインします。「表示」メニューから「リクエスト」を選択します。監査証跡から取得したリクエストIDを入力してリクエストを検索し、「検索」をクリックします。「要求の検索」ダイアログ・ボックスリクエスト詳細が表示されます。リクエストのフェーズやステータスなどの詳細をチェックできます。Suiteで該当する表を問い合せて、挿入された関連レコードを検索することもできます。