16 Oracle Enterprise Scheduler Webサービスの使用

この章では、Oracle Enterprise Scheduler Webサービスを使用して、Oracle Enterprise Schedulerランタイム機能のサブセットにアクセスする方法について説明します。

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

16.1 Oracle Enterprise Scheduler Webサービスの概要

Oracle Enterprise Schedulerでは、エンタープライズ・レベルのスケジューリング用の豊富な機能セットを提供します。

機能には、次の操作のサポートが含まれます。

  • Oracle Enterprise Schedulerメタデータの作成および管理

  • Oracle Enterprise Schedulerジョブ・リクエストの発行および管理

  • Oracle Enterprise Schedulerの構成および管理

クライアント・アプリケーションは、Oracle Enterprise Scheduler Webサービス(ESSWebservice)を使用して、Oracle Enterprise Schedulerランタイム機能のサブセットにアクセスできます。ESSWebserviceは、主に、BPELプロセスからOracle Enterprise Schedulerを呼び出すなど、SOA統合をサポートするために提供されています。ただし、Webサービスを使用してOracle Enterprise Schedulerと相互作用する必要があるすべてのクライアントでは、ESSWebserviceを使用できます。ESSWebserviceでは、リクエスト発行およびリクエスト管理用のジョブ・スケジューリングおよび管理機能を公開しています。

ESSWebserviceは、Oracle Enterprise Schedulerランタイム・フレームワークにおけるJava EEアプリケーションであるOracle Enterprise Schedulerアプリケーション内でデプロイされます。このため、ESSWebserviceは、Oracle Enterprise Schedulerがインストールおよびデプロイされているすべてのノードで使用できます。

ESSWebserviceは同期Webサービスであり、たとえば、呼び出された操作はすべて同期操作となります。Oracle Enterprise Scheduler内部ジョブの実行モデルは非同期ですが、ESSWebservice APIは非同期である必要はありません。ただし、Oracle Enterprise Scheduler Webサービスは、ジョブ完了イベントを(コアAPIレイヤーでのOracle Enterprise Scheduler EventListener規定の実装と同様の方法で)非同期で取得する機能も提供します。

ESSWebservice WSDLでは、ESSWebserviceの完全な機能を記述します。表16-1に、ESSWebserviceで使用可能な操作の要約を示します。

表16-1 ESSWebserviceで使用可能な操作の要約

操作 通信タイプ 説明

addPPAction

同期

後処理アクションをジョブ・セット・リクエスト内のステップに追加します。このメソッドは、リクエストの発行前にコールされます。このメソッドでは、同時処理においてadd_printer、add_notification、add_layoutによって以前サポートされていたアクションのサポートを提供します。これらのレガシー・ルーチンへのパラメータは、addPPActionへの引数として、元のルーチンで宣言されていた順序で渡されます。

addPPActions

同期

リクエスト内の複数のアクションをパッケージ化できる点を除き、addPPActionと似ています。

cancelRequest

同期

終了状態にないリクエストの処理を取り消します。

Oracle Enterprise SchedulerOracle Enterprise SchedulerOracle Enterprise Scheduler

Oracle Enterprise SchedulerOracle Enterprise Scheduler

同期

終了状態にあるリクエストを削除対象としてマークします。リクエストがほとんどのメソッドでアクセスできなくなりますが、データは物理的に削除されません。

親リクエストの場合、この操作はすべての子にカスケードされます。

getCompletionStatus

非同期

リクエストの完了時に非同期ステータス更新に登録します。個別の非同期レスポンスでの一方向操作です。

getRequestExecutionContext

同期

oracle.as.scheduler.RequestExectionContextオブジェクトを、シリアライズされたリクエスト実行コンテキスト文字列から取得します。この操作は、リモートで実行中のESSジョブからのみ起動する必要があります。

getRequestDetail

同期

指定したリクエストのランタイム詳細を取得します。

getRequestState

同期

指定したリクエストの現在の状態を取得します。

holdRequest

同期

WAITまたはREADY状態にあるリクエストのそれ以降の処理を保留にします。親リクエストの場合、この操作は適格なすべての子リクエストにカスケードされます。

releaseRequest

同期

リクエストのHOLD状態を解除します。親リクエストの場合、この操作は適格なすべての子リクエストにカスケードされます。

setAsyncRequestStatus

同期

非同期Javaジョブのステータスを設定します。

setNLSOptions

