Web サービスからデータを取得する必要がある COBOL プログラムがあります。CICS を使用しない場合、最善の選択肢は何ですか? 私は、C プログラムが Web サービスを読み取ってファイルに保存し、COBOL がそのファイルを読み取ることができると考えていました。COBOL は Web サービスを呼び出すことができますか? データのサイズは約 300MB です。
5 に答える
IBM TCP/IPの「EZASOKET」モジュールを使用する
私は、主にCOBOL、バッチ(JCL)、およびCICSを実行しているaz/OSシステムを使用している会社で働いています。Webサービスを呼び出すために、TCP/IPを使用してHTTP1.0を実装するモジュールを作成しました。モジュール付き
- EZASOKET
- GETHOSTBYNAME
- ソケット
- 接続
- 書きます
- FCNTL
- 読む
- 選ぶ
- SELECTEX
補足モジュール:
- EZACIC04はEBCDICをASCIIに変換します
- EZACIC05はASCIIをEBCDICに変換します
- EZACIC06は文字をビットマスクに変換します
- EZACIC08デコードIPアドレス
私は自分の会社のためにこれを書いたので、コードを単に与えることはできません。しかし、参考までに、モジュールを作成するのに3日かかりました。それは、それを行うための部分的なハッキーな方法を実行した最初の例でした。
EZAモジュールの使用方法を知るには、IBMのリファレンスを読む必要があります。
多分この記事を見てください。WebサービスへのC/C++ラッパーインターフェイスを作成することをお勧めします。この記事はiSeriesを対象としていますが、BPXBATCHを使用してzSeriesで非常によく似たものを実装できる場合があります。
基本的に、COBOLコードとWebサービスとインターフェイスするC++コードの間にCラッパーを使用することをお勧めします。このソリューションにより、COBOLは比較的簡単な方法でC関数を呼び出すことができます。C関数は、C ++プロキシを使用してWebサービスへの呼び出しを実装することにより、C++の動作を模倣します。
サイトで Java を使用できる場合は、cobol プログラムから Java を呼び出して Web サービスにアクセスすることもできます。Enterprise cobol を使用していると仮定して、z/OS Volume II の Java Stand-alone Applicationsのセクション 6.44 を確認してください。