Interface Mapping Toolkit による COBOL Web サービスの作成

この章では、Interface Mapping Toolkit の Web サービスに関連する側面に焦点を当てます。

概要

Server Express では、COBOL アプリケーションを Web サービスとしてエクスポーズできます。 そのために提供されているツールの集まりが Interface Mapping Toolkit です。 Interface Mapping Toolkit は、Server Express でサポートされる 2 種類のサービス (EJB および Web サービス) のどちらでも使用できます (Interface Mapping Toolkit については『Interface Mapping Toolkit』の章を参照してください)。

COBOL Web サービスの概要』の章で説明しているように、Server Expresss ではいくつかの方法で COBOL Web サービスを作成できます。その中でも、Interface Mapping Toolkit を使用する方法が、Enterprise Server と組み合わせて、目的に合う完全なソリューションを作成できるという点で推奨されます。Interface Mapping Toolkit を使用する方法と他の方法については『はじめに』の章で詳しく比較されています。

Interface Mapping Toolkit には、次のような Web サービス関連機能があります。

Web サービス記述言語 (WSDL)

WSDL (Web Services Description Language; Web サービス記述言語) は、Web サービスのクライアントインターフェイスを正式に記述する業界標準の Web サービス記述言語です。 Interface Mapping Toolkit は WSDL を完全にサポートしており、あらゆる言語で作成したクライアントが、オペレーティングシステムの違いに関係なく、Interface Mapping Toolkit で作成した Web サービスにアクセスできます。

通常、WSDL ファイルを開発者自身で作成するには WSDL に関する知識が必要になりますが、 Interface Mapping Toolkit では WSDL ファイルがディプロイ時に自動生成されるため、 その WSDL ファイルをクライアント側に提供するだけです。

WSDL ファイルに基づいて Web サービスのクライアントを生成するツールは、数多くのベンダーから提供されており、生成されるクライアントの言語も多岐にわたります。Interface Mapping Toolkit にも、そのようなツールが含まれています。『クライアント生成』の項を参照してください。

クライアント生成

Interface Mapping Toolkit には、Web サービスを使用する COBOL クライアントアプリケーションを生成する機能があります。 生成されたアプリケーションは、実際の運用に使用するアプリケーションのひな型や例として利用できます。アプリケーションは 2 つの COBOL プログラムから構成されます。一方のプログラムは ANSI 標準の ACCEPT 文と DISPLAY 文を使用する簡単なコマンド行ユーザインターフェイスを提供するプログラムです。このプログラムから呼び出されるもう一方のプログラムはプロキシと呼ばれ、Web サービスを呼び出します。

マッピングと WSDL

[サービス > クライアントを生成] をクリックすると、[マッピングを使用] と [WSDL を使用] という 2 つのオプションが表示されます。 この 2 つの違いを理解することは重要です。

Web のクライアントは通常、サービスを定義した WSDL ファイルから作成します。 WSDL ファイルは Web (イントラネットやインターネット) からダウンロードできる場合もあります。 クライアントアプリケーションを作成する場合、通常は WSDL ファイルを読み取ってクライアント (またはサービスを呼び出す部分) を生成するソフトウェアツールを使用します。[クライアントを生成] の [WSDL を使用] は、そのようなツールの 1 つです。

Server Express で作成した Web サービスをディプロイする際に生成されるファイルの中には WSDL ファイルも含まれており、このファイルを [クライアントを生成] の [WSDL を使用] の入力として使用できます。ただし、このオプションは、Interface Mapping Toolkit を使用して作成した Web サービスが主な対象ではありません。

Interface Mapping Toolkit を使用して作成した Web サービス専用のオプションが [マッピングを使用] です。このオプションを使用すると、クライアントはマッピングから直接生成されます。常に有効な [WSDL を使用] オプションとは異なり、[マッピングを使用] オプションが有効になるのは、「サービスインターフェイス」ウィンドウで Web サービスを選択した場合だけです。Web サービスを右クリックし、ポップアップメニューで [クライアントを生成] オプションを選択すると、[マッピングを使用] オプションがただちに使用できます。

[マッピングを使用] の利点は、既存のプログラムに似たデータ定義を持つクライアントが生成される点です。

COBOL では、PICTURE 句を使用してデータ項目を細かく制御できます。それに対して、WSDL ファイルに使用されている XML では、データ項目は固定長のデータ型だけに制約されます。Interface Mapping Toolkit で WSDL ファイルを生成すると、それぞれのインターフェイスフィールドに、対応するデータ項目の PICTURE 句と互換性がある XML データ型が割り当てられますが、データ項目の正確な定義まで反映されるわけではありません。 その後、クライアントを生成するときには、インターフェイスフィールドの XML データ型を反映した PICTURE 文字列がデータ項目に割り当てられます。 その結果、クライアント内のデータ項目の定義は、既存のプログラム内の対応するデータ項目と互換性はあるものの、必ずしも同一ではなくなります。一方、[マッピングを使用] を使用した場合には、生成されるクライアント内のデータ定義は、既存のプログラムを直接ベースにしたものになります。