プライマリ・コンテンツに移動
Oracle® Fusion Middlewareテクノロジ・アダプタの理解
12c (12.2.1)
E69958-02
目次へ移動
目次

前
次

13 Oracle JCA Adapter for Microsoft Message Queueing

この章では、概念、機能、構成および使用例について説明します。

この章では、MSMQ機能へのアクセスを可能にし、Oracle BPEL Process Manager (Oracle BPEL PM)およびOracle Service Bus (OSB)と連携して動作するOracle JCA Adapter for Microsoft Message Queueingの使用方法について説明します。このアダプタは、MSMQからネイティブ・フォーマット変換フレームワーク(nXSD)まで、様々なメッセージ・フォーマットの処理もサポートしています。

この章の項目は次のとおりです。

13.1 Oracle JCA Adapter for MSMQの概念と機能

Microsoftメッセージ・キュー(MSMQ)は、Microsoft Windowsオペレーティング・システム用の疎結合の分散メッセージング・アプリケーションを作成するためのメッセージ・インフラストラクチャおよび開発プラットフォームです。

メッセージ・キューイング・アプリケーションは、メッセージ・キューイングを使用して、異なるネットワーク間で、オフラインである可能性があるコンピュータと通信します。Microsoftメッセージ・キューは、保証付きメッセージ配信、ルーティング、セキュリティ、トランザクション・サポートおよび優先度ベース・ルーティングを提供します。

メッセージ・キューは、MSMQがメッセージを保存し、その後転送するために使用する論理コンテナであり、メッセージ・キューイングの疎結合的側面の基盤を提供します。キューイング・アプリケーションは、キューにメッセージを送信する際に、メッセージが処理されるタイミング、およびそのメッセージを実際に処理する受信アプリケーションについて認識する必要はありません。

MSMQを使用するアプリケーションは、キューの作成/検索、キューへの接続、キューの移動、キューに対するメッセージの送受信を行い、MSMQキュー・プロパティを使用して該当するキューの動作を定義します。

この項の内容は、次のとおりです。

13.1.1 MSMQの用語

MSMQの基本概念について理解することに加え、MSMQアダプタを使用するための背景知識としてMSMQの基本用語を理解することが重要です。MSMQの用語についてよく理解するには、関連のMicrosoftドキュメントを参照する必要がありますが、MSMQアダプタの使用を補完するレベルでMSMQ製品について理解するには、次の定義が役立ちます。

  • パブリック・キュー: すべてのメッセージ・キューイング・アプリケーションが検出できる、ディレクトリ・サービスに登録されているキュー。これにより、MSMQアプリケーションはそのドメイン内の任意の場所にあるキューを検出して開くことができます。パブリック・キューにより、メッセージがActive Directoryサービス全体にレプリケートされるマルチホップ・シナリオを実現できます。

  • プライベート・キュー: 通常は他のアプリケーションが検出できない、(ディレクトリ・サービスではなく)ローカル・コンピュータ上に登録されているキュー。

  • MSMQキュー: 条件が許せば、メッセージを確実に送受信できる一時記憶域の場所。

  • MSMQユーザー・メッセージ・キュー: プライベートまたはパブリックのいずれかであるキュー。

  • リモート・キュー: キュー・マネージャは、メッセージの配信、受信、認証、ルーティングを行い、ディレクトリ・サービス内の情報を保持するメッセージ・キューイング・サービスです。アプリケーションの場合、リモート・キューは、アプリケーションが通信するキューではなく、キュー・マネージャがホストするキューです。

  • 配信リスト: 配信リストは、Active Directoryドメイン・サービス(ADDS)に保存されている宛先のパブリック・リストです。

  • ADDS: Active Directoryドメイン・サービスは、Windowsドメイン・ネットワーク用にMicrosoftにより実装されているディレクトリ・サービスです。ほとんどのWindows Serverオペレーティング・システムに含まれています。

  • トランザクション・キュー: トランザクション・メッセージを含むキュー。トランザクション・キューには、トランザクション内で送信されるメッセージであるトランザクション・メッセージのみを含めることができます。トランザクション・メッセージを使用して、メッセージの送信または受信を、別の操作のアクションと組み合せることができます。トランザクション・メッセージを使用すると、作業ユニットがアトミック操作として確実に実行されます。

  • 非トランザクション・キュー: 非トランザクション・メッセージのみを含むキュー。メッセージ・キューイングでは、非トランザクション・キュー内にトランザクション・メッセージを含めることはできません。

  • 外部キュー: メッセージ・キューイングを実行していないコンピュータ(外部コンピュータ)上にあるキュー。

13.1.1.1 jCOMおよびMSMQアダプタ

MSMQアダプタは、Oracle WebLogic jCOMを使用して、MSMQ v5.0との相互作用を可能にします。jCOMにより、Java-to-COMの統合がサポートされます。

13.1.1.1.1 背景

具体的には、WebLogic jCOMは、分散コンピューティング環境リモート・プロシージャ・コール上のCOM/DCOMの分散コンポーネント・インフラストラクチャと、Java Remote Method Protocol/Internet Inter-ORB Protocol上のRemote Method Invocation (RMI)の分散コンポーネント・インフラストラクチャの両方を実装するランタイム・コンポーネントを提供します。これにより、相互作用の反対側にあるオブジェクトが、各環境のネイティブ・オブジェクトであるかのように見えます。

分散コンポーネント・オブジェクト・モデル(Distributed Component Object Model: DCOM)モードは、コンポーネント・オブジェクト・モデル(Component Object Model: COM)を使用して異なるコンピュータ上のオブジェクト間の通信をサポートします。

DCOMモードで実行されているWebLogic jCOMアプリケーションでは、COMクライアントはWebLogic Server DCOMプロトコルと通信します。

ネイティブ・モードの場合、COMクライアントはWebLogic Serverにネイティブ呼出しを行い(COM-to-WLS)、WebLogic ServerはCOMアプリケーションにネイティブ呼出しを行います。

ネイティブ・モードでは、ローカルのオペレーティング・システムとCPU用に特にコンパイルおよび最適化された、ネイティブ・コードの動的にロードされるライブラリ(DLL)が使用されるため、COM-to-WLSアプリケーションとWLS-to-COMアプリケーションでは、ネイティブ・モードを使用するとパフォーマンスが向上します。

13.1.1.1.2 MSMQアダプタの影響

MSMQアダプタを使用する理由は、MSMQサーバーとSOAサーバーが同じマシン上にインストールされている場合にネイティブ・モードを使用できるためです。インストールされているSOAサーバーは、Windowsプラットフォームである必要があり、Linuxプラットフォームなど、別のプラットフォームであってはなりません。MSMQアダプタとMSMQが同じシステム上にインストールされている場合、jCOMプロトコル・レベルとMSMQアダプタ・レベルの両方でネイティブ・モードを有効にできます。ネイティブ・モードを使用している場合、MSMQアダプタは、MSMQサーバーと同じシステム上にあるためMSMQサーバーと直接通信でき、(MSMQアダプタとMSMQサーバーが2つの異なるマシン上にある場合に使用される)DCOMプロトコルを通信に使用する必要はありません。MSMQアダプタがMSMQ COMコンポーネントとの通信にDCOMプロトコルを使用しないようにすることで、パフォーマンス上の利点がもたらされます。

13.1.1.2 セキュリティ

MSMQアダプタがMSMQサーバーへのアウトバウンド接続を確立する必要がある場合は、有効なセキュリティ資格証明を使用してサインオンする必要があります。J2CA 1.5仕様に従って、WebLogic Serverではアウトバウンド接続についてコンテナ管理のサインオンとアプリケーション管理のサインオンの両方がサポートされています。MSMQアダプタは、これらの方法のいずれかを利用して、エンタープライズ情報システムにサインオンできます。

13.1.1.2.1 コンポーネント管理のサインオン

コンポーネント管理のサインオンでは、コンポーネント自体が、エンタープライズ情報システムへの接続を取得するためのコール時に、必要なセキュリティ資格証明を提供します。アプリケーション・サーバーは、nullのサブジェクト・インスタンスを渡して、ManagedConnectionFactorycreateManagedConnectionメソッドを起動します。

13.1.1.2.2 コンテナ管理のサインオン

コンテナ管理のサインオンでは、ユーザーはOracle WebLogic Serverにサインオンすると、リソース・アダプタを通してエンタープライズ情報システムにもアクセスでき、エンタープライズ情報システムに個別にサインインする必要がなくなります。

Oracle WebLogic ServerとMSMQは独立したセキュリティ・レルムを保守しているため、このことは資格証明マッピングを使用して実現されます。Oracle WebLogic Serverのセキュリティ・プリンシパルは、エンタープライズ情報システムへのアクセスに必要な対応する資格証明にマップされます。

13.1.1.3 ロギングおよび診断能力

MSMQアダプタは、アダプタ・フレームワーク・コンポーネントにより提供されるMSMQアダプタ・ロギング・フレームワークを使用して、ランタイム・ログを取得します。

MSMQアダプタは、次のログを生成します。

  • oracle.soa.adapter.msmq

  • oracle.soa.adapter.msmq.transaction

  • oracle.soa.adapter.msmq.connection

  • oracle.soa.adapter.msmq.inbound

  • oracle.soa.adapter.msmq.outbound

これらのログの詳細は、『Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。

各ログ出力をTRACE:32に設定して、その領域のデバッグ・ロギングを有効にしたり、oracle.soa.adapter.msmqログ出力をTRACE:32に設定して、MSMQアダプタの完全ロギングを有効にすることができます。MSMQアダプタで発生する例外には、対応するエラー・コードとエラー・メッセージがあります。