同期

リクエストのNLS環境オプションを設定します。

setStepsArgs

同期

以前の同時処理スタイルでの引数を、ジョブ・セット・リクエスト内のステップ用のOracle Enterprise Schedulerプロパティにマーシャリングします。この操作は、リクエストの発行前に呼び出されます。

setSubmitArgs

同期

以前の同時処理スタイルでの引数をOracle Enterprise Schedulerプロパティにマーシャリングします。この操作は、リクエストの発行前に呼び出されます。各引数のキーはARGUMENT_PREFIX#であり、#は引数の元の値です。たとえば、ARGUMENT_PREFIX1="firstArg"およびARGUMENT_PREFIX2="secondArg"です。

submitRecurringRequest

同期

新しい再帰ジョブ・リクエスト(スケジュールが設定されたリクエスト)を発行します。

submitRequest

同期

新しいジョブ・リクエストを発行します。詳細は、「ユースケース: BPELプロセスでのOracle Enterprise Scheduler ESSWebserviceの使用」を参照してください

16.2 ESSWebserviceアプリケーションの開発および使用

Oracle Enterprise Schedulerは、ジョブ・リクエスト(Javaタイプのジョブ・リクエストなど)をそのジョブを発行したアプリケーションのコンテキストで実行します。

開発目的の場合は、通常、Oracle Enterprise Schedulerがターゲット・アプリケーションのコンテキストでジョブを実行できる任意のノード上にローカルに、Oracle Enterprise Schedulerとクライアント・アプリケーションを共存させます。目的が本番である場合は、一般的に、クライアント・アプリケーションとOracle Enterprise Schedulerは異なるサーバーに常駐します。

Oracle Enterprise Schedulerを使用するJava EEアプリケーションには、すべてのOracle Enterprise Schedulerアーティファクトが含まれており、この中には次のものがあります。

  • ジョブ・タイプ、ジョブ定義、スケジュール、およびジョブ・セットなどのその他の必須メタデータを含むメタデータ

  • ジョブ実装クラス(Javaジョブ用)

  • 必要なOracle Enterprise Schedulerエンドポイント記述(ejb-jar.xmlでのMDB記述)

ESSWebserviceを使用してOracle Enterprise Schedulerと相互作用するクライアントでは、Oracle Enterprise Schedulerが適切なターゲット・アプリケーションのコンテキストでジョブを実行できるように、このタイプのJava EEアプリケーションを提供する必要があります。このようなすべてのWebサービス・クライアントでは、対応するJava EEホスティング・アプリケーションの名前を認識し、その名前をOracle Enterprise Schedulerに渡し、必要に応じて(WSDLで定義されます)その名前をOracle Enterprise Scheduler Webサービス・コールに渡す必要があります。

このようなアプリケーションは標準的なOracle Enterprise Schedulerクライアント・アプリケーションであり、このアプリケーションではジョブ・リクエストの発行および管理がESSWebservice操作を使用して実行されます。

16.2.1 ESSWebservice Java EEアプリケーションの開発および使用方法

ESSWebservice Webサービスを使用してOracle Enterprise Scheduler機能にアクセスする場合、対応するホスティングJava EEアプリケーションがOracle Enterprise Schedulerで使用できる必要があります。クライアントが、Oracle Enterprise Scheduler Webサービスを使用してOracle Enterprise Schedulerとリモートで相互作用できる場合も、関連付けられているJava EEホスティング・アプリケーションはOracle Enterprise Schedulerと同じ場所に配置されている必要があります。これにより、Oracle Enterprise Schedulerは正しいアプリケーション・コンテキストでジョブ・リクエストを実行できます。このため、ESSWebserviceクライアントでは、必要なすべてのOracle Enterprise Schedulerアーティファクトが含まれた、対応するJava EEホスティング・アプリケーションを依然として開発、パッケージ化およびデプロイする必要があります。

16.2.2 BPELによるESSWebservice SOAアプリケーションの開発および使用方法

SOAクライアントの場合、BPELプロセスなどのすべてのSOAコンポーネントは、SOAコンポジットとしてデプロイされます。SOAコンポジットはJava EEアプリケーションではありません。このコンポジットは、(SOAインフラ内の)SOAファブリック・ランタイム・フレームワークを使用して実行されます。

