連載:世界のWebサービス
第1回 Web Services for Smart Searching
3.Webアプリケーションから呼び出してみよう
田口景介
2001/01/31
|
 |
Webサービスの仕様はだいぶ明確になった。そこで作ってみたのが、次の画面とリストに示す簡単なWebアプリケーションだ。テキストボックス(TextBox1)に検索文字列を入力して、ボタン(Button1)をクリックすると、結果がデータグリッド(テーブル状にデータを表示するWebコントロール)に表示されるだけの単純なモノだ。
public void Button1_Click (object sender,
System.EventArgs e)
{
// Webサービスの作成
com.microsoft.uddi.MSComSearchService css
= new com.microsoft.uddi.MSComSearchService();
com.microsoft.uddi.BestBetsData bd
= css.GetBestBets(TextBox1.Text);
com.microsoft.uddi.BestBetItem bi;
// DataGridに対応付けるDataTableの準備
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Rank", typeof(string)));
dt.Columns.Add(new DataColumn("DisplayTerm", typeof(string)));
dt.Columns.Add(new DataColumn("Title", typeof(string)));
// テーブルの要素を登録
DataRow dr;
for (int i = 0; i < bd.BestBetsCount; i++)
{
bi = bd.BestBetsItems[i];
dr = dt.NewRow();
dr[0] = bi.Rank;
dr[1] = bi.DisplayTerm;
dr[2] = "<A HREF=" + bi.Url + ">" + bi.Title
+ "</A>";
dt.Rows.Add(dr);
}
// DataViewを作成し、DataGridにバインド
DataView dv = new DataView(dt);
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
} |
|
Webアプリケーション(コード)
|
ボタンButton1をダブルクリックし、このコードを入力する。
|
こうして作成したWebアプリケーションは、ローカルマシンのWWWサーバ(IIS)に登録されているので(プロジェクトを作成したときに登録される)、今回はhttp://localhost/WebApplication/WebForm1.aspxをブラウザで表示すると、Webアプリケーションが起動される。次に起動した状態を示す。
例えばここで、テキストボックスに“com”と入力して右の[検索]ボタンをクリックすると、画面のように結果が表示される。どうもこのWebサービスの趣旨に反した結果のような気がしないでもないが、“com”に関連するフレーズとして「Component
Object Model(COM)」(表中の“DisplayTerm”の列)が見つかり、関連するURLとそのタイトル(同じく“Title”の列)を表示している。先頭の“Rank”は、検索キーワードに対する結果としてのふさわしさを表す、適合率というところだろう。おそらくRankの数値が小さいほど、お勧めの結果ということだ。
あまりに手軽で感慨もないかもしれないが、これがWebサービスの1つの形というわけだ。 Web Services for Smart Searchの裏に存在するデータベースにさまざまな単語が登録されれば、きっと役に立つサービスとなろう。
WebサービスはWWWのサービスにあらず
ところで、今回はWebサービスの利用例を示すためにWebアプリケーションを作成したが、次回は、Windowsアプリケーション(Windowsプログラマにとっては最も馴染み深いWindows環境用のアプリケーション)でWebサービスを利用するサンプルを作ってみようと思っている。Webサービスの利用例として、Webアプリケーションをサンプルに使う例が多く見られるため、.NET環境ではWebブラウザがアプリケーションプラットフォームになるという一面的な見方をしている読者がいるかもしれないからだ。それは誤解で、すべてのアプリケーションがWebアプリケーションになる必要はないし、ローカルマシンで動作するWindowsアプリケーション(.NET
Frameworkをベースに動作する、exe実行ファイルを持つアプリケーション)でもWebサービスを呼び出すことが可能だ。ちなみに、今回作成したWebアプリケーションと同等のWindowsアプリケーションを作成したが、上記リストをわずかに1行変更するだけで動作させることができた。
まだ登場したばかりの.NETであるため、残念ながら、まだまだ紹介に値するWebサービスが少ないのが現実である。しかし開発環境であるVisual
Studio.NETのベータ版の提供も開始された今、水面下では、Windowsプログラマたちが.NETプログラミングにチャレンジしているに違いない。世界各国から優れたWebサービスが登場するのを願うと同時に、本稿の読者ご自身にも、ぜひともWebサービス開発にトライしてみていただきたいと願う。もちろん、優れたWebサービスはどんどん本連載にて紹介させていただきます。
Insider.NET 記事ランキング
本日
月間