サービス インターフェイス操作の定義

ScheduleDemo アプリケーションのサービス インターフェイスの詳細を定義する手順について説明します。
制限事項:本トピックは、Windows 環境 (ローカル開発) にのみ該当します。

作成するサービス インターフェイスは、それぞれ一連の操作で構成されています。このチュートリアルでは、このアプリケーションによって提供される 2 つの機能のそれぞれに対応する操作を作成します。

MakeAppt 操作

MakeAppt 操作の目的は、予約を作成してシステムに格納することです。

MakeAppt 操作の作成
  1. Team Developer Tree View で、[ProgramSOAP > Web Services] を展開します。
  2. [ProgramSOAP] Web サービスを右クリックし、コンテキスト メニューで [新規作成 > オペレーション] を選択します。
  3. [Operation name] フィールドにMakeApptと入力します。

    このアプリケーションには、schedule.cbl というプログラムが 1 つだけ含まれています。このプログラムにはエントリ ポイントが 1 つ含まれています。SCHEDULE というエントリ ポイントです。このエントリ ポイントから操作を作成します。デフォルトで [SCHEDULE] が [Entry point] フィールドに表示されます。

  4. [OK] をクリックします。
  5. Team Developer Tree View で、[ProgramSOAP] を展開します。
  6. [MakeAppt] をダブルクリックします。

インターフェイス マッパーの左側にある [連絡節] ペインにエントリ ポイント フィールドが表示されます。

インターフェイス フィールドの定義
Schedule プログラムは、予約を作成するためにいくつかの入力項目を必要とします。これには、顧客名、予約先コンサルタントの ID 番号、予約希望日、希望時間枠などの変数情報が含まれます。ここでは、この情報を保持するインターフェイス フィールドを定義して、クライアントがこの情報をアプリケーションに送信できるようにします。
  1. [連絡節] ペインにある次のフィールドを、[Read Operation - Interface Fields] ペインにドラッグします。
    • lnk-customer-name
    • lnk-consultant-id
    • lnk-date
    • lnk-time-slot

    これにより、作成に使用したエントリ ポイント フィールドの名前によく似たインターフェイス フィールド名が作成されます。すべてのダッシュ (-) が自動的にアンダースコア (_) に置き換えられている以外は同じです。さらに、新しいインターフェイス フィールドと、対応するエントリ ポイント フィールドの間のマッピングが自動作成されます。

    lnk_customer_namelnk_consultant_idlnk_datelnk_time_slot の各フィールドの目的は、処理のためにアプリケーションに送られるデータを保持することです。したがって、これらは入力フィールドです。これらのフィールドのデフォルトのマッピング方向は [入力] であるため、そのままでかまいません。

    Schedule プログラムは、クライアントから入力情報を受け取ると、要求された予約が可能かどうかを示すコードを返します。このコードを受け取るプログラム フィールドは lnk-op-ok です。したがって、このフィールドに対応するインターフェイス フィールドを作成して、マッピング方向を [入力] (デフォルト) から [出力] に変更する必要があります。

  2. [連絡節] ペインにある [lnk-op-ok] フィールドを、[MakeAppt Operation - Interface Fields] ペインにドラッグします。
  3. [MakeAppt Operation - Interface Fields] ペインで [lnk_op_ok] をダブルクリックします。
  4. [出力] をクリックし、[OK] をクリックします。
COBOL 割り当ての定義
MakeAppt 操作が実行するプログラムの機能は 1 つしかないため、その機能を初期化するために必要な値は変わりません。このような場合は、インターフェイス フィールドではなく COBOL 割り当てフィールドを作成して、プログラムで特定の機能を実行するために必要な値を割り当てます。