SOAコンポーネントの場合、コンポジットとOracle Enterprise Schedulerとの間のプロキシとして機能する個別のJava EEホスティング・アプリケーションを作成します。このホスティング・アプリケーションは、デプロイされたコンポジットごとに1つのOracle Enterprise Schedulerアプリケーションという1対1のアソシエーションで作成したり、複数のコンポジットによって単一のJava EEホスティング・アプリケーションが共有されるようにできます。Java EEホスティング・アプリケーションには、必要なすべてのOracle Enterprise Schedulerアーティファクトが含まれています。

16.2.3 getCompletionStatus()操作のWebサービスAddressingヘッダーの設定

ESSWebservice WSDLで示されているように、クライアントは、ジョブ完了に関して非同期に通知される必要がある場合、getCompletionStatus()操作を呼び出すことができます。ジョブ完了時に、Oracle Enterprise Schedulerは、ESSWebserviceが着信コール内のコール元アドレスを取得するws-addressingに続いてコールバック操作onJobCompletion()を呼び出します。クライアントは、このコールバックを今後いつでも受信できる必要があります。このようなコールバックは、ジョブの完了に必要な時間に完全に依存します。これは、ジョブ完了時に(Oracle Enterprise Scheduler EventListener規約を実装する)クライアントのリスナーを呼び出すためのOracle Enterprise Scheduler機能に似ています。

getCompletionStatus()を使用する場合、クライアントには、特定の必須WebサービスAddressingヘッダー(特に、wsa:MessageIDヘッダーとwsa:ReplyToヘッダー)が含まれている必要があります。これにより、Oracle Enterprise Schedulerランタイムは、ジョブ完了ステータスが適切なReplyToアドレスに送信されたことを非同期で通知できます。BPELプロセスでgetCompletionStatus()を使用すると、SOAランタイムは必須ヘッダーを自動的に追加します。クライアント側でWebサービス・プロキシを使用している場合にgetCompletionStatus()をプログラムで使用するには、これらのAddressingヘッダーをWebサービス・クライアントで設定する必要があります。

16.2.4 ESSWebserviceの使用上の制限

ESSWebserviceは、次のOracle Enterprise Scheduler機能をサポートしていません。

  • 非定型リクエストの発行: ESSWebserviceでは、非定型のジョブ・リクエストの発行がサポートされていません(非定型リクエストの発行を使用するには、EJB APIを使用します)。このため、ESSWebserviceを使用して発行されるすべてのジョブに、対応する定義(関連プロキシ・アプリケーションでメタデータ・オブジェクトとして作成されたジョブ・タイプ、ジョブ定義、スケジュール定義など)が存在する必要があります。Webサービス操作は、そのようなメタデータ・オブジェクトを、WSDLで指定されたそれらのオブジェクトの識別子引数を使用して参照できるようになります。

  • 問合せAPI: ESSWebserviceでは問合せAPIを公開しません。Webサービス・クライアントでは、Oracle Enterprise Schedulerリクエストに関する問合せ情報を取得する必要はありません。ESSWebservice Webサービス・クライアントは、問合せAPIを使用する必要がある汎用のモニタリングおよび管理機能は提供していません。

16.2.5 ESSWebserviceの実装

Oracle Enterprise Scheduler機能は、JAX-WS注釈付きサービス・エンドポイント・インタフェース(SEI)を使用するWebサービスとして公開されます。このSEI WebサービスのWebサービス実装によって、共通のOracle Enterprise Scheduler実装レイヤーが呼び出されます。ESSWebserviceは、最大限の互換性を得るためにドキュメント/リテラル/ラップ・モードで公開されます。

ESSWebserviceで使用される一部のデータ型は、Webサービスで直接使用することには適していません。このようなデータ型は、対応するXML表現に簡単に変換できません。このため、Oracle Enterprise Scheduler Webサービス・レイヤーでは、ESSWebserviceで公開され、WSDLで表示されるこれらのデータ型に適用するラッパー・クラスを定義します。一般的に、Webサービス・レイヤーでは、可能な場合には既存のデータ型を再利用します。

16.3 ESSWebservice WSDLファイル

Oracle Enterprise Schedulerがインストールされ、実行されている場合、Webサービス・ページからWSDL定義ファイルを取得できます。

Oracle Enterprise Schedulerがインストールされ、実行されている場合、次のタイプのURLにあるWebサービス・ページからWSDL定義ファイルを取得できます。

http://host:port/ess/esswebservice?WSDL

次に例を示します。