13.1.1.4 MSMQアダプタおよび高可用性

MSMQアダプタは、アクティブ/アクティブ・トポロジでデプロイ可能です。MSMQアダプタは、その実装の一部として、各ポーラー・スレッドが次に使用可能なメッセージのキューをポーリングできるようにします。各ポーラー・スレッドは受信APIを使用し、読込みが正常に終了するとメッセージがキューから削除されます。これにより、MSMQアダプタがアクティブ/アクティブ・トポロジでデプロイされた場合にメッセージの重複がなくなります。

13.1.2 Windows Server 2008でのMSMQの設定

Windows Server 2008のインストール環境でMSMQを使用するには、MSMQをインストールするWindows Serverの次の機能を有効にします。設定と構成の詳細は、関連のMicrosoftドキュメントを参照してください。

  • メッセージ・キュー・サーバー。インストールの詳細は、http://msdn.microsoft.com/en-us/library/aa967729.aspxにあるMicrosoftのドキュメント「Installing Message Queuing (MSMQ)」を参照してください。

  • ディレクトリ・サービス統合(パブリック・キューと配信リストの場合)。具体的な前提条件として、Windows 2008 Serverシステム上にActive Directoryドメイン・サービス(AD_DS)が構成されている必要があります。Active Directoryドメイン・サービスはMSMQパブリック・キューにアクセスする必要があり、アクセスできない場合、MSMQアダプタ使用例で使用できるのはプライベート・キューのみとなります。

  • メッセージ・キューDCOMプロキシ

インストールが正常に行われると、メッセージ・キューがMicrosoftサーバー・マネージャ・コンソール・ウィンドウの機能リンクの下に表示されます。

13.1.3 Oracle Weblogic Server for COMの設定

COMで使用するようにOracle WebLogic Serverを設定するには、次の手順を実行します。

  • SOA MSMQアダプタをデプロイするサーバーのjCOMを有効にします。jCOMの有効化の詳細は、オンライン・バージョンのヘルプ(Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・オンライン・ヘルプ12cリリース1 (12.1.3))を参照してください。

    jCOMがSOAサーバーで有効になっている場合は、MSMQアダプタをアクティブ化するときに、そのアダプタがデプロイされるターゲットはSOAサーバー自体である必要があります。jCOMは、アダプタのターゲットとなる管理対象サーバー上で有効になっている必要があります。

  • Weblogicが、Microsoftメッセージ・キューを実行しているWindowsマシン上にインストールされている場合、次のドキュメントの説明に従って、構成オプション「ネイティブ・モードの有効化」によりネイティブ・モードを有効にできます。http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/pagehelp/Corecoreserverserverprotocolsjcomtitle.html

    jCOMのネイティブ・モードを有効化します。jCOMのネイティブ・モードの有効化の詳細は、http://docs.oracle.com/cd/E15051_01/wls/docs103/jcom/comtowls.html#wp1074435を参照してください。

  • 最後に、jCOMを有効化するには、SOA MSMQアダプタをデプロイする該当サーバーの再起動、およびWebLogic Serverの再起動が必要です。

13.1.3.1 トランザクション管理およびエラー処理

アダプタに通常適用される、トランザクション管理およびエラー処理の詳細は、「アダプタ・フレームワーク」を参照してください。

13.1.3.1.1 トランザクション管理

MSMQアダプタ・トランザクション・サポートはデフォルトでLocalTransactionに設定されます。MSMQアダプタは、XAトランザクションをサポートしていません。トランザクション・キューは、ローカル・トランザクション・セマンティクスで使用される場合にサポートされます。

インバウンドとアウトバウンドの両方のエラーの場合において、MSMQアダプタは、JCA管理対象コネクション・ファクトリのTransactionModeプロパティがSingleに設定されていると、内部MSMQトランザクションを開始します。

JCA管理対象コネクション・ファクトリのTransactionModeプロパティがNoneに設定されている場合、MSMQアダプタは、MSMQ側でトランザクションを開始せず、メッセージはトランザクションではない方法で生成および消費されます。

TransactionModeプロパティ値のNoneは、非トランザクション・キューに対してメッセージを送受信する場合に必要となります。

13.1.3.1.2 フォルト処理

MSMQアダプタは、MSMQキューに対するメッセージの生成や消費の実行時に発生したフォルトを処理できます。

フォルトが発生した場合、フォルトの性質に基づいて、またエラーが再試行可能であるか再試行不可であるかに応じて、メッセージはBPELリカバリ・キューに配信されるか、再試行されます。アダプタ・フォルトの処理方法の詳細は、「エラー処理」を参照してください。

MSMQアダプタはXAトランザクションをサポートしていないため、XA再試行可能エラーはサポートされていません。

XA再試行可能エラーは、XAトランザクションのコンテキストで発生したエラーを指しています。アダプタは、PCRetriable例外またはXARetriable例外をスローできます。ただし、MSMQアダプタで使用する場合はXAがないため、MSMQアダプタではXAエラーは許可されていません。

13.1.3.1.3 アウトバウンド再試行可能エラー

MSMQアダプタは、構成されたバインディング・プロパティに応じて再試行を実行します。これらのバインディング・プロパティが指定されていない場合は、デフォルト・ポリシーがコンポジット・アプリケーションの一部として含まれていれば、デフォルト・ポリシーによって再試行が実行されます。

MSMQバインディング・プロパティの詳細は、アダプタのプロパティの章の表13-3 を参照してください。

13.1.3.1.4 アウトバウンド再試行不可エラー

アウトバウンド再試行不可フォルトが発生した場合は、フォルト・ポリシーが実行されます。

13.1.4 MSMQアダプタの機能

Oracle MSMQアダプタには、次の機能があります。

  • MSMQプライベート・キューへのメッセージの送信

    • MSMQアダプタにより、ローカル・プライベート・キューにメッセージを送信できます。MSMQアダプタ構成ウィザードを使用してMSMQアダプタ参照をモデル化する場合は、MSMQキューへのメッセージの送信(またはプット)に使用されるエンキュー操作をモデル化できます。

    • MSMQアダプタにより、ローカル・トランザクション・プライベート・キューにメッセージを送信できます。MSMQアダプタ構成ウィザードを使用してMSMQアダプタ参照をモデル化する場合は、ローカル・トランザクションMSMQキューへのメッセージの送信に使用されるエンキュー操作をモデル化できます。

    注意:

    メッセージの送受信時に接続がトランザクションに関与するかどうかを示す、MSMQのTransactionModeプロパティの関連性を理解することが重要です。このプロパティの値は[Single|None]です。

    値がSingleの場合、メッセージの送信先となるローカルおよびリモートのMSMQキューはトランザクションである必要があります。値がSingleの場合、メッセージの取得元となるローカルMSMQキューはトランザクションである必要があります。

    値がNoneで、かつメッセージの送信先となるキューがトランザクションの場合は、ResourceExceptionが発生します。

  • MSMQパブリック・キューへのメッセージの送信

    • MSMQアダプタにより、ローカル・パブリック・キューにメッセージを送信できます。MSMQアダプタ構成ウィザードを使用してMSMQアダプタ参照をモデル化する場合は、エンキュー操作をモデル化できます。このエンキュー操作を使用して、パブリックMSMQキューにメッセージを送信できます。

    • MSMQアダプタにより、ローカル・トランザクション・パブリック・キューにメッセージを送信できます。MSMQアダプタ構成ウィザードを使用してMSMQアダプタ参照をモデル化する場合は、エンキュー操作をモデル化できます。このエンキュー操作を使用して、MSMQキューにメッセージを送信できます。

  • MSMQ配信リストへのメッセージの送信

    • MSMQアダプタにより、配信リストにメッセージを送信できます。MSMQアダプタ構成ウィザードを使用してMSMQアダプタ参照をモデル化する場合は、MSMQ配信リストにメッセージを送信するようにエンキュー操作を構成できます。

  • プライベートMSMQキューからのメッセージの消費または受信

    • MSMQアダプタにより、ローカル・プライベートMSMQキューからのメッセージの消費または受信が可能になります。デフォルトの動作は、消費可能なキュー上の、次に使用可能なメッセージに対して適用されます。

      これを行うには、MSMQアダプタ構成ウィザードを使用して、MSMQプライベート・キューからのメッセージの消費を可能にするデキュー操作をモデル化します。MSMQアダプタは、ローカル・プライベート・トランザクションMSMQキューからのメッセージ消費を可能にし、デキューと呼ばれる操作をサポートします。

      これを行うには、構成ウィザードを使用して、トランザクションMSMQキューからメッセージを消費または受信するデキューを作成します。

  • パブリックMSMQキューからのメッセージの受信

    • MSMQアダプタにより、パブリックMSMQキューからメッセージを受信できます。MSMQアダプタは、アダプタ・サービスのモデル化時に構成し、MSMQキューからのメッセージの消費または受信に使用される、デキューと呼ばれる操作をサポートします。

    • MSMQアダプタにより、パブリック・トランザクションMSMQキューからメッセージを受信できます。トランザクションMSMQキューからのメッセージの受信に使用される、デキューと呼ばれるMSMQアダプタ構成ウィザードの操作を使用できます。

13.1.5 サポートされるMSMQプロパティ

MSMQアダプタには、いくつかのJCAプロパティがあります。簡単に参照できるよう、これらをここで示し、プロパティの付録でも示します。

