サービス・パーツの参照

サービス・パーツは、サービスに含まれる関数へのアクセスをリクエスターに提供します。 リクエスターは、ローカルまたはリモート・プログラム、ハンドラー、ライブラリー、または別のサービスです。

SOAP サービスとしてのデプロイメント用のサービス・パーツを開発する場合は、パラメーターが副構造を持つ構造化レコード・パーツに基づいているのであれば、EGL 生成の WSDL ファイルが関数パラメーターを表す方法を理解する必要があります。 以下にレコード・パーツの例を示します。
Record ORDER type BasicRecord
   10 ORDERID char(5);
   10 ORDERITEMS char(35)[10];
      15 ITEMID char(5);
      15 DESCRIPTION char(30);
end      
データのランタイム転送を制御する WSDL ファイルの構成時には、EGL ジェネレーターは定義を「平坦化」します。 本質的に、WSDL 表記は以下のレコード・パーツに基づいています。
Record ORDER type BasicRecord
   10 ORDERID char(5);
   10 ITEMID char(5)[10];
   10 DESCRIPTION char(30)[10];
end      
あるフィールドの別のフィールドへの意図的なネストを保持するには、非構造化レコード・パーツに基づくレコードを使用します。 例えば、以下のコードは ORDERITEMS フィールドを保持します。
Record ORDER type BasicRecord
   ORDERID char(5);
   ORDERITEMS ANITEM[10];
end 

Record ANITEM type BasicRecord
   ITEMID char(5);
   DESCRIPTION char(30);
end  

サービス・ロジックで複合構造化レコードと非構造化レコードとの間でデータを転送する必要がある場合は、MOVE ステートメントを使用します。

サービス・パーツについて詳しくは、サービス: 全体的な概要を参照してください。

構文

サービス・パーツの構文
serviceName
サービスに割り当てる名前。
interfaceName
このサービスが実装するインターフェースの名前。 この変数は、インターフェースに記述されたすべての関数がサービスに含まれていることを保証するものです。
serviceContents
サービスには、関数、変数、定数、および use 宣言を含めることができます。 関数に private 修飾子を組み込み、リクエスターがそれにアクセスできないようにすることが可能です。 変数および定数は、リクエスターには提供されません。

簡単なサービスを、次の例に示します。
  Service EchoString
    function returnString 
      (inputString string in) 
      returns (string)
      return (inputString);
    end
  end

互換性

表 1. サービス・パーツの互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 生成されるサービスの名前の最大長は 7 文字です。
IMS/VS、IMS™ BMP サービス・パーツはサポートされません。
Rich UI 1 つの例外を除いて、サービス生成は Rich UI プロジェクトではサポートされていません。『EGL での SOA サポート』で説明されているように、その例外は専用サービスです。

EGL 一般プロジェクトまたは EGL Web プロジェクトでサービス・ロジックを記述して、そのロジックを SOAP Web サービスまたは REST サービス (EGL Web プロジェクト内に生成する必要があります) の基本として使用し、そのサービスを Web サーバーにデプロイして、デプロイされたサービスに Rich UI アプリケーションからアクセスできます。

VSE サービス・パーツはサポートされません。

フィードバック