連載

世界のWebサービス ― 究極のWebサービスを求めて ―

第4回 GOT DOT NET
 ―― .NET開発者が独自に運営する異色サイト ――

田口景介
2001/05/02


 GOT DOT NET(http://gotdotnet.com/)をご存じだろうか(下の画面)。口頭で伝えようとしてもまず伝わらない、この妙なURLのサイトは、Microsoftの.NET Framework開発チームによって管理・運営されており、.NETの公式サイトやMSDN(Microsoft Developer Network)など、Microsoftが公式に運営するものよりフランクに.NETを盛り上げていこうという、開発者コミュニティ寄りの趣旨で運営されているサイトである。主な内容は.NET関連ニュースや解説記事だが、むしろ注目すべきは、サンプル・プログラム群である。「.NET Samples」コーナーでは、Microsoftやサードパーティが開発したWebサービスが公開されている。ここでは、Webサービスのソースファイルが公開されており、サービスをその場で実行できるように、Webサービスを使ったクライアント・アプリケーションもWebアプリケーションとして用意されているので、Webサービスの学習にはもってこいの素材となっている。

GOT DOT NET
.NET Frameworkを開発しているMicrosoftの開発者たちが、公式サイトとは別に独自運営している異色サイト。.NET関連のニュースや解説記事が中心だが、何よりプログラマにとっては、Webサービスのサンプル・プログラムを眺められるのがうれしい。

 GOT DOT NETの大きな特徴は、Microsoftやサードパーティが開発したWebサービスばかりではなく、ユーザーが開発した.NETアプリケーションを投稿できる「User Contributions(ユーザーからの寄贈)」コーナーが設けられ、これらアプリケーションも公開されていることだ。2000年11月から始まったこのコーナーには、2001年4月末時点ですでに150本にも及ぶサンプル・アプリケーションが投稿され、公開されている。ここには実験的なごく単純なアプリケーションから、telnetクライアントやPOP3クライアント、ツリービュー・サーバ・コントロール(標準では用意されていない、WebForms用ツリービュー・コントロール)のように実用レベルのアプリケーションまで、多種多様なプログラムが登録されている。なかには某有名落ち物ゲームや、インジケータ領域(システム・トレー)に常駐するメモ帳ツールなど、.NETらしくない.NETアプリケーションも登録されていて、.NET環境が徐々にすそ野を広げていることが感じられておもしろい。また、emcas用C#-mode(Emacs Lispで作られたC#コーディング用入力支援環境)のような変わり物も投稿されている。User Contributionsコーナーに登録されたアプリケーションには、ソースファイルが付属していないものもあるが、とりあえずサンプル・クライアントを実行して見聞を広めるのもいいだろう。

 このように、GOT DOT NETは、.NET環境に少しでも興味があるなら、必ずチェックしておきたいサイトの1つである。そこで今回は、GOT DOT NETで公開されている興味深いWebサービスをいくつか紹介することにしよう。

サムネイル作成Webサービス Thumbnail Generator

 .NET Samplesコーナーの「Web Services」で公開されているサンプルWebサービスの1つがこのThumbnail Generatorである(下の画面)。Thumbnail Generatorを使うと、URLで指定したWebページの縮小イメージをJPEG形式で作成することができる。エクスプローラで「縮小表示」を選ぶとWebページのサムネイル画像が表示されるが、あれのWebサービス版である。

Thumbnail Generator
.NET Samplesコーナーで公開されているWebサービスの1つ。URLで指定されたWebページのサムネイル表示(縮小表示)をJPEG形式でサーバ側で生成し、そのURLを戻り値として返すというWebサービス。
  サムネイルを生成したいURLをここに指定する。
  サムネイルの結果がここに表示される。

 URLを指定してこのWebサービスを呼び出すと、Webサービスが稼働しているWebサーバ上でサムネイル画像が生成され、サーバ上に保管される。そしてこのJPEG画像へのURLがWebメソッドの戻り値として返されるので、クライアント・アプリケーション側では、これを元に画面へサムネイルを表示することができる。

 このThumbnail Generatorは、CPUパワーのレンタル・サービスを実装したWebサービスの1例と見ることができるだろう。つまり、膨大なCPUパワーを必要とする処理をWebサービスが稼働するサーバに依頼することで、非力なクライアント・マシンからサーバマシンの処理能力を利用可能にするというものだ。

 ただしThumbnail Generatorがレンタル・サービスとしてふさわしいサンプルかというと、そうでもない。サムネイル画像を作るだけならば、昨今のクライアント・マシンならば十分すぎるほどのCPUパワーを持っていることは周知のとおりだし、サンプル・クライアントがレンタル・サービスに適した構造になっていないからだ。サムネイル画像を生成する代わりに、膨大な演算時間を必要とするプロセッサのシミュレーションテストや科学技術演算の類を実装したWebサービスがあったとしよう。そしてこれをThumbnail Generatorと同様の手順でWebアプリケーションから呼び出し、得られた結果がブラウザに表示される仕組みになっていたら、おそらくうまく動かないだろう。呼び出されたWebサービスが結果を戻すまで数時間もの時間がかかるとしたら、間違いなくタイムアウトしてしまうからだ。

 Thumbnail Generatorのサンプル・アプリケーションのように、Webサービスが処理を終えるまでクライアントが待ち続ける処理は「Webサービスの同期呼び出し」と呼ばれる。同期呼び出しはプログラムが単純になるが、前述したように処理が長時間に及ぶWebサービスでは不具合が生じる可能性がある。そこで、このようなWebサービスを利用するには、非同期呼び出しと呼ばれる仕組みが利用できる。非同期呼び出しの利用例は、もう1つのサンプル・プログラムであるMailSender Webサービスに見ることができる。

関連リンク
GOT DOT NET
.NET Sample Web Services
 
 

 INDEX
  [連載]世界のWebサービス―― 究極のWebサービスを求めて ――
第4回 .NET開発者が独自に運営する異色サイト、GOT DOT NET
    1.ユーザによるサンプル・アプリケーション
 
「世界のWebサービス」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間