JCAプロパティのリストは、表13-1 を参照してください。


表13-1 MSMQアダプタのJCAプロパティ

プロパティ 説明 デフォルト値 必須

DestinationType

メッセージが、配信リスト名で識別されるパブリック・キュー、プライベート・キュー、またはキューのグループに送信されるかどうかを示します。値は次のとおりです。

PUBLIC_QUEUE

PRIVATE_QUEUE

DISTRIBUTION_LIST

なし

はい

DestinationName

MSMQキューの名前。

なし

はい(UseActiveDirectoryPathがFalseの場合)

DestinationPath

ActiveDirectoryで表されるDistributionListキューまたはPublicキューを識別する文字列。文字列の例を次に示します。

LDAP://MyLDAPServer/CN=MyQueue,CN=msmq,CN=MyComputer,CN=Computers,DC=MyDomain,DC=MyCompany,DC=COM

なし

はい(UseActiveDirectoryPathがTrueの場合)

UseActiveDirectoryPath

パブリック・キューの識別に、キュー名ではなくActive Directoryパスを使用することを許可するブール。このプロパティは、DestinationTypeがDISTRIBUTION_LISTまたはPUBLIC_QUEUEである場合に適用可能です

False

-

UseDirectFormatName

パブリックおよびプライベートのキューに直接フォーマット名を使用することを許可するブール。

False

-

Priority

優先度は7から0までの任意の整数値に設定できます(デフォルトは3)。7は高い優先度を意味します。0は最も低い優先度を意味します。最も高い優先度は、高速な処理を意味します。

3

-

TimeToLive

このプロパティは、ターゲット・キューからメッセージを取得する時間制限(秒)を指定します。値は、指定したMSMQメッセージのMaxTimeToReceiveプロパティに割り当てられます。

-1 (無限)

-

Delivery

このプロパティは、式(非永続)またはリカバリ可能なメッセージング(永続)の指定に使用します。高速メッセージングでは、スループットが高速になります。リカバリ可能メッセージングでは、メッセージがキューに到達する途中にコンピュータがクラッシュした場合でもメッセージが配信されることを保証します。値は、Persistent、Non-Persistentです。

Persistent

-

OperationType

実行する操作。サポートされるOperationTypeの値は、enqueueおよびdequeueです。

なし

はい

BodyType

値は、String (デフォルト)およびByteArrayです。不透明(スキーマ)処理オプションが選択されている場合は、ByteArrayのBodyType値を意味します。

文字列

はい

EnableStreaming

ペイロードのストリーミングを可能にするブール

False

-


MSMQアダプタに関連する正規化されたプロパティのリストについては、表13-2 を参照してください。各プロパティのアダプタ処理の方向も示されています。


表13-2 MSMQアダプタの正規化されたプロパティ

プロパティ名 説明 方向

jca.msmq.message.SentTime

このプロパティは、メッセージが送信されたときを示します。

インバウンド

jca.msmq.message.Priority

このプロパティは、メッセージの優先度を指定します。これにより、MSMQInteractionSpecのPriorityがオーバーライドされます。

インバウンド/アウトバウンド

jca.msmq.message.TimeToLive

このプロパティは、ターゲット・キューからメッセージを取得する時間制限(秒)を指定します。これにより、MSMQInteractionSpec.のTimeToLiveがオーバーライドされます。

インバウンド/アウトバウンド

jca.msmq.message.MaxTimeToReachQueue

このプロパティは、メッセージがキューに到達する時間制限(秒)を指定します。ここで何も指定しない場合、メッセージ・キューイングでは、キューへの到達時間間隔に企業全体の設定が使用されます。

インバウンド/アウトバウンド

jca.msmq.message.Id

MSMQにより生成されたメッセージ識別子を使用して、メッセージを識別します。

インバウンド

jca.msmq.message.Delivery

このプロパティは、メッセージ・キューイングがメッセージを配信する方法を指定します。これにより、MSMQInteractionSpecのDeliveryがオーバーライドされます。

インバウンド/アウトバウンド

jca.msmq.message.BodyLength

このプロパティは、メッセージ本文の長さ(バイト)を指定します。

インバウンド

jca.msmq.message.ArrivedTime

このプロパティは、メッセージがキューに到達したときを示します。

インバウンド


MSMQアダプタに適用されるバインディング・プロパティのリストについては、表13-3 を参照してください。


表13-3 MSMQアダプタのバインディング・プロパティ

プロパティ名 説明

adapter.msmq.receive.timeout

別のポーリング・サイクルを開始する前にメッセージ・キューイングがメッセージの到着を待機する時間(ミリ秒)。デフォルト値は1秒(1)です。

adapter.msmq.dequeue.threads

エンドポイントのアクティブ化が発生すると初期化されるポーラー・スレッドの数。これにより、アダプタは次のポーリング・サイクルが開始されるまでメッセージの受信を指定された時間待機することができます。指定した場合、adapter.msmq.dequeue.threadsの値は、複数のインバウンド・ポーラー・スレッドを生成するために使用されます。複数のインバウンド・スレッドは、パフォーマンスを向上させるために使用できます。デフォルト値は1です。


MSMQアダプタのコネクション・ファクトリを構成する場合は、コネクション・ファクトリ構成プロパティを使用します。表13-4を参照してください。各プロパティの処理方向も示されています。


表13-4 MSMQアダプタのコネクション・ファクトリ構成

プロパティ名 説明 デフォルト

Host

MSMQホストのIPアドレス。

-

AccessMode

コネクション・ファクトリがネイティブ・アクセスを許可するかどうかを識別します。値は[Native | DCOM]です。Nativeの場合、Oracle WebLogic ServerはMSMQと同じホストにインストールされている必要があります。

DCOM

TransactionMode

メッセージを送信および受信する場合に接続がトランザクションに参加するかどうかを識別します。値は[Single|None]です。Singleの場合、メッセージの送信先となるローカルおよびリモートのMSMQキューはトランザクションである必要があります。Singleの場合、メッセージの取得元となるローカルMSMQキューはトランザクションである必要があります。Noneの場合に、メッセージの送信先となるキューがトランザクションであると、ResourceExceptionが発生します。

-

User

ユーザーを識別します。

-

Password

指定したユーザーのパスワードです。

-

Domain

MSMQホストのドメイン。

-


13.2 MSMQアダプタ構成ウィザードのフロー

MSMQアダプタ構成ウィザードを使用して、MSMQアダプタを作成および構成します。

13.2.1 エンキュー操作の作成

このウォークスルー例では、エンキュー操作を作成します。

  1. 「コンポーネント・パレット」から「MSMQアダプタ」をドラッグ・アンド・ドロップすると、アダプタ構成ウィザードが起動して、アダプタ構成ウィザードの「ようこそ」ページが表示されます。「次へ」をクリックします。
  2. MSMQアダプタ構成ウィザードでは、図13-1 に示すように、サービス名または参照名を入力するように求められます

    図13-1 MSMQ構成ウィザードの「サービス名」画面または「参照名」画面

    図13-1の説明が続きます
    「図13-1 MSMQ構成ウィザードの「サービス名」画面または「参照名」画面」の説明
  3. 次に、図13-2 に示すように、MSMQサービス接続のJNDI名を指定します。

    図13-2 MSMQアダプタ構成ウィザードの「MSMQ接続」画面

    図13-2の説明が続きます
    「図13-2 MSMQアダプタ構成ウィザードの「MSMQ接続」画面」の説明
  4. MSMQ構成ウィザードの「アダプタ・インタフェース」ページで、選択した操作を使用して新しいMSMQアダプタWSDLファイルを作成するか、操作がすでに指定された既存のWSDLをインポートすることができます。

    図13-3 MSMQアダプタ構成ウィザードの「アダプタ・インタフェース」画面

    図13-3の説明
    「図13-3 MSMQアダプタ構成ウィザードの「アダプタ・インタフェース」画面」の説明
  5. MSMQアダプタ構成ウィザードの「操作タイプ」ページで、MSMQアダプタ構成の有効な操作を選択できます。操作を更新する場合、操作はこのページで事前選択され、操作名は事前移入されます。既存のWSDLをインポートした場合、このページの操作名は事前移入されます。

    図13-4 MSMQアダプタの「操作タイプ」画面

    図13-4の説明
    「図13-4 MSMQアダプタの「操作タイプ」画面」の説明
  6. 次のステップでは、エンキュー操作を作成します。このページでは、エンキュー操作の構成パラメータを取得します。

    次のように入力します。

    • 「接続先タイプ」フィールドで、「パブリック・キュー」「プライベート・キュー」または「配信リスト」を指定します。

    • Public queueまたはDistribution Listが選択された場合、「Active Directoryパスの使用」チェック・ボックスは有効となり、「プライベート・キュー」は無効になります。

    • 「Active Directoryパスの使用」チェック・ボックスが選択されている場合は、キューの「接続先パス」を指定でき、そうでない場合は、キューの「接続先名」を指定できます。

    • 「メッセージ本文のタイプ」は、String (デフォルト)およびByteArrayです。

    • 「優先度」の値は、0 (最も低い優先度)から7 (最も高い優先度)です。デフォルトの優先度は3です。

    • 「永続性」の値は、Yes (デフォルト)またはNoです。

    • 「有効期限」の単位は、秒、分、時間および日です。MSMQアダプタ構成ウィザードは、TimeToLive相互作用の仕様プロパティ値の値の設定中に、秒以外の単位を秒に変換します。

  7. DequeueまたはGet Message操作を選択した場合、「デキュー・メッセージ」が表示されます。この画面で、メッセージをデキューするためのパラメータを入力できます。

    直接フォーマット名用のチェック・ボックスがあります。直接フォーマット名を使用すると、ディレクトリ・サービスにアクセスすることなく、パブリック・キューまたはプライベート・キューを参照できます。直接フォーマット名は、メッセージをコンピュータに直接送信する場合、インターネットを介してコンピュータに送信する場合、ドメイン、ワークグループまたはオフライン・モードでの操作中に任意のキューにメッセージを送信する場合、ドメイン、ワークグループまたはオフライン・モードでの操作中にメッセージを読み取る場合、またはフォレスト境界を越えてメッセージを送信する場合に使用されます。

    図13-6 デキュー操作(「MSMQからメッセージを取得」)画面

    図13-6の説明が続きます
    「図13-6 デキュー操作(「MSMQからメッセージを取得」)画面」の説明

    この画面で、次を指定できます。

    • 「接続先タイプ」(「パブリック・キュー」または「プライベート・キュー」)を指定します。

    • キューの「接続先名」を指定します。

    • 「メッセージ本文のタイプ」としてString (デフォルト)またはByteArrayを選択します。

    • 「ストリーミングの有効化」チェック・ボックスを選択して、ストリーミングを有効化します。この機能を有効化すると、ペイロードはメモリーDOM内のSOAランタイムで操作されるかわりにデータベースにストリーミングされます。この機能は、大きなペイロードの処理中に使用します。「ストリーミングの有効化」チェック・ボックスを選択すると、対応するブール・プロパティStreamPayloadがそれぞれの.jcaファイルに定義されているアクティブ化仕様プロパティに追加されます。

  8. アダプタ構成ウィザードに、「スキーマ」ページが表示されます。特定のスキーマを使用してメッセージ・ペイロードを変換する必要がある場合は、着信通知本文のコンテンツを定義するスキーマ詳細を入力します。ネイティブ・フォーマット・ビルダーを使用して、ネイティブ・フォーマットのスキーマを定義します。メッセージ・ペイロードが不透明である場合は、スキーマを不透明(Opaque)にするオプションを選択できます。

    図13-7 MSMQアダプタ構成ウィザードの「メッセージ」画面

    図13-7の説明が続きます
    「図13-7 MSMQアダプタ構成ウィザードの「メッセージ」画面」の説明
  9. 「次」を選択します。MSMQアダプタの「終了」ページが表示されます。「終了」をクリックして、指定したファイルをプロジェクト・ディレクトリに作成します。

    図13-8 MSMQアダプタ構成ウィザードの「終了」ページ

    図13-8の説明が続きます
    「図13-8 MSMQアダプタ構成ウィザードの「終了」ページ」の説明