プログラムのソース コードを参照すると、lnk-operation フィールドの値が0のときにプログラムでset-appt のコードが実行されることがわかります。したがって、lnk-operation フィールドに値0を割り当てます。

  1. [連絡節] ペインで [lnk-operation] フィールドを右クリックし、コンテキスト メニューで [New Assignment] を選択します。
  2. [Value] フィールドに0を入力して、[OK] をクリックします。

    このサービスで予約を入れる店舗は 1 つだけです。Schedule プログラムは、実行時に lnk-id フィールドの値を読み取って、予約を入れる店舗を特定します。したがって、このフィールドに定数値を割り当てて、サービスが実行されるたびに同じ店舗の ID 番号が渡されるようにします。

  3. [連絡節] ペインで、[lnk-store-info] グループを展開します。
  4. [連絡節] ペインで [lnk-id] フィールドを右クリックし、コンテキスト メニューで [New Assignment] を選択します。
  5. [Value] フィールドに08780を入力して、[OK] をクリックします。
  6. [ファイル > 保存] をクリックしてサービス インターフェイスを保存します。
完成した MakeAppt 操作


CheckAppt 操作

CheckAppt 操作の目的は、既存の予約を検索して、その詳細を返すことです。

CheckAppt 操作の作成
  1. Team Developer Tree View で、[ProgramSOAP > Web Services] を展開します。
  2. [ProgramSOAP] Web サービスを右クリックし、コンテキスト メニューで [新規作成 > オペレーション] を選択します。
  3. [Operation name] フィールドにCheckApptと入力します。

    [Entry point] リストに表示されるのは SCHEDULE プログラムのみで、すでに選択されています。これは、各サービス インターフェイスで使用できるプログラムは 1 つだけであり、前にこの同じサービス インターフェイスに対して MakeAppt 操作を定義したときに SCHEDULE プログラムを指定したからです。

  4. [OK] をクリックします。
  5. Team Developer Tree View で、[ProgramSOAP] を展開します。
  6. [CheckAppt] をダブルクリックします。

インターフェイス マッパーの左側にある [連絡節] ペインにエントリ ポイント フィールドが再表示されます。

インターフェイス フィールドの定義
CheckAppt 操作で使用するインターフェイス フィールドは、MakeAppt 操作とほとんど同じです。そのほかに、検索した予約が見つかった場合にそれを表示する出力配列が含まれます。次の手順に従ってください。
  1. [連絡節] ペインにある次のフィールドを、[CheckAppt Operation - Interface Fields] ペインにドラッグします。
    • lnk-customer-name
    • lnk-consultant-id
    • lnk-date
    • lnk-op-ok
  2. [連絡節] ペインで、[lnk-day] グループを展開します。
  3. [lnk-cust-id] フィールドを [CheckAppt Operation - Interface Fields] ペインにドラッグします。lnk-cust-id フィールドは配列です。

    lnk-op-oklnk-cust-id はいずれも出力フィールドであるため、方向を [入力] から [出力] に変更する必要があります。

  4. [CheckAppt Operation - Interface Fields] ペインで [lnk_op_ok] をダブルクリックします。
  5. [出力] をクリックし、[OK] をクリックします。
  6. 前の 2 つの手順lnk-cust-id フィールドに対して実行します。
COBOL 割り当ての定義
CheckAppt 操作は、read-appt アプリケーション コードを実行する必要があります。したがって、lnk-operation フィールドに値1を割り当てます。
  1. [連絡節] ペインの [lnk-operation] フィールドを [COBOL 割り当て] ペインにドラッグします。
  2. [Value] フィールドに1を入力して、[OK] をクリックします。

    MakeAppt 操作のときと同じように、lnk-id フィールドに定数値を割り当てて、毎回同じ店舗が検索されるようにします。

  3. [連絡節] ペインの [lnk-id] フィールドを [COBOL 割り当て] ペインにドラッグします。
  4. [Value] フィールドに08780を入力して、[OK] をクリックします。
  5. [ファイル > 保存] をクリックしてサービス インターフェイスを保存します。
完成した CheckAppt 操作