NetDictionaryで始める
Webサービス・プログラミング

4.さまざまなWebサービス実験を行う実験場「WebService.jp」


デジタルアドバンテージ
2001/09/11


 今回のNetDictionaryプロジェクトを立ち上げるにあたり、インターネット・ドメインを取得する必要があった。ご存じのとおり、インターネットのドメイン名は、サイバースクワッティングなど悪意がないかぎりは、基本的に早いモノ勝ちで任意の名前を取得して利用できる(「co.jp」「or.jp」などを除く)。残念ながら、米国の「com」や「net」「org」ドメインは、単純な英単語からなるドメイン名は、すでにほとんどが誰かに取られている。しかし幸いなことに、先ごろから使えるようになった「jp」ドメインは、新しいだけあって、まだ空きがたくさんある。

 今回は辞書のWebサービス実験なのだが、ゆくゆくは辞書以外にもいろいろとWebサービス化実験をしたいということから、幅広く「Webサービス」をイメージできる名前を考えて、そのドメイン名を「jp」で取得しようと考えた。まずはドメイン名の空きを確認しようと調べてみると、何と「WebSercice.jp」が空いているではないか。あまりの直球に社内では否定的な意見もあったものの、最終的には、「分かりやすさでこの名前の右に出るものはない」という結論になり、「WebService.jp」を取得した。

 これが図中ので、NetDictionaryは、このWebService.jpサイトの1プロジェクトとして運営されることになった()。現時点で公開できるプロジェクトはこのNetDictionaryだけだが、他のWebサービス化実験計画も着々と進行中である。これらについても近いうちに発表できると思う(ヒント:今度はPC Insider関連のサービスを検討中)。

WebService.jpのページ
現状はNetDictionaryプロジェクトしか存在しないが、将来的にはこれ以外にもさまざまなWebサービス実験を開始する予定。こうご期待!
http://www.webservice.jp/
 
NetDictionaryプロジェクトのホームページ
NetDictionaryプロジェクトに関する最新情報などを公開するページ。後述するように、Webサービス・インターフェイスの公開にあたっては、IWebMethod.NETという別ドメインを使っており、こちらのページでは、テキストからなるドキュメントだけを公開している。
http://www.webservice.jp/netdict/index.html

プログラム向けのWebサービス・インターフェイスを提供するIWebMethod.NET

 Webサービスを呼び出すプログラム側では、インターネット上に公開されたWSDL(Web Services Description Language)ファイルを参照し、そこに記述されたメソッドを呼び出す。米国のWebサービスのテスト・サイトなどでは、HTMLデータで記述したコンテンツも、Webサービスも同じドメインを使って提供しているところも多いが、今回の実験では、人間が読むコンテンツと、プログラムから呼び出されるWebサービスで、使用するドメインを分離することにした。具体的には、前者では上で述べた「WebService.jp」を、後者では「IWebMethod.NET」()を使うことにした。

Webサービスを提供するIWebMethod.NETサイト
プログラムから呼び出すWebサービスについては、このIWebMethod.NETが提供する。トラフィック管理やログ管理を簡略化することを狙って、WebService.jpとは独立したドメインを割り当てることにした(ただし当初は、IISの仮想サーバ機能を使い、双方のドメインは1台の同じコンピュータで公開されている)。大々的には発表していないが、NetDictionaryを使ったWindowsアプリケーション・サンプルなどがこっそり公開されている。
http://www.iwebmethod.net/

 両者のドメインを分離した理由の1つは、アクセス・パターンのまったく異なるHTMLベースのWebページと、プログラムから呼び出されるWebサービスを別々に管理することで、トラフィック管理やログ管理などがより容易になるだろうと予測したからだ。万一、トラフィックが集中した場合でも、両者で別ドメインを使っていれば、アクセス・パターンを分析して、負荷に応じたシステムの強化が行える。また将来的に、ビジネスの一環としてWebサービスを提供することを考えると、どのようなアクセスがあったのかをクライアントにレポートしなければならないかもしれない。この場合でも、両者を分離できるようにしておけば、レポーティングがより容易になるだろうと判断した。ただし現時点では、WebServie.jpもIWebMethod.NETも、同じ1台のPCで、IISの仮想サーバ機能を使って運営されている(1台のPCに2つのグローバル・アドレスを割り当てている)。

 「IWebMethod」という名前であるが、これはプログラムからWebサービスを呼び出すとき、.NET Frameworkでは、プログラム中に[WebMethod]と記述することに由来している。先頭の「I」は「Interface」の意味だが、実は「WebMethod.NET」ドメインはすでに誰かが取得していたので、こじつけ的にこれを付けることにしたものだ。

 つまり、今回のNetDictionaryプロジェクトで公開されているWebサービスの実体は、すべてこのIWebMethod.NET側にある。公開されたWebサービスを使用するアプリケーションや他のWebサービスは、このサイトにあるWebサービスのコードを呼び出すことになる( )。公開されるICDデータベースは、このサイトを運営するコンピュータにレプリケーションがコピーされている()。


 INDEX
  [特集]NetDictionaryで始めるWebサービス・プログラミング
  第1回 NetDictionaryプロジェクトとは何か?
    1.コンピュータ用語事典、ICDとは?
    2.ICDの開発環境
    3.NetDictionaryとは?
  4.さまざまなWebサービス実験を行う実験場「WebService.jp」
    5.関連記事や会議室を提供する@IT
    6.公開中のサンプル・アプリケーション
         コラム:Visual Studio .NET日本語版ベータ2の入手方法
 
 特集 : NetDictionaryプロジェクト


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 記事ランキング

本日 月間