13.2.2 サンプルのMSMQアダプタ・コネクション・ファクトリ・プロパティ

Fusion Middleware Control内のサンプルのMSMQアダプタ・コネクション・ファクトリ・プロパティを次に示しますが、これらを確認するには、「ホーム」→「デプロイメントのサマリー」→「MSMQAdapter」→「構成」→「アウトバウンド接続プール」に進みます。「新規」オプションを選択し、eis/MSMQ/MSMQAdapter_NonTrans1などの名前をJNDIに指定します。

プロパティは次のとおりです。

MSMQ_AccessMode=DCOM
MSMQ_Domain=adapter.test.msmq
MSMQ_Host=slc04lya.us.mydomain.com 
MSMQ_Password=Welcome12
MSMQ_TransactionMode= NONE
MSMQ_User=Administrator 

13.2.3 MSMQアダプタ設計時アーティファクト

アダプタ構成ウィザードでは、相互作用およびメッセージ定義に基づいて、JCA、WSDLおよびXMLスキーマのアーティファクトを生成します。

13.2.3.1 MSMQエンキュー操作のサンプルJCAファイル

次に、MSMQエンキュー操作のWSDLを指定する、サンプルJCAファイルを示します。

例 - MSMQエンキュー操作のサンプルJCAファイル

<adapter-config name="enqueueOp" adapter="msmq" wsdlLocation="../WSDLs/enqueueOp.wsdl" 
                xmlns="http://platform.integration.oracle/
                      blocks/adapter/fw/metadata">
  <connection-factory location="eis/MSMQ/MSMQAdapter"/>
  <endpoint-interaction portType="EnqueueOperation_ptt" operation="EnqueueOperation">
    <interaction-spec 
                className="oracle.tip.adapter.msmq.v2.jca.
                           MSMQInteractionSpec">
      <property name="BodyType" value="ByteArray"/>
      <property name="DestinationPath" value="dest"/>
      <property name="TimeToLive" value="-1"/>
      <property name="Delivery" value="Persistent"/>
      <property name="DestinationType" value="PUBLIC_QUEUE"/>
      <property name="UseDirectFormatName" value="true"/>
      <property name="OperationType" value="Enqueue"/>
      <property name="Priority" value="5"/>
      <property name="UseActiveDirectoryPath" value="true"/>
    </interaction-spec>
  </endpoint-interaction>
</adapter-config>

13.2.3.2 MSMQデキュー操作のサンプルJCA

次のサンプルJCAでは、デキュー操作用のWSDLを指定します。

例 - MSMQデキュー操作のサンプルJCA

<adapter-config name="dequeueOp" adapter="msmq" 
   wsdlLocation="../WSDLs/dequeueOp.wsdl" 
  xmlns="http://platform.integration.oracle/blocks/adapter/
    fw/metadata">
  <connection-factory location="eis/MSMQ/MSMQAdapter"/>
  <endpoint-activation portType="DequeueOperation_ptt"
    operation="DequeueOperation">
    <activation-spec
      className="oracle.tip.adapter.msmq.v2.
                   jca.MSMQActivationSpec">
      <property name="BodyType" value="String"/>
      <property name="DestinationType" 
                   value="PUBLIC_QUEUE"/>
      <property name="UseDirectFormatName" value="false"/>
      <property name="DestinationName" value="dest"/>
      <property name="OperationType" value="Dequeue"/>
      <property name="EnableStreaming" value="false"/>
    </activation-spec>
  </endpoint-activation>
</adapter-config>

13.2.3.3 設計時WSDLアーティファクト

WSDLファイルは、MSMQアダプタ構成ウィザードで「終了」をクリックすると生成されます。「スキーマ」ページで指定したスキーマは、生成されたWSDLにインポートされます。

13.2.3.3.1 MSMQエンキュー操作のWSDL

Base64Binaryエンキュー操作用に生成されたWSDLを次に示します。

例 - エンキュー操作のMSMQアダプタWSDL

<wsdl:definitions
     name="msmqService"      targetNamespace="http://xmlns.oracle.com/
                           pcbpel/adapter/msmq/         MSMQAdapterUseCases/Project1/msmqReference"
     xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
     xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/          msmq/MSMQAdapterUseCases/Project1/msmqReference"
     xmlns:opaque="http://xmlns.oracle.com/
                    pcbpel/adapter/opaque/"
     xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/
                              partner-link/">
  <plt:partnerLinkType name="Enqueue_plt" >
    <plt:role name="Enqueue_role" >
      <plt:portType name="tns:Enqueue_ptt" />
    </plt:role>
  </plt:partnerLinkType>
    <wsdl:types>
      <schema targetNamespace="http://xmlns.oracle.com/
                              pcbpel/adapter/opaque/"
            xmlns="http://www.w3.org/2001/XMLSchema" >
        <element name="opaqueElement" 
                        type="base64Binary" />
      </schema>
    </wsdl:types>
    <wsdl:message name="Enqueue_msg">
        <wsdl:part name="opaque" element=
                        "opaque:opaqueElement"/>
    </wsdl:message>
    <wsdl:portType name="Enqueue_ptt">
        <wsdl:operation name="Enqueue">
            <wsdl:input message="tns:Enqueue_msg"/>
        </wsdl:operation>
   </wsdl:portType>
</wsdl:definitions>
13.2.3.3.2 MSMQアダプタのデキュー操作のWSDL

次の例は、MSMQアダプタのデキュー操作用のWSDLを示しています。

MSMQアダプタのデキュー操作のWSDL

<wsdl:definitions
     name="mqService"
targetNamespace="http://xmlns.oracle.com/pcbpel/adapter
     /msmq/MSMQAdapterUseCases/Project1/msmqService"
     xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
     xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter           /msmq/MSMQAdapterUseCases/
                   Project1/msmqService"
     xmlns:pc="http://xmlns.oracle.com/pcbpel/"
     xmlns:imp1="http://platform.integration.oracle/
                   blocks/adapter/fw/metadata/
                       msmqSchema"
     xmlns:plt="http://schemas.xmlsoap.org/ws/
                       2003/05/partner-link/">
       <plt:partnerLinkType name="Dequeue_plt" >
         <plt:role name="Dequeue_role" >
         <plt:portType name="tns:Dequeue_ptt" />
         </plt:role>
  </plt:partnerLinkType>
    <wsdl:types>
      <schema xmlns="http://www.w3.org/
                          2001/XMLSchema" >
        <import namespace="http://platform.integration.oracle/
                                      blocks/adapter             /fw/metadata/msmqSchema" 
                   schemaLocation="../Schemas/msmqSchema.xsd" />
      </schema>
    </wsdl:types>
    <wsdl:message name="Dequeue_msg">
        <wsdl:part name="body" element="imp1:message"/>
    </wsdl:message>
    <wsdl:portType name="Dequeue_ptt">
        <wsdl:operation name="Dequeue">
            <wsdl:input message="tns:Dequeue_msg"/>
        </wsdl:operation>
    </wsdl:portType>
