COBOLコンソーシアム利用技術分科会
榎田 勉(富士通インフォソフトテクノロジ第3開発統括部)
当資料では、Webサービスとはどのようなものであり、どのような役割を果たすのか、そしてWebサービスをCOBOLでどのように開発するのかについて説明します。
現在、Webアプリケーションは幅広く利用されています。そのWebアプリケーションの技術を応用し、インターネット上のアプリケーションの連携を実現させようというのがWebサービスの基本コンセプトです。
WebアプリケーションにはWebブラウザから人手を介してアクセスしますが、Webサービスにアクセスするのはプログラムです。Webサービスは、プログラムからの要求に従って処理を行い、その結果を返します。つまり、Webサービスとはインターネット経由でアクセスできるソフトウェアコンポーネントであるといえます。
Webサービスの特徴は、SOAP(Simple Object Access Protocol)というHTTP上にXML形式の電文を乗せたプロトコルを使用することで、特定のプラットフォームやプログラミング言語に拘束されないアプリケーション間の連携手法を提供することです。
このようなWebサービスを、企業内に散在するシステムを接続する手段として利用することで、企業内アプリケーションを統合することができます。更に、企業内アプリケーションに対して、Webサービス化されたASPサービスをシームレスに組み込むことも可能になります。
また、企業によって提供されるサービスをWebサービス化することで、互いに関連する企業のサービスを一つのサイトに集約(例えば、航空会社、レンタカー会社、ホテル等と連携した旅行代理店のポータルサイト)したり、ビジネスプロセス(例えば、商品購入時の電子決済、発注、配送)を統合したりすることができ、企業間のシステム連携が容易になります。
Webサービスの実装方法には、CORBA/COMコンポーネント化と .NET利用の二つがあります。いずれの方法でも、WebサービスをCOBOLで記述することができます。
最初に、一般的な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))。
次に、各ベンダのCOBOL製品の中から 富士通 NetCOBOL for .NET を例に用いて、Webサービスの開発例を説明します。
このように、COBOLのWebサービス対応開発環境によって、Webサービスの照会、WSDLファイルからのプロキシの自動生成などの機能が提供されるため、Webサービスおよびそれを利用するアプリケーションをCOBOLで簡単に開発することができます。
これまで10回にわたり、COBOLの利用技術に関する話題をご紹介してきました。急速に進展する技術環境においてもCOBOLが有効に活用できることや、使用時に留意すべき点などについて、理解を深めて頂けたとしたら幸いです。 この連載は、今回をもちまして終了させて頂きます。ご愛読、ありがとうございました。 |