http://system1:7001/ess/esswebservice?WSDL

ブラウザからESSWebservice URLに直接アクセスすることによってWebサービス操作を起動することはできません。

16.4 ユースケース: BPELプロセスでのOracle Enterprise Scheduler ESSWebserviceの使用

この例で、BPELプロセスからESSWebServiceを使用する方法を示します(つまり、BPELプロセスで、ESSWebServiceを使用してジョブ・リクエストを発行します)。

このユースケースでは、BPELおよびSOAユーザーがOracle Enterprise Schedulerを使用する場合の1つの方法を示しています。経験豊富なSOAユーザーおよび設計者は、Webサービスを使用するOracle Enterprise Schedulerで作業する方法として、他に案がある場合があります。

Oracle JDeveloperは、アプリケーションおよびそのアプリケーション内のプロジェクト(アプリケーション用のコードとサポート・ファイルが含まれている)の作成に使用されます。

JDeveloperには、スクリーン・リーダー、スクリーン拡大鏡、キーボード・ナビゲーション用の標準ショートカット・キーのサポートなどのアクセシビリティ・オプションが用意されています。フォントのサイズや色、オブジェクトの色や形などを変えて、判読性を高めるためにJDeveloperをカスタマイズすることもできます。JDeveloperでのアクセシビリティについて、およびこれを構成する手順は、『Oracle JDeveloperによるアプリケーションの開発』Oracle JDeveloperのアクセシビリティ情報に関する項を参照してください。