</wsdl:definitions>

13.3 MSMQの使用例

次の使用例は、MSMQアダプタの様々な用途の説明およびウォークスルーを示しています。次のような使用例があります。

13.3.1 パブリック・キューでのメッセージのエンキュー/デキュー

この使用例は、次の手順で構成されています。

13.3.1.1 SOAコンポジットの設計

SOAコンポジットを含んだJDeveloperアプリケーションを作成する必要があります。使用例のアプリケーションとプロジェクトを作成する手順は、次のとおりです。

  1. JDeveloperの「アプリケーション・ナビゲータ」で、「新規アプリケーション」をクリックします。「SOAアプリケーション - アプリケーションの名前付け」選択ページが表示されます。
  2. 「アプリケーション名」フィールドにEnq_Deq_PublicAppと入力して、「次へ」をクリックします。 「プロジェクトの名前付け」ページが表示されます。
  3. 「プロジェクト名」フィールドにEnq_Deq_Publicと入力し、「次へ」をクリックします。
  4. 「コンポジット・テンプレート」ボックスで「BPELを使用するコンポジット」を選択して「終了」をクリックします。MSMQアダプタ構成ウィザードに、「BPELプロセスの作成 - BPELプロセス」ページが表示されます。
  5. 「名前」フィールドにBPELPublicと入力し、「テンプレート」リストから「サービスを後で定義」を選択します。
  6. 「OK」をクリックします。図13-9 に示すように、Enq_Deq_PublicAppアプリケーションとEnq_Deq_Publicプロジェクトが設計領域に表示されます。

図13-9 Enq_Deq_PublicAppアプリケーションおよびEnq_Deq_Publicプロジェクト

img/GUID-E61413A8-995B-4E8F-A744-DBD930794DBF-default.png

13.3.1.2 インバウンドOracle MSMQアダプタ・サービスの作成

インバウンドOracle MSMQアダプタ・サービスを作成し、Microsoftメッセージング・キューからメッセージをデキューするには、次の手順を実行します。

  1. 「コンポーネント」から、「MSMQアダプタ」を「公開されたサービス」スイムレーンにドラッグ・アンド・ドロップします。アダプタ構成ウィザードの「ようこそ」ページが表示されます。
  2. 「サービス名」フィールドにPublicInと入力します。
  3. 「次」を選択します。「アダプタ接続」ページが表示されます。
  4. MSMQサーバーのJNDI接続名を指定します。トランザクション・キューまたは非トランザクション・キューへの接続に使用できます。たとえば、この使用例では、非トランザクション・キューに使用されるJNDIはeis/MSMQ/MSMQAdapter_NonTransです。
  5. 「次」を選択します。MSMQアダプタ構成ウィザードに、「アダプタ・インタフェース」ページが表示されます。
  6. 「次」を選択します。アダプタ操作タイプ・ページが表示されます。
  7. 「操作タイプ」として「MSMQからメッセージを取得」を、「操作名」として「デキュー」を選択します。
  8. 「次」を選択します。MSMQアダプタ構成ウィザードの「MSMQからメッセージを取得」ページが表示されます。
  9. 「接続先タイプ」として「パブリック・キュー」を選択します。「接続先名」フィールドにPublic_Queue_Deqと入力します。
  10. 「次」を選択します。ウィザードに、「メッセージ」ページが表示されます。
  11. 「ネイティブ・フォーマット変換は不要(スキーマを不透明(Opaque)にする)」チェック・ボックスを選択します。注意: スキーマがある場合は、変換用のスキーマを指定できます。
  12. 「次」を選択します。ウィザードに、「終了」ページが表示されます。
  13. 「終了」をクリックします。インバウンドOracle MSMQアダプタの構成が完了し、図13-10 に示すように、composite.xmlが表示されます。

    図13-10 パブリック・キュー使用例でのエンキュー/デキューのcomposite.xml

    図13-10の説明が続きます
    「図13-10 パブリック・キュー使用例でのエンキュー/デキューのcomposite.xml」の説明

13.3.1.3 アウトバウンドOracle MSMQアダプタ・サービスの作成

アウトバウンドOracle MSMQアダプタ・サービスを作成し、あるMicrosoftメッセージング・キューから他のMicrosoftメッセージング・キューにメッセージをエンキューするには、次の手順を実行します。

  1. 「コンポーネント」から、「MSMQアダプタ」を「外部参照」スイムレーンにドラッグ・アンド・ドロップします。アダプタ構成ウィザードの「ようこそ」ページが表示されます。
  2. 「参照名」フィールドに、PublicOutと入力します。
  3. 「次」を選択します。MSMQアダプタ構成ウィザードに「接続」と示されます。
  4. MSMQサーバーのJNDI接続名を指定します。トランザクション・キューまたは非トランザクション・キューへの接続に使用できます。たとえば、この使用例では、非トランザクション・キューに使用されるJNDIはeis/MSMQ/MSMQAdapter_NonTransです。
  5. 「次」を選択します。「アダプタ・インタフェース」ページが表示されます。
  6. 「次」を選択します。アダプタ操作タイプ・ページが表示されます。
  7. 「操作タイプ」「MSMQにメッセージを格納」を、「操作名」「エンキュー」を選択します。
  8. 「次へ」をクリックします。アダプタの「MSMQにメッセージを格納」ページが表示されます。
  9. 「接続先タイプ」として「パブリック・キュー」を選択します。「接続先名」フィールドにPublic_Queue_Enqと入力します。

    注意:

    キューのActive Directoryパスがある場合は、「Active Directoryパスの使用」チェック・ボックスを選択し、適切な値を指定します。また、キューの直接フォーマット名がある場合は、「直接フォーマット名の使用」チェック・ボックスを選択して、キューの直接フォーマット名を指定する必要があります。

  10. 「次」を選択します。MSMQアダプタの「メッセージ」ページが表示されます。
  11. 「ネイティブ・フォーマット変換は不要(スキーマを不透明(Opaque)にする)」チェック・ボックスを選択します。スキーマがある場合は、変換のスキーマを指定できることに注意してください。
  12. 「次」を選択します。アダプタ構成ウィザードに、「終了」ページが表示されます。
  13. 「終了」をクリックします。図13-11 に示すように、アウトバウンドのOracle MSMQアダプタが構成され、composite.xmlが表示されます。

    図13-11 MSMQアダプタのエンキュー/デキュー使用例でのアウトバウンドMSMQアダプタ

    img/GUID-04EDECAB-C5CD-4AF3-A472-FE68CED21E05-default.png

13.3.1.4 サービスとアクティビティのワイヤリング

作成した3つのコンポーネント(インバウンド・アダプタ・サービス、BPELプロセス、アウトバウンド・アダプタ参照)をアセンブルまたは接続する必要があります。コンポーネントをワイヤリングするには、次の手順を実行します。

  1. 「公開されたサービス」領域にあるPublicIn内の小さい三角形を、「コンポーネント」領域のBPELプロセス内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。
  2. 配信タイプとして「async.persist」を選択します。
  3. 「コンポーネント」領域にあるBPELプロセス内の小さい三角形を、「外部参照」領域のPublicOut内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。JDeveloperのcomposite.xml図13-12 のように表示されます。

    図13-12 composite.xmlのワイヤリング

    img/GUID-36E245A4-60B3-4B29-B1F1-0972F7BBC330-default.png
  4. 「ファイル」「すべて保存」を順番にクリックします。

13.3.1.5 receiveアクティビティの追加

次の手順に従ってreceiveアクティビティを追加します。

  1. BPELPublicをダブルクリックします。「BPELPublic.bpel」ページが表示されます。
  2. 「コンポーネント」領域から設計領域にreceiveアクティビティをドラッグ・アンド・ドロップします。
  3. receiveアクティビティをダブルクリックします。「Receive」ダイアログが表示されます。
  4. 「名前」フィールドにReceiveInputと入力します。
  5. 「パートナ・リンク」フィールドの端にある「パートナ・リンクの参照」をクリックします。「パートナ・リンク・チューザ」ダイアログが表示されます。
  6. 図13-13 に示すように、PublicInを選択して「OK」をクリックします。

    図13-13 「パートナ・リンク・チューザ」での「PublicIn」の選択

    図13-13の説明が続きます
    「図13-13 「パートナ・リンク・チューザ」での「PublicIn」の選択」の説明
  7. 図13-14 に示すように、「Receive」ダイアログで「変数」フィールドの右にある「変数の自動作成」アイコンをクリックします。「変数の作成」ダイアログが表示されます。

    図13-14 「Receive」ダイアログの「変数の自動作成」アイコンのクリック

    図13-14の説明が続きます
    「図13-14 「Receive」ダイアログの「変数の自動作成」アイコンのクリック」の説明
  8. デフォルトの変数名を選択し、「OK」をクリックします。デフォルトの変数名が「変数」フィールドに移入されます。
  9. 「インスタンスの作成」を選択して、「OK」をクリックします。JDeveloperの「BPELPublic.bpel」ページが図13-15 のように表示されます。

    図13-15 JDeveloperの「BPELPublic.bpel」ページ

    図13-15の説明が続きます
    「図13-15 JDeveloperの「BPELPublic.bpel」ページ」の説明

13.3.1.6 invokeアクティビティの追加

