You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

[ |../../index.htm#lansa/vlwebeng03_0150.htm]
現在地:

20.11 様々なタイプの SRVROUTINE

サーバー・モジュール内で SRVROUTINE を起動させるために使用する定義やコマンドには共通のフォーマットがあり、次のようになります。
Define_Com Class(#MyServerRoutine.GetData) Name(#GetData)

  1. GetData.ExecuteAsync EmployeeID(#Empno) EmployeeDetails(#MyEmployee) status(#io$sts)
    または、
  2. GetData.Execute(#EmployeeID #MyEmployee #io$sts)
     
    ただし実際の SRVROUTINE 定義をじっくり観察すると、SRVROUTINE には異なる 3 つのクラスがあり、ルーチンからの応答処理やルーチン呼び出しのコーディングの際にこの違いを理解しておくことは大切です。このクラスは、やり取りするデータのタイプと要求の処理方法によって区別されます。明確な DEFINE_COM (F2 使用) がサポートするメソッド、イベント、プロパティを分析すると、その関係はより明瞭になります。
    データ要求
    SRVROUTINE 呼び出しで最もよくあるタイプがデータ要求です。データ要求処理はクライアントから要求され、任意でデータを伴うこともあります。完了時に状態イベントを起動し、任意でクライアントから JSON 形式のデータを戻します。
    データ要求の特徴:
  • データは 1 つのフィールド、フィールドのグループまたはフィールドのリストとして、SRVROUTINE に送受信できます。
  • 同期および非同期の呼び出し (execute と executeasync メソッド) がサポートされます。
  • 完了は Completed と Failed イベントにより、検証できます。

Web ページ要求
別のページへ移行する要求です。 
Web ページ要求の特徴:

  • 同期実行のみがサポートされます。 (executeasync メソッドはサポートされません)
  • *input/*both としてマップされたデータは、要求の Web ページに移行する前に SRVROUTINE で処理することができます。
  • *output/*both としてマップされたデータは、要求の Web ページに引き渡されます。

リソース要求
リソース要求を使って、イメージやPDF などのファイルがデータベースまたはアプリケーション・サーバーから戻すことができます。ファイルは保存されていれば Web サーバーから直接アクセスできるので、頻繁に使われるものではありません。
リソース要求の特徴:

  • データは、1 つのフィールド、フィールドのグループまたはフィールドのリストとして、SRVROUTINE に渡すことができますが、SRVROUTINE から戻されません。(*input/*both マッピングは入力でのみサポートされ、*output マッピングはサポートされません。)
  • 同期実行のみがサポートされます。 (executeasync メソッドはサポートされません)
  • 1 つの応答オブジェクト (PRIM_CLRC) のみが、ルーチンから返された情報です。

[ |../../index.htm#lansa/vlwebeng03_0150.htm]

  • No labels