ESSWebServiceサンプル・アプリケーションを作成するには、次のステップに従います。

  1. Oracle JDeveloperを起動します。

  2. 「新規アプリケーション」ボタンをクリックします。

  3. 「新規ギャラリ」 - 「アイテム」領域で、「SOAアプリケーション」を選択します。

  4. 「OK」をクリックします。

  5. 「アプリケーションの名前付け」ウィンドウを使用して、新しいアプリケーションの名前と場所を入力し、アプリケーション・テンプレートを指定します。

    1. 「アプリケーション名」フィールドで、アプリケーション名を入力します。この例では、EssWebApplicationと入力します。

    2. 「ディレクトリ」フィールドで、デフォルトをそのまま使用するか、作成するアプリケーションの場所を指定します。

    3. アプリケーション・パッケージ接頭辞を入力するか、またはデフォルトである接頭辞なしを受け入れます。

      接頭辞に続いてピリオドが、アプリケーションの初期プロジェクト内に作成されたオブジェクトに付加されます。

    4. 「次」をクリックします。

  6. 「プロジェクトの名前付け」ダイアログで、SOAプロジェクトのオプションを選択します。

    1. 「プロジェクト名」フィールドで、プロジェクト名を入力するか、またはデフォルトのProject1を受け入れます。

    2. 「プロジェクトの機能」タブで、「SOAスイート」を選択します。

    3. 「次」をクリックします。

  7. 「SOA設定の構成」ダイアログで、「BPELプロセスを使用するコンポジット」を選択し、「終了」をクリックします。

  8. 図16-1に示すように、2つのBPEL仕様のうち1つを選択します。

    図16-1 BPEL仕様の選択

    図16-1の説明が続きます
    「図16-1 BPEL仕様の選択」の説明
  9. 図16-2に示すようにサービス・タイプを「テンプレート」ドロップダウン・メニューから選択し、「OK」をクリックします。

    図16-2 サービス・タイプの選択

    図16-2の説明が続きます
    「図16-2 サービス・タイプの選択」の説明
  10. 「エディタ」ペイン(BPELProcess1.bpel)で、「コンポーネント」パレットのOracle拡張機能セクションから「ジョブのスケジュール」コンポーネントをreceiveInputおよびcallBackClientコンポーネントの間にドラッグします(図16-3を参照)。

    図16-3 スケジュール・ジョブ・コンポーネントの追加

    図16-3の説明が続きます
    「図16-3 スケジュール・ジョブ・コンポーネントの追加」の説明
  11. メタデータ・サーバーへの接続を作成します(図16-4を参照)。

    1. リソース・ウィンドウ内の「新規」ボタンをクリックします。

    2. ドロップダウン・メニューで、IDE接続SOA-MDSを選択します。「SOA-MDS接続の作成」ダイアログで、MDSサーバーに関する適切な情報を入力します。

      ノート:

      また、「ファイル」「新規ギャラリ」「一般」「接続」SOA-MDS接続を選択して、接続を作成することもできます。

    図16-4 メタデータ・サーバーへの接続の作成

    図16-4の説明が続きます
    「図16-4 メタデータ・サーバーへの接続の作成」の説明
  12. Schedulejob1コンポーネントを右クリックして、「編集」項目を選択します。図16-5に示す「スケジュール・ジョブの編集」ダイアログが表示されます。

    図16-5 スケジュール・ジョブの編集

    図16-5の説明が続きます
    「図16-5 スケジュール・ジョブの編集」の説明
  13. 「ジョブ」参照ボタンをクリックし、MDS接続を介してジョブ定義を選択します。図16-6に例を示します。

    図16-6 MDS接続を介したジョブ定義の選択

    図16-6の説明が続きます
    「図16-6 MDS接続を介したジョブ定義の選択」の説明
  14. Sys_effectiveApplicationプロパティが、選択したジョブ定義で定義されていない場合、一般タブの「アプリケーション」フィールドでこれを指定することが要求されます。Sys_effectiveApplicationプロパティが、選択したジョブ定義で定義されている場合、「アプリケーション」フィールドに表示され編集できません。図16-7を参照してください。

    図16-7 Sys_effectiveApplicationプロパティの定義(定義されていない場合)

    図16-7の説明が続きます
    「図16-7 Sys_effectiveApplicationプロパティの定義(定義されていない場合)」の説明
  15. システム・プロパティを追加します。

    1. 「システム・プロパティ」タブを選択します。

    2. 「ジョブ・プロパティ」ペインには、ジョブ定義からMDS接続を介して取得されたシステム・プロパティを移入する必要があります。

    3. 「追加」ボタンを使用して、「ユーザー定義プロパティ」ペインで追加システム・プロパティを追加します。

    図16-8 ユーザー定義プロパティの追加

    図16-8の説明が続きます
    「図16-8 ユーザー定義プロパティの追加」の説明
  16. アプリケーション・プロパティを追加します。

    1. 「アプリケーションのプロパティ」タブを選択します。

    2. 「ジョブ・プロパティ」ペインには、ジョブ定義からMDS接続を介して取得されたプロパティを移入する必要があります。

    3. 「追加」ボタンを使用して、「ユーザー定義プロパティ」ペインで追加プロパティを追加します。

    図16-9 追加のユーザー定義プロパティの追加

    図16-9の説明が続きます
    「図16-9 追加のユーザー定義プロパティの追加」の説明
  17. WSDL URLをアタッチします。

    1. プロジェクト・エディタ・タブをクリックします(図16-10を参照)。

    2. ESSServiceコンポーネントを編集します。「名前」「WSDL URL」「ポート・タイプ」およびその他の情報を指定します(図16-11)。

    図16-10 プロジェクト・エディタ・タブ

    図16-10の説明が続きます
    「図16-10 プロジェクト・エディタ・タブ」の説明

    図16-11 参照の更新ダイアログ

    図16-11の説明が続きます
    「図16-11 参照の更新ダイアログ」の説明
  18. セキュリティ・ポリシーをサービスに追加します。

    1. プロジェクト・エディタ・タブで、Oracle Enterprise Scheduler Webサービスを右クリックし、「SOA WSポリシーの構成」「リクエスト用」を選択し、「SOA WSポリシーの構成」ダイアログを開きます(図16-12を参照)。

      図16-12 「SOA WSポリシーの構成」を開く

      図16-12の説明が続きます
      「図16-12 「SOA WSポリシーの構成」を開く」の説明
    2. 「SOA WSポリシーの構成」の「セキュリティ」領域で、「追加」ボタンをクリックし必要なセキュリティ・ポリシーをアタッチします。たとえば、図16-13および図16-14に示すようにoracle/wss_http_token_client_policyとなります。非同期BPELプロセスを作成している場合、このプロセスを使用してサービス・ポリシーをコールバックにアタッチする必要もあります。

      図16-13 「SOA WSポリシーの構成」ダイアログ

      図16-13の説明が続きます
      「図16-13 「SOA WSポリシーの構成」ダイアログ」の説明

      図16-14 セキュリティ・ポリシーの選択ダイアログ

      図16-14の説明が続きます
      「図16-14 セキュリティ・ポリシーの選択ダイアログ」の説明
  19. getCompletionStatus操作のInvokeアクティビティを追加します。

    1. 「設計」タブをクリックして、表示をソース・ビューからデザイン・ビューに切り替えます。

    2. 「コンポーネント・パレット」BPEL構成セクションから、InvokeコンポーネントをSchedulejob1callbackClientの間にドラッグ・アンド・ドロップします(図16-15を参照)。

      図16-15 Schedulejob1とcallbackClientの間へのInvokeコンポーネントのドラッグ・アンド・ドロップ

      図16-15の説明が続きます
      「図16-15 Schedulejob1とcallbackClientの間へのInvokeコンポーネントのドラッグ・アンド・ドロップ」の説明
    3. Invoke1ボタンを右クリックして、「Invokeの編集」ダイアログを開きます。コンポーネントgetStatusAsyncの名前を変更します。

    4. 「パートナ・リンク」領域で、矢印をgetStatusAsyncコンポーネントからEssServiceコンポーネントにドラッグします。図16-16に示すように、「Invokeの編集」ダイアログが開きます。

    5. 「Invokeの編集」ダイアログの「操作」ドロップダウンからgetCompletionStatusを選択します(図16-16を参照)。

    6. xという名前の入力変数を作成し、「OK」をクリックして「Invokeの編集」」ダイアログを閉じます。

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

      図16-16の説明が続きます
      「図16-16 「Invokeの編集」ダイアログ」の説明
    7. Assignコンポーネントを「コンポーネント・パレット」BPEL構成領域から、ScheduleJob1コンポーネントとgetStatusAsyncコンポーネントの間にドラッグ・アンド・ドロップします。

    8. Assignコンポーネントをダブルクリックし「Assignの編集」ダイアログを開き、ScheduleJob1出力パラメータのrequestIDgetStatusAsync入力パラメータのrequestIDにマップします(図16-17を参照)。「OK」をクリックします。

      図16-17 「Assignの編集」ダイアログを使用したScheduleJob1出力パラメータrequestIDのgetStatusAsync入力パラメータrequestIDへのマップ

      図16-17の説明が続きます
      「図16-17 「Assignの編集」ダイアログを使用したScheduleJob1出力パラメータrequestIDのgetStatusAsync入力パラメータrequestIDへのマップ」の説明
  20. ジョブ完了ステータスを受信します。

    1. 「コンポーネント・パレット」BPEL構成セクションから、ReceiveコンポーネントをgetStatusAsyncコンポーネントとcallbackClientコンポーネントの間にドラッグ・アンド・ドロップします(図16-18を参照)。

      図16-15 getStatusAsyncコンポーネントとcallbackClientコンポーネントの間へのReceiveコンポーネントのドラッグ・アンド・ドロップ

      図16-18の説明が続きます
      「図16-15 getStatusAsyncコンポーネントとcallbackClientコンポーネントの間へのReceiveコンポーネントのドラッグ・アンド・ドロップ」の説明
    2. Receive1コンポーネントからESSServiceコンポーネントに矢印をドラッグして、Receive1コンポーネントを「パートナ・リンク」領域内のESSServiceにアタッチします。このアクションにより、「Receiveの編集」ダイアログも開きます。Receive1コンポーネントの名前をOnJobCompletionに変更します(図16-19を参照)。

      図16-19 Receive1コンポーネントのOnJobCompletionへの名前変更

      図16-19の説明が続きます
      「図16-19 Receive1コンポーネントのOnJobCompletionへの名前変更」の説明
    3. OnJobCompletion操作を選択し、yという名前の変数を追加します(図16-19を参照)。「OK」をクリックし、「Receiveの編集」ダイアログを閉じます。

    4. Assignコンポーネントを「コンポーネント・パレット」BPEL構成領域から、onJobCompletionコンポーネントとcallbackClientコンポーネントの間にドラッグ・アンド・ドロップします。

    5. AssignコンポーネントをダブルクリックしてAssignの編集ダイアログを開き、onJobCompletionコンポーネントの出力パラメータresultMessageを、callbackClientコンポーネントの入力パラメータresult変数にマップします(図16-20を参照)。「OK」をクリックします。

      図16-20 onJobCompletionコンポーネントの出力パラメータresultMessageのcallbackClientコンポーネントの入力パラメータresult変数へのマップ

      図16-20の説明が続きます
      「図16-20 onJobCompletionコンポーネントの出力パラメータresultMessageのcallbackClientコンポーネントの入力パラメータresult変数へのマップ」の説明