次のステップでは、invokeアクティビティを追加します。

  1. 「コンポーネント」領域から設計領域にinvokeアクティビティをドラッグ・アンド・ドロップします。
  2. invokeアクティビティをダブルクリックします。Invokeダイアログが表示されます。
  3. 「名前」フィールドにEnqueue_Messageと入力します。
  4. 「パートナ・リンク」フィールドの端にある「パートナ・リンクの参照」をクリックします。「パートナ・リンク・チューザ」ダイアログが表示されます。
  5. 図13-16 に示すように、PublicOutを選択して「OK」をクリックします。

    図13-16 「PublicOut」が選択された「パートナ・リンク・チューザ」ダイアログ

    図13-16の説明が続きます
    「図13-16 「PublicOut」が選択された「パートナ・リンク・チューザ」ダイアログ」の説明
  6. 「Invoke」ダイアログで、「入力変数」フィールドの右にある「入力変数の自動作成」アイコンをクリックします。「変数の作成」ダイアログが表示されます。
  7. デフォルトの変数名を選択し、「OK」をクリックします。デフォルトの変数名が「変数」フィールドに移入されます。図13-17 に示すように、Invokeダイアログが表示されます。

    図13-17 メッセージのエンキューの「Invoke」ダイアログ

    図13-17の説明が続きます
    「図13-17 メッセージのエンキューの「Invoke」ダイアログ」の説明
  8. 「OK」をクリックします。JDeveloperの「BPELPublic.bpel」ページが表示されます。図13-18を参照してください。

    図13-18 invokeが追加された後の「BPELPublic.bpel」ページ

    図13-18の説明が続きます
    「図13-18 invokeが追加された後の「BPELPublic.bpel」ページ」の説明

13.3.1.7 assignアクティビティの追加

次に、assignアクティビティを追加します。これを行うには、次の手順を実行します。

  1. 「コンポーネント」領域から、assignアクティビティを設計領域のreceiveアクティビティとinvokeアクティビティの間にドラッグ・アンド・ドロップします。
  2. assignアクティビティをダブルクリックします。Assignダイアログが表示されます。
  3. 「一般」タブをクリックして、「名前」フィールドにAssignReferenceと入力します。
  4. 「コピー・ルール」タブをクリックします。
  5. 図13-19 に示すように、変数ReceiveInput_Dequeue_InputVariableの不透明要素と、変数Enqueue_Message_Enqueue_InputVariableの不透明要素との間をワイヤリングします。

    図13-19 「Assign」ダイアログを使用した要素のワイヤリング

    img/GUID-0527D331-77B5-4BC9-95B6-28576B027268-default.png
  6. 「OK」をクリックします。図13-20 に示すように、JDeveloperの「BPELPublic.bpel」ページが表示されます。

    図13-20 ワイヤリングされた要素が「Assign」ダイアログに追加された後の「BPELPublic.bpel」ページ

    図13-20の説明が続きます
    「図13-20 ワイヤリングされた要素が「Assign」ダイアログに追加された後の「BPELPublic.bpel」ページ」の説明

13.3.2 プライベート・キューでのメッセージのエンキュー/デキュー

この使用例では、MSMQプライベート・キューに対してメッセージをエンキューおよびデキューするアプリケーションを作成します。

13.3.2.1 SOAコンポジットの設計

SOAコンポジットを含んだJDeveloperアプリケーションを作成する必要があります。使用例のアプリケーションとプロジェクトを作成する手順は、次のとおりです。

  1. JDeveloperの「アプリケーション・ナビゲータ」で、「新規アプリケーション」をクリックします。次に、「SOAアプリケーション」を選択します。「アプリケーションの名前付け」ページが表示されます。「アプリケーション名」フィールドにEnq_Deq_PrivateAppと入力して、「次へ」をクリックします。
  2. 「プロジェクトの名前付け」ページが表示されます。「プロジェクト名」フィールドにEnq_Deq_Privateと入力して、「次へ」をクリックします。
  3. 「コンポジット・テンプレート」ボックスで「BPELを使用するコンポジット」を選択して「終了」をクリックします。「BPELプロセスの作成 - BPELプロセス」ページが表示されます。
  4. 「名前」フィールドにBPELPrivateと入力し、「テンプレート」リストから「サービスを後で定義」を選択します。
  5. 「OK」をクリックします。図13-21 に示すように、Enq_Deq_PrivateAppアプリケーションとEnq_Deq_Privateプロジェクトが設計領域に表示されます。

    図13-21 設計領域のEnq_Deq_PrivateAppおよびEnq_Deq_Privateプロジェクト

    img/GUID-21FBD1D2-5744-42F6-9ABD-B34DDD689D2E-default.png

13.3.2.2 インバウンドOracle MSMQアダプタ・サービスの作成

インバウンドOracle MSMQアダプタ・サービスを作成し、Microsoftメッセージング・キューからメッセージをデキューするには、次の手順を実行します。

  1. 「コンポーネント」領域から、「MSMQアダプタ」を「公開されたサービス」スイムレーンにドラッグ・アンド・ドロップします。アダプタ構成ウィザードの「ようこそ」ページが表示されます。
  2. 「サービス名」フィールドにPrivateInと入力します。
  3. 「次」を選択します。「アダプタ接続」ページが表示されます。
  4. MSMQサーバーのJNDI接続名を指定します。トランザクション・キューまたは非トランザクション・キューへの接続の場合があります。この使用例では、非トランザクション・キューに使用されるJNDIはeis/MSMQ/MSMQAdapter_NonTransです。
  5. 「次」を選択します。「アダプタ・インタフェース」ページが表示されます。
  6. 「次」を選択します。アダプタ操作タイプ・ページが表示されます
  7. 「操作タイプ」として「MSMQからメッセージを取得」を、「操作名」として「デキュー」を選択します。参照してください
  8. 「次」を選択します。アダプタの「MSMQからメッセージを取得」ページが表示されます。

    図13-22 MSMQアダプタ構成ウィザードのメッセージを取得画面

    図13-22の説明が続きます
    「図13-22 MSMQアダプタ構成ウィザードのメッセージを取得画面」の説明
  9. 「接続先タイプ」として「プライベート・キュー」を選択します。「接続先名」フィールドにPrivate_Queue_Deqと入力します。(MSMQアダプタがプライベート・キューへのアクセスに直接フォーマット名を使用するように指定している場合があります。)このオプションを優先する場合は、「直接フォーマット名の使用」チェック・ボックスを選択する必要があります。
  10. 「次」を選択します。アダプタ構成ウィザードに、「メッセージ」ページが表示されます。
  11. 「ネイティブ・フォーマット変換は不要(スキーマを不透明(Opaque)にする)」チェック・ボックスを選択します。注意: スキーマがある場合は、変換用のスキーマを指定できます。
  12. 「次」を選択します。MSMQアダプタ構成ウィザードに、「終了」ページが表示されます。
  13. 「終了」をクリックします。インバウンドOracle MSMQアダプタの構成が完了し、図13-23 に示すように、composite.xmlが表示されます

    図13-23 composite.xmlで構成されたインバウンドMSMQアダプタ

    図13-23の説明が続きます
    「図13-23 composite.xmlで構成されたインバウンドMSMQアダプタ」の説明

13.3.2.3 アウトバウンドOracle MSMQアダプタ・サービスの作成

アウトバウンドOracle MSMQアダプタ・サービスを作成し、あるMicrosoftメッセージング・キューから他のMicrosoftメッセージング・キューにメッセージをエンキューするには、次の手順を実行します。

  1. 「コンポーネント」領域から、「MSMQアダプタ」を「外部参照」スイムレーンにドラッグ・アンド・ドロップします。アダプタ構成ウィザードの「ようこそ」ページが表示されます。
  2. 「参照名」フィールドに、PrivateOutと入力します。
  3. 「次へ」をクリックします。「アダプタ接続」ページが表示されます。
  4. MSMQサーバーのJNDI接続名を指定します。トランザクション・キューまたは非トランザクション・キューへの接続の場合があります。たとえば、この使用例では、非トランザクション・キューに使用されるJNDIはeis/MSMQ/MSMQAdapter_NonTransです。
  5. 「次」を選択します。「インタフェース」ページが表示されます。
  6. 「次」を選択します。「操作タイプ」ページが表示されます。
  7. 「操作タイプ」として「MSMQにメッセージを格納」を、「操作名」として「エンキュー」を選択します。
  8. 「次」を選択します。アダプタの「MSMQにメッセージを格納」ページが表示されます。
  9. 「接続先タイプ」として「プライベート・キュー」を選択します。「接続先名」Private_Queue_Enqと入力します。注意: キューの直接フォーマット名がある場合は、「直接フォーマット名の使用」チェック・ボックスを選択して、キューの直接フォーマット名を指定します。

    図13-24 MSMQアダプタ構成ウィザードの「MSMQにメッセージを格納」画面

    図13-24の説明が続きます
    「図13-24 MSMQアダプタ構成ウィザードの「MSMQにメッセージを格納」画面」の説明
  10. 「次」を選択します。「メッセージ」ページが表示されます。
  11. 「ネイティブ・フォーマット変換は不要(スキーマを不透明(Opaque)にする)」チェック・ボックスを選択します。注意: スキーマがある場合は、変換用のスキーマを指定できます。
  12. 「次」を選択します。MSMQアダプタ構成ウィザードに、「終了」ページが表示されます。
  13. 「終了」をクリックします。図13-25 に示すように、アウトバウンドのOracle MSMQアダプタが構成され、composite.xmlが表示されます。

    図13-25 PrivateOut外部参照で構成されたMSMQアウトバウンド・アダプタ

    図13-25の説明が続きます
    「図13-25 PrivateOut外部参照で構成されたMSMQアウトバウンド・アダプタ」の説明

