連載世界のWebサービス ― 究極のWebサービスを求めて ―第4回 GOT DOT NET―― .NET開発者が独自に運営する異色サイト ―― 田口景介 |
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を指定してこの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サービス」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|