COBOLコンソーシアム利用技術分科会
榎田 勉(富士通インフォソフトテクノロジ第3開発統括部)
当資料では、Webサービスとはどのようなものであり、どのような役割を果たすのか、そしてWebサービスをCOBOLでどのように開発するのかについて説明します。
1.Webサービス
現在、Webアプリケーションは幅広く利用されています。そのWebアプリケーションの技術を応用し、インターネット上のアプリケーションの連携を実現させようというのがWebサービスの基本コンセプトです。
WebアプリケーションにはWebブラウザから人手を介してアクセスしますが、Webサービスにアクセスするのはプログラムです。Webサービスは、プログラムからの要求に従って処理を行い、その結果を返します。つまり、Webサービスとはインターネット経由でアクセスできるソフトウェアコンポーネントであるといえます。
Webサービスの特徴は、SOAP(Simple Object Access Protocol)というHTTP上にXML形式の電文を乗せたプロトコルを使用することで、特定のプラットフォームやプログラミング言語に拘束されないアプリケーション間の連携手法を提供することです。
このようなWebサービスを、企業内に散在するシステムを接続する手段として利用することで、企業内アプリケーションを統合することができます。更に、企業内アプリケーションに対して、Webサービス化されたASPサービスをシームレスに組み込むことも可能になります。
また、企業によって提供されるサービスをWebサービス化することで、互いに関連する企業のサービスを一つのサイトに集約(例えば、航空会社、レンタカー会社、ホテル等と連携した旅行代理店のポータルサイト)したり、ビジネスプロセス(例えば、商品購入時の電子決済、発注、配送)を統合したりすることができ、企業間のシステム連携が容易になります。
2.COBOLによるWebサービスの実装方法
Webサービスの実装方法には、CORBA/COMコンポーネント化と .NET利用の二つがあります。いずれの方法でも、WebサービスをCOBOLで記述することができます。
- CORBA/COMコンポーネント化によるWebサービス
COBOLアプリケーションをCORBA/COMコンポーネント化し、そのインタフェースをSOAPインタフェースに変換するゲートウェイプログラムを介することにより、その機能をWebサービスとして公開することができます。反対に、COBOLプログラムからゲートウェイプログラムを経由することにより、Webサービスを利用することもできます。
CORBA/COMコンポーネントのインタフェース情報からWSDL(Web Services Description Language)やゲートウェイプログラムを自動生成するWebサービス対応の開発環境を活用することにより、Webサービスを簡単に作成することができます。 - .NETによるWebサービス
.NETは、OSレベルでWebサービスの機能を組み込んでいます。その.NETで提供される統合開発環境Visual Studio .NETを利用することで、簡単にWebサービスを作成することができます。
3.COBOLによるWebサービスの開発手順
3.1 Webサービスの利用の流れ
最初に、一般的なWebサービスの利用の流れを説明します。

サービス提供者は、Webサービスの内容や利用方法をUDDI(Universal Description, Discovery and Integration)レジストリに登録します((1))。サービス利用者は、UDDIレジストリを検索することで目的のWebサービスを探します((2))。UDDIレジストリとは、Webサービスに関する情報を公開し、Webサービスが提供する機能などを検索可能にする仕組みを持つデータベースです。
UDDIレジストリの情報から、Webサービスのインタフェース情報を保持するファイルを取得します((3)、(4))。このファイルが保持するインタフェース情報は、手続き名やパラメータなどWebサービスへのアクセス情報であり、XMLベースの言語であるWSDLで記述されています。このWSDLで記述されたインタフェース情報からSOAPクライアントとSOAPサーバの呼び出しを仲介するプロキシが生成され、サービス利用者は目的とするWebサービスを利用できるようになります((5)、(6))。
3.2 Webサービスの開発例
次に、各ベンダのCOBOL製品の中から 富士通 NetCOBOL for .NET を例に用いて、Webサービスの開発例を説明します。
- Webサービスの作成
Webサービスを作成するには、Webサービスのクラスを定義する必要があります。
開発環境にはWebサービスのテンプレートが用意されており、それを選択することにより、これらのコードは自動生成されます。このため、実際に必要な記述はWebサービスで公開するビジネスロジック部分だけであり、クラスなどオブジェクト指向の知識がなくても簡単にWebサービスを作成することができます。 このWebサービスをUDDIレジストリに登録することで、利用者に公開できます。
図1は、Webサービスを作成する開発環境の画面です。実際に記述しなければならない個所は、Webサービスで公開する赤枠内の手続きのみです。
●図 1 Webサービスを作成する開発環境の画面 - Webサービスを利用するアプリケーションの作成
Webサービスを利用するには、利用するWebサービスのWSDLファイルの取り込みが必要になります。WSDLファイルは、開発環境のWeb参照設定ウインドウにWebサービスのURLを指定するだけで取り込まれ、更にこのWSDLファイルから自動的にプロキシが生成されます。公開されているWebサービスは、手続きの呼出しを記述することにより、自動生成されたプロキシを経由して呼び出され、利用することができます。
●図 2 Webサービスを利用するアプリケーションの作成する開発環境の画面
このように、COBOLのWebサービス対応開発環境によって、Webサービスの照会、WSDLファイルからのプロキシの自動生成などの機能が提供されるため、Webサービスおよびそれを利用するアプリケーションをCOBOLで簡単に開発することができます。
- 第10回 終 -
これまで10回にわたり、COBOLの利用技術に関する話題をご紹介してきました。急速に進展する技術環境においてもCOBOLが有効に活用できることや、使用時に留意すべき点などについて、理解を深めて頂けたとしたら幸いです。 この連載は、今回をもちまして終了させて頂きます。ご愛読、ありがとうございました。 |