13.3.2.4 サービスとアクティビティのワイヤリング

作成した3つのコンポーネント(インバウンド・アダプタ・サービス、BPELプロセスおよびアウトバウンド・アダプタ参照)をアセンブルまたはワイヤリングする必要があります。コンポーネントをワイヤリングするには、次の手順を実行します。

  1. 「公開されたサービス」領域にあるPrivateIn内の小さい三角形を、「コンポーネント」領域のBPELプロセス内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。
  2. 「配信タイプ」「async.persist」を選択します。
  3. 「コンポーネント」領域にあるBPELプロセス内の小さい三角形を、「外部参照」領域のPrivateOut内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。JDeveloperのcomposite.xml図13-26 のように表示されます。

    図13-26 ワイヤリングされたMSMQアダプタJDeveloperのcomposite.xml

    img/GUID-24DE2EEC-DB7B-4C77-80A2-C928AE0D06DD-default.png
  4. 「ファイル」「すべて保存」を順番にクリックします。

13.3.2.5 receiveアクティビティの追加

次のステップでは、receiveアクティビティをコンポジット・アプリケーションに追加します。

  1. 「BPELPrivate」をダブルクリックします。「BPELPrivate.bpel」ページが表示されます。
  2. 「コンポーネント」領域から設計領域にreceiveアクティビティをドラッグ・アンド・ドロップします。
  3. receiveアクティビティをダブルクリックします。「Receive」ダイアログが表示されます。
  4. 「名前」フィールドにReceiveInputと入力します。
  5. 「パートナ・リンク」フィールドの端にある「パートナ・リンクの参照」をクリックします。構成ウィザードに、「パートナ・リンク・チューザ」ダイアログが表示されます。
  6. 図13-27 に示すように、PrivateInを選択して「OK」をクリックします。

    図13-27 「パートナ・リンク」としてPrivateInが選択された「パートナ・リンク・チューザ」ダイアログ

    図13-27の説明が続きます
    「図13-27 「パートナ・リンク」としてPrivateInが選択された「パートナ・リンク・チューザ」ダイアログ」の説明
  7. 図13-28 に示すように、「Receive」ダイアログで「変数」フィールドの右にある「変数の自動作成」アイコンをクリックします。アダプタ構成ウィザードに、「変数の作成」ダイアログが表示されます。

    図13-28 「Receiveの編集」の「変数の作成」ダイアログ

    図13-28の説明が続きます
    「図13-28 「Receiveの編集」の「変数の作成」ダイアログ」の説明
  8. デフォルトの変数名を選択し、「OK」をクリックします。デフォルトの変数名が「変数」フィールドに移入されます。
  9. 「インスタンスの作成」を選択して、「OK」をクリックします。JDeveloperの「BPELPrivate.bpel」ページが図13-29 のように表示されます。

    図13-29 receiveアクティビティにワイヤリングされたPrivateInパートナ・リンクを示す、「BPELPrivate.bpel」ページ

    図13-29の説明が続きます
    「図13-29 receiveアクティビティにワイヤリングされたPrivateInパートナ・リンクを示す、「BPELPrivate.bpel」ページ」の説明

13.3.2.6 invokeアクティビティの追加

次のステップでは、invokeアクティビティを追加します。

  1. 「コンポーネント」領域から設計領域にinvokeアクティビティをドラッグ・アンド・ドロップします。
  2. invokeアクティビティをダブルクリックします。Invokeダイアログが表示されます。
  3. 「名前」フィールドにEnqueue_Messageと入力します。
  4. 「パートナ・リンク」フィールドの端にある「パートナ・リンクの参照」をクリックします。「パートナ・リンク・チューザ」ダイアログが表示されます
  5. 図13-30 に示すように、PrivateOutを選択して「OK」をクリックします。

    図13-30 PrivateOutが選択された「パートナ・リンク・チューザ」ダイアログ

    図13-30の説明が続きます
    「図13-30 PrivateOutが選択された「パートナ・リンク・チューザ」ダイアログ」の説明
  6. Invokeダイアログで、「入力変数」フィールドの右にある「入力変数の自動作成」アイコンをクリックします。「変数の作成」ダイアログが表示されます。
  7. デフォルトの変数名を選択し、「OK」をクリックします。デフォルトの変数名が「変数」フィールドに移入されます。図13-31 に示すように、Invokeダイアログが表示されます。

    図13-31 「Invokeの編集」ダイアログ

    図13-31の説明が続きます
    「図13-31 「Invokeの編集」ダイアログ」の説明
  8. 「OK」をクリックします。JDeveloperの「BPELPrivate.bpel」ページが図13-32 のように表示されます。

    図13-32 invokeアクティビティが追加された後の「BPELPrivate.bpel」ページ

    図13-32の説明が続きます
    「図13-32 invokeアクティビティが追加された後の「BPELPrivate.bpel」ページ」の説明

13.3.2.7 assignアクティビティの追加

最後のステップでは、assignアクティビティを追加します。

  1. 「コンポーネント」領域から、assignアクティビティを設計領域のreceiveアクティビティとinvokeアクティビティの間にドラッグ・アンド・ドロップします。
  2. assignアクティビティをダブルクリックします。Assignダイアログが表示されます。
  3. 「一般」タブをクリックして、「名前」フィールドにAssignReferenceと入力します。
  4. 「コピー・ルール」タブをクリックします。
  5. 図13-33 に示すように、変数ReceiveInput_Dequeue_InputVariableの不透明要素と、変数Enqueue_Message_Enqueue_InputVariableの不透明要素との間をワイヤリングします。

    図13-33 変数をワイヤリングするようにassignアクティビティを編集

    図13-33の説明が続きます
    「図13-33 変数をワイヤリングするようにassignアクティビティを編集」の説明
  6. 「OK」をクリックすると、JDeveloperの「BPELPrivate.bpel」ページが表示されます。

    図13-34 変数が割り当てられた後の「BPELPrivate.bpel」ページ

    図13-34の説明が続きます
    「図13-34 変数が割り当てられた後の「BPELPrivate.bpel」ページ」の説明
  7. 「ファイル」「すべて保存」を順番にクリックします。

13.3.3 配信リストへのメッセージのエンキュー

次の手順に従って、配信リストへのMSMQメッセージのエンキューを含む使用例を設計します。

13.3.3.1 SOAコンポジットの設計

SOAコンポジットを含んだJDeveloperアプリケーションを作成する必要があります。使用例のアプリケーションとプロジェクトを作成する手順は、次のとおりです。

  1. JDeveloperの「アプリケーション・ナビゲータ」で、「新規アプリケーション」をクリックします。次に、「SOAアプリケーション」を選択します。アダプタ構成ウィザードに、「アプリケーションの名前付け」ページが表示されます。
  2. 「アプリケーション名」フィールドにEnq_DistListAppと入力して「次へ」をクリックします。アダプタ構成ウィザードに、「プロジェクトの名前付け」ページが表示されます。
  3. 「プロジェクト名」フィールドにEnq_DistListと入力して「次へ」をクリックします。
  4. 「コンポジット・テンプレート」ボックスで「BPELを使用するコンポジット」を選択して「終了」をクリックします。「BPELプロセスの作成 - BPELプロセス」ページが表示されます。
  5. 「名前」フィールドにBPELDistListと入力し、「テンプレート」リストから「サービスを後で定義」を選択します。
  6. 「OK」をクリックします。図13-35 に示すように、Enq_DistListAppアプリケーションとEnq_DistListプロジェクトが設計領域に表示されます。

    図13-35 設計領域のEnq_DistListAppアプリケーションとEnq_DistListプロジェクト

    図13-35の説明が続きます
    「図13-35 設計領域のEnq_DistListAppアプリケーションとEnq_DistListプロジェクト」の説明

13.3.3.2 インバウンドOracleファイル・アダプタ・サービスの作成

ローカル・ディレクトリからファイルを読み取るインバウンドOracleファイル・アダプタ・サービスを作成するには、次の手順を実行します。

  1. 「コンポーネント」領域から、「ファイル・アダプタ」を「公開されたサービス」スイムレーンにドラッグ・アンド・ドロップします。アダプタ構成ウィザードの「ようこそ」ページが表示されます。
  2. 「サービス名」フィールドにFileInと入力します。
  3. 「次」を選択します。ファイル・アダプタ構成ウィザードに、「ファイル・サーバーの接続」ページが表示されます。
  4. 「次」を選択します。ファイル・アダプタ構成ウィザードに、「操作」ページが表示されます。
  5. 「操作タイプ」として「Read File」を選択します。
  6. 「次」を選択します。「ファイル・ディレクトリ」ページが表示されます。
  7. 図13-36 に示すように、入力ディレクトリの物理パスを入力します。

    図13-36 ファイル・アダプタ構成ウィザードの「ファイル・ディレクトリ」ページ

    図13-36の説明が続きます
    「図13-36 ファイル・アダプタ構成ウィザードの「ファイル・ディレクトリ」ページ」の説明
  8. 「次」を選択します。ファイル・アダプタ構成ウィザードに、「ファイルのフィルタ処理」ページが表示されます。
  9. 「インクルード・ファイルの名前パターン」フィールドに*.txtと入力します。
  10. 「次」を選択します。ファイル・アダプタ構成ウィザードに、「ファイル・ポーリング」ページが表示されます。
  11. 「次」を選択します。ファイル・アダプタ構成ウィザードに、「メッセージ」ページが表示されます。
  12. 「ネイティブ・フォーマット変換は不要(スキーマを不透明(Opaque)にする)」チェック・ボックスを選択します。
  13. 「次」を選択します。ファイル・アダプタ構成ウィザードに、「終了」ページが表示されます。
  14. 「終了」をクリックします。図13-37 に示すように、インバウンドOracleファイル・アダプタが構成され、composite.xmlが表示されます。

    図13-37 composite.xmlで構成されたインバウンド・ファイル・アダプタ

    図13-37の説明が続きます
    「図13-37 composite.xmlで構成されたインバウンド・ファイル・アダプタ」の説明

