矢沢久雄 文化オリエント アドバイザリースタッフ
●はじめに
今回は,WindowsをベースとしたWebサービスを実現する具体的な方法を紹介しましょう。WindowsのWebサーバーであるIIS(Internet Information Service)が持つスクリプト・エンジンASP(Active Server Pages)は,.NETに対応したASP.NETとなります。ASP.NETから他のサーバーにWebサービスを提供したり,ASP.NETで動作するWebアプリケーションから他のサーバーにあるWebサービスを呼び出すことができます。今回は,C#で記述されたソース・コードを示しますが,その内容は説明しません。雰囲気だけをつかんでいただけばOKです。
![]() |
図1●Webサービスの戻り値がXML形式で返される |
●C#でWebサービスを作成する
リスト1はC#で記述された,加算結果を返すWebサービス(Keisan.asmx)です。Webサービスは,クラスとして作成されます。このWebサービスは,Keisanという名前のクラスになっています。Keisanクラスには,パラメータに与えられた2つの値の加算結果を返すAddNumメソッドが定義されています。Webサービスは,Keisan.asmxのようにファイル名の拡張子を.asmxとして保存します。このファイルをASP.NETをインストールしたWebサーバーにコピーすれば,すぐにWebサービスが使用可能となります。WebブラウザのURL欄に「http://Webサーバー名/ディレクトリ名/Keisan.asmx/AddNum?a=123&b=456」と入力すると,パラメータに123と456が与えられてKeisanクラスのAddNumメソッドを呼び出すことができます。メソッドの戻り値は,XML形式で返されます(図1[拡大表示])。
●SOAPプロキシを使えば簡単にWebサービスを活用できる
実際には,エンドユーザーのWebブラウザから直接Webサービスを呼び出すことはないでしょう。一般的には,Webサーバーで実行されるWebアプリケーションからWebサービスが呼び出され,その結果がWebブラウザにHTML形式で送信されることになります。そのためには,SOAPを使ってWebサービスを呼び出し,XML形式の戻り値を処理することが必要になります。
![]() |
図2●SOAPプロキシがWebサービスの呼び出しを代行してくれる |
KeisanクラスのAddNumメソッドを呼び出すWebアプリケーションは,SOAPプロキシが提供する仮のKeisanクラスのAddNumメソッドを呼び出します。WebアプリケーションからパラメータをもらったSOAPプロキシは,SOAPを使って実際のKeisanクラスのAddNumメソッドを呼び出し,XML形式で返信された戻り値をメソッドの戻り値としてWebアプリケーションに返します(図2[拡大表示])。
SOAPプロキシのソース・コードは,.NETに対応したマイクロソフトのプログラミング言語のソース・コードとして生成されるので,それをコンパイルして.dllファイルにします。この.dllファイルをWebサービスが格納されたディレクトリ下のbinという名前のディレクトリにコピーすれば,Webサービスを呼び出す準備は完了です。
![]() |
図3●Webアプリケーションの実行結果 |
●WindowsアプリケーションからもWebサービスが呼び出せる
![]() |
図4●Windowsアプリケーションの実行結果 |
●おわりに
.NETには,大きなビジネス・チャンスがあります。それは,Webサービスを商品化し,Webサービスの利用者に課金することです。世界市場に向けて一気にWebサービスを販売できるのです。.NET対応の開発ツールやサーバー製品が出揃うまでには,あと1年程度の時間がかかることでしょう。ありがたいことに準備期間があるのです。.NET Framework SDKやVisual Studio.NETのベータ1は,Windows 98/ME/NT 4.0/2000で動作します。まずは,これらの開発ツールをインストールすることからはじめてください。皆さんのご健闘をお祈り申し上げます!