Insider's Eye Webサービス・コンテストに体当たり!
|
![]() |
米Microsoftが主催するXML Webサービス・コンテスト「.NET Best Awards 2001」の受け付けが2001年10月より始まっている(このコンテストのホームページ)。このコンテストについては、12月17日より開催された「.NET Developers Conference 2001」において、マイクロソフト阿多社長のスピーチの中で紹介され、それに合わせて日本語による応募ページも開設された。
![]() |
XML Webサービス・コンテストのホームページ |
賞品総額は40万ドル(日本円にして約5千万円)以上、賞金以外にも魅力的な賞品がめじろ押しだ。 |
主催が米国Microsoftであるため、後述するように、応募フォームには英語で説明を記述する必要がある。また審査員や参加者の多くも英語文化圏の人々だろうと想像される。このようなコンテストにおいて、日本人が開発したXML Webサービスがどれだけ評価されるのかは不明であるが、だからといって応募できないというわけではない。解説ページにもあるとおり、賞品総額は40万ドル(日本円にして約5千万円)以上とかなり巨額であり、賞金以外にも魅力的な賞品がめじろ押しとなっている。応募されたWebサービスは8つの部門に分けられ、それぞれの部門で1名以上に以下のような賞品(抜粋)が与えられるという。
- 2万5000ドルの小切手(1ドル130円換算で325万円)
- Microsoftキャンパス見学ツアー
- Xbox(マイクロソフトが発売した家庭用ゲーム機)
- 開発用デスクトップ・マシン2台(AMD Athlon XP 1800)
- MSDNユニバーサル・サブスクリプション1年間、など
参加費用は無料だ。ここのところ円も弱含みであることだし、ここはひとつ、意味不明のジャパニーズ・イングリッシュで押しまくって、審査員に日本人プログラマの意地を見せてやろうではないか。
以下にこのコンテストについての日本語解説ページへのリンクを示す。
詳細については上記のリンク先をよくお読みいただくとして、要点をまとめると、コンテストへの参加手順は次のようになっている。
1. XML Webサービスのアイデアを考え、それを実装する。
ここであらためていうまでもなく、何よりもこれが一番重要で難しいのだが、Webサービスはまだまだ未知の分野なので、アイデアしだいで勝ち残れる可能性は大いにあるはずだ。実装については、ソースを公開する必要もないので、とりあえずは動くものを作ってしまえばよい(ソースコードは評価対象にはならないので、エレガントにコーディングする必要はまったくない)。Webサービスではユーザー・インターフェイスが不要な分だけ、通常のアプリケーションよりも開発工数は低減できるだろう。なお、Microsoftが主催するコンテストであるが、Webサービスの実装自体については、必ずしもVisual Studio .NETを使用しなくてもよい。ただし主催はMicrosoftなので、Visual Studio .NETで作成したクライアントからは確実に呼び出せるようにWSDLを記述しておいたほうがよいだろう。
2. 実装したWebサービスをインターネットからアクセスできるようにホスティングする。
応募されたWebサービスは、インターネット上で呼び出されて審査されるため、どこかのプロバイダでホスティングしてもらう、あるいは手持ちのサーバ上で公開するなどの必要がある。しかし現時点で最も手軽な方法は、EraServer.NETを使用することだろう。EraServer.NETは「特集:Visual Studio .NETベータ2の新機能」でも解説しているように、Visual Studio .NETの「ワンクリック・ホスティング」に対応したホスティング・サービスを提供している。通常、無料ホスティングは30日間のトライアルとなっているが、現在はこのコンテスト用として、2002年3月のコンテスト終了まで利用できる無料アカウントが取得可能となっている(ErasServer.NETの.NET Best Awards 2001のページ)。
3. WebサービスをUDDIに登録し、「UDDIサービス・キー」を取得する。
応募の際にはWebサービスをUDDIのレジストリに登録することが必須となっている。
![]() |
Microsoftが運営するUDDIサイト |
.NET Passportのアカウントを持っていれば、Webサービスの登録は簡単に行える。 |
応募フォームには、WebサービスやWSDLのURLではなく、それらをUDDIに登録した時に発行される「UDDIサービス・キー」というものを記述する必要があるからだ(UDDIへの登録は無料)。UDDIへの登録では主に次の3つの作業を行う。
- tModel(“Technology Model”の略)の登録
- businessの登録(企業の登録)
- サービスの定義
tModelの登録とは、簡単にいってしまえばWSDL(のURL)の登録である。一方、business(企業)の登録では、自分の氏名や住所、メールアドレス、電話番号などを登録する。企業名も入力する必要があるので、個人で応募する人は適当な企業名(あるいはサービス名など)を作り上げる必要があると思われる。最後のサービスの定義は、登録したtModelとbusinessを結びつけるものだ。これはbusinessの登録項目の1つとして行い、その中で登録済みのtModelを指定する。このときサービスに振られる識別子が応募に必要なサービス・キーである。
なおUDDIとその登録については、以下のドキュメント(日本語訳)が詳しいので参考になるだろう。
UDDIの登録は少し分かりにくい部分もあるが、すでに登録されているtModelやbusinessを適当に検索して参考にすればよいだろう。また、たとえ間違って登録してもすぐに修正/削除ができるため、操作は気軽に行うことができる。
4. コンテスト登録フォームで登録を行う(取得したUDDIサービス・キーが必要)。
日本人である私たちが今回のコンテストに応募するときには、実はWebサービスを開発するよりも、これが最も大変な作業になるかもしれない。開発したWebサービスの有用性や、挙動などについて、英語で説明する必要があるからだ。参考までに、マイクロソフトから提供された記入例を以下に示す。この例では、RFC 862で既定されるエコー・サービスのように、SOAP要求を受け付け、同じ内容のSOAP応答を返すというサンプルWebサービスを例に、説明を行っている。
3) 作成したXML Webサービスのアプリケーション・シナリオについての説明 | Echo Web Service: This Web Service provides for client applications a set of SOAP based echo services, which are similar to echo services described in RFC 862. When given a SOAP request, an echo service simply sends back a SOAP response with the same content.Users of this Echo Web Service, the most of them may be developers and administrators, can easily test network reachability from their networks, connectibility to outer Web Services by SOAP over HTTP, HTTP/SSL or SMTP, interoperability of their frameworks and my ones, and so on. | |
4) 作成したXML Webサービスが与えるビジネス・インパクトについての説明 | This Web Service decreases development and management costs on the application test process as described in 3). | |
6) 開発にどの程度の労力を必要としたかの説明 | Totally, one week by one person who knows fundamental technologies of Web Services and development tools: Two days were spent for preparing the development environment and collecting related information, four days were spent for development of services, and the rest one day was spent for testing them. | |
7) XML Webサービスを実行するためのバックエンドの仕組み | Only .NET SDK for a set of sub-services, and Apache SOAP for another. | |
8) 作成したXML Webサービスの動作についての詳細説明 | This Echo Web Service can be used by SOAP over HTTP, HTTP/SSL or SMTP, and it was developed on top of two Web Services frameworks: .NET SDK and Apache SOAP. Namely, six kinds of echo services are available.A returning protocol can be also selected from above three protocols. When given a SOAP request, a service returns a SOAP response with the same content of the message body by the specified protocol.The service parses the given request into internal objects and then they are serialized into the SOAP response, according to the data mapping rules in its underlying Web Services framework.Therefore, in the case that mapping rules differ from each other, the message body in the response may differ from the request. | |
9) アーキテクチャを理解してもらうために伝えたい技術的な実装に関する情報 | No technical information because of simplicity of them :-) | |
|
||
コンテスト登録フォームの記入例 |
これはあくまで一例であって、開発したWebサービスの内容によって、説明は大幅に変わることになるだろう。最近では、手軽な和英翻訳ソフトウェアも販売されているので、こうしたソフトウェアで下訳をさせておき、仕上げを手作業で行うのが効率的かもしれない。
■
コンテスト応募の締め切りは、日本時間で2002年3月2日の午前5時となっている。もうあまり時間はない。とりあえずは「参加することに意義がある」くらいに開き直って応募し、熱意と東洋の神秘であわよくば賞品を獲得しようではないか。
![]() |
Insider's Eye |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
![]() |
|
|
|
![]() |