13.3.3.3 アウトバウンドOracle MSMQアダプタ・サービスの作成

ローカル・ディレクトリから配信リストにメッセージをエンキューするアウトバウンドOracle MSMQアダプタ・サービスを作成するには、次の手順を実行します。

  1. 「コンポーネント」領域から、「MSMQアダプタ」を「外部参照」スイムレーンにドラッグ・アンド・ドロップします。アダプタ構成ウィザードに、「ようこそ」ページが表示されます。
  2. 「参照名」フィールドに、DistListOutと入力します。
  3. 「次」を選択します。アダプタ構成ウィザードに、「接続」ページが表示されます。
  4. MSMQサーバーのJNDI接続名を指定します。この名前を使用して、トランザクション・キューまたは非トランザクション・キューに接続できます。この使用例では、非トランザクション・キューに使用されるJNDIはeis/forMSMQ/MSMQAdapter_NonTransです。
  5. 「次」を選択します。アダプタ構成ウィザードに、「インタフェース」ページが表示されます。
  6. 「次」を選択します。アダプタ構成ウィザードに、「操作タイプ」ページが表示されます。
  7. 「操作タイプ」として「MSMQにメッセージを格納」を、「操作名」として「エンキュー」を選択します。
  8. 「次」を選択します。アダプタ構成ウィザードに、「MSMQにメッセージを格納」ページが表示されます。
  9. 「接続先タイプ」として「配信リスト」を選択します。「接続先名」にDistList_Enqと入力します。

    注意:

    配信リストのActive Directoryパスがある場合は、「Active Directoryパスの使用」チェック・ボックスを選択し、値を指定する必要があります。また、配信リストの直接フォーマット名がある場合は、「直接フォーマット名の使用」チェック・ボックスを選択して、キューの直接フォーマット名を指定できます。

  10. 「次」を選択します。アダプタ構成ウィザードに、「メッセージ」ページが表示されます。
  11. 「ネイティブ・フォーマット変換は不要(スキーマを不透明(Opaque)にする)」チェック・ボックスを選択します。注意: スキーマがある場合は、変換用のスキーマを指定できます。
  12. 「次」を選択します。アダプタ構成ウィザードに、「終了」ページが表示されます。
  13. 「終了」をクリックします。アウトバウンドOracle MSMQアダプタの構成が完了し、図13-38 に示すように、composite.xmlが表示されます。

    図13-38 composite.xmlで構成されたアウトバウンド・ファイル・アダプタ

    img/GUID-BA9E65ED-F753-4E2D-995A-7D611202EDB1-default.png

13.3.3.4 サービスとアクティビティのワイヤリング

作成した3つのコンポーネント(インバウンド・アダプタ・サービス、BPELプロセスおよびアウトバウンド・アダプタ参照)をアセンブルまたはワイヤリングする必要があります。コンポーネントを接続する手順は、次のとおりです。

  1. 「公開されたサービス」領域にあるFileIn内の小さい三角形を、「コンポーネント」領域のBPELプロセス内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。
  2. 配信タイプとして「async.persist」を選択します。
  3. 「コンポーネント」領域にあるBPELプロセス内の小さい三角形を、「外部参照」領域のDistListOut内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。JDeveloperのcomposite.xml図13-39 のように表示されます。

    図13-39 ワイヤリング後の配信リスト使用例のcomposite.xml

    図13-39の説明が続きます
    「図13-39 ワイヤリング後の配信リスト使用例のcomposite.xml」の説明
  4. 「ファイル」「すべて保存」を順番にクリックします。

13.3.3.5 receiveアクティビティの追加

次の手順に従ってreceiveアクティビティを追加します。

  1. 「BPELDistList」をダブルクリックします。「BPELDistList.bpel」ページが表示されます。
  2. 「コンポーネント」領域から設計領域にreceiveアクティビティをドラッグ・アンド・ドロップします。
  3. receiveアクティビティをダブルクリックします。MSMQアダプタ構成ウィザードに、「Receive」ダイアログが表示されます。
  4. 「名前」フィールドにReceiveInputと入力します。
  5. 「パートナ・リンク」フィールドの端にある「パートナ・リンクの参照」をクリックします。「パートナ・リンク・チューザ」ダイアログが表示されます。
  6. 図13-40 に示すように、FileInを選択して「OK」をクリックします。

    図13-40 インバウンド・ファイル・アダプタが選択された「パートナ・リンク・チューザ」ダイアログ

    図13-40の説明が続きます
    「図13-40 インバウンド・ファイル・アダプタが選択された「パートナ・リンク・チューザ」ダイアログ」の説明
  7. 図13-41 に示すように、「Receive」ダイアログで「変数」フィールドの右にある「変数の自動作成」アイコンを選択します。「変数の作成」ダイアログが表示されます。

    図13-41 「Receive」ダイアログ

    図13-41の説明が続きます
    「図13-41 「Receive」ダイアログ」の説明
  8. デフォルトの変数名を選択し、「OK」をクリックします。デフォルトの変数名が「変数」フィールドに移入されます。
  9. 「インスタンスの作成」を選択して、「OK」をクリックします。JDeveloperの「BPELDistList.bpel」ページが図13-42 のように表示されます。

    図13-42 ReceiveInput作成後の「BPELDistList.bpel」ページ

    図13-42の説明が続きます
    「図13-42 ReceiveInput作成後の「BPELDistList.bpel」ページ」の説明

13.3.3.6 invokeアクティビティの追加

次の手順に従ってinvokeアクティビティを追加します。

  1. 「コンポーネント」領域から設計領域にinvokeアクティビティをドラッグ・アンド・ドロップします。
  2. invokeアクティビティをダブルクリックします。Invokeダイアログが表示されます。
  3. 「名前」フィールドにEnqueue_Messageと入力します。
  4. 「パートナ・リンク」フィールドの端にある「パートナ・リンクの参照」をクリックします。「パートナ・リンク・チューザ」ダイアログが表示されます。
  5. 図13-43 に示すように、DistListOutを選択して「OK」をクリックします。

    図13-43 DistListOutが選択された「パートナ・リンク・チューザ」

    図13-43の説明が続きます
    「図13-43 DistListOutが選択された「パートナ・リンク・チューザ」」の説明
  6. 「Invoke」ダイアログで、「入力変数」フィールドの右にある「入力変数の自動作成」アイコンを選択します。「変数の作成」ダイアログが表示されます。
  7. デフォルトの変数名を選択し、「OK」をクリックします。デフォルトの変数名が「変数」フィールドに移入されます。JDeveloperのInvokeダイアログが図13-44 のように表示されます

    図13-44 Enqueue_Message_Enqueue_inputVariableが指定されたJDeveloperの「Invoke」ダイアログ

    図13-44の説明が続きます
    「図13-44 Enqueue_Message_Enqueue_inputVariableが指定されたJDeveloperの「Invoke」ダイアログ」の説明
  8. 「OK」をクリックします。JDeveloperの「BPELDistList.bpel」ページが図13-47 のように表示されます。

    図13-45 invokeアクティビティが作成された後の「BPELDistList.bpel」ページ

    図13-45の説明が続きます
    「図13-45 invokeアクティビティが作成された後の「BPELDistList.bpel」ページ」の説明

13.3.3.7 assignアクティビティの追加

次の手順に従ってassignアクティビティを追加します。

  1. 「コンポーネント」領域から、assignアクティビティをJDeveloper設計領域のreceiveアクティビティとinvokeアクティビティの間にドラッグ・アンド・ドロップします。
  2. assignアクティビティをダブルクリックします。Assignダイアログが表示されます。
  3. 「一般」タブをクリックして、「名前」フィールドにAssignReferenceと入力します。
  4. 「コピー・ルール」タブをクリックします。
  5. 図12に示すように、変数ReceiveInput_Dequeue_InputVariableの不透明要素と、変数Enqueue_Message_Enqueue_InputVariableの不透明要素との間をワイヤリングします。

    図13-46 ReceiveInput_Dequeue_InputVariableをEnqueue_Message_Enqueue_InputVariableにワイヤリングした、Jdeveloperの「assignの編集」ダイアログ

    図13-46の説明が続きます
    「図13-46 ReceiveInput_Dequeue_InputVariableをEnqueue_Message_Enqueue_InputVariableにワイヤリングした、Jdeveloperの「assignの編集」ダイアログ」の説明
  6. 「OK」をクリックすると、図13に示すように、JDeveloperの「BPELDistList.bpel」ページが表示されます

    図13-47 完了した「BPELDistList.bpel」ページ

    img/GUID-3925A0EC-4F63-40FA-AC48-2EBBDA59126C-default.png
  7. 「ファイル」「すべて保存」を順番にクリックします。