連載Visual Studio 2005 Team System概要第2回 分散アプリケーションと論理データセンターのデザインデジタルアドバンテージ 遠藤 孝信2005/01/22 |
|
|
◆Webサービスのエンドポイント
さらにWebアプリケーションがWebサービスを呼び出すとすると、WebサービスのボックスのエンドポイントからWebアプリケーションのボックスへ接続を行うことにより、次のような画面が出来上がる。
接続されたWebサービスとWebアプリケーション |
この場合には、Webアプリケーションのボックスを実装したときに、Webサービスをアクセスするためのプロキシ・クラスも自動作成される。ちなみにWebサービスのURLは、Webアプリケーションのweb.configファイル内に記述される。
Webサービスのエンドポイントでは、そのWebサービスが提供するオペレーションと、それに必要なパラメータを定義することができる。これはWebサービスのエンドポイントをクリックして選択してから、[Web Service Details]ペイン上で行う。
次の画面は、文字列型IDというパラメータを取るGetPriceというオペレーションをWebサービスのエンドポイントで定義しているところだ。
[Web Service Details]ペイン |
ここでWebサービスのエンドポイントにより提供されるオペレーションとパラメータを編集できる。 |
ご存じのように、.NETではこのようなWebサービスが提供するオペレーションを、WebMethod属性の付いたメソッドとしてコーディングするが、このウィンドウで追加したオペレーションは、そのようなコードとしてWebサービスのボックスを実装したときに自動生成される。
次の画面が、上記のGetPriceオペレーションの設定から自動生成されたコードである。
Webサービスのエンドポイント設定から自動生成されたコード |
このコードと[Web Service Details]ペインでの編集内容はリアルタイムに同期される。 |
[Web Service Details]ペインの内容とこのコードは同期されるので、どちらを変更しても、それが他方にすぐに反映されるようになっている。
また、既存のWebサービス(ExternalWebService)をダイアグラムに追加する場合には、以下のようなWebサービスへの参照を追加するためのダイアログが表示される。このダイアログに埋め込まれたブラウザにより、Webサービスとともに提供されるWSDLファイルへのURLを指定することができる。これもVisual Studio .NETではおなじみの画面だ。
Webサービスの参照追加ダイアログ |
ツールボックスから既存のWebサービス(ExternalWebService)をダイアグラムにドラッグ&ドロップした場合に、このダイアログが表示される。これにより追加されたWebサービスのボックスでは、そのエンドポイントは参照のみで編集はできない。 |
Webサービスのボックスについては、既存のWSDLファイルをインポートしてエンドポイントを作成することもできる。
◆アプリケーションの設定と制約
ダイアグラム上に配置したボックスを選択すると、[Settings and Constraints]ペインに下の画面のようなアプリケーションに対する制約(Constraints)と設定(Settings)の一覧が表示される。
[Settings and Constraints]ペイン |
これはダイアグラムでWebサービスのボックスを選択している場合の内容。ここでWebサービスに必要な制約と設定情報を設定する。 |
このペインの内容については、Beta 1と今回使用しているDecember CTP版でもだいぶ異なっており、まだ未確定要素は多いようで、かつ正しく動作しない部分もあるが、以下ではDecember CTP版での実装が正しいという前提で話を進める。
ボックスとしてWebアプリケーションやWebサービスを選択している場合には、上の画面にもあるように、制約(Constraints)としてまずIISサーバが必要なことと、それが稼働するWindows OSの種類や.NET Frameworkのバージョンを指定できる。それ以外の詳細な項目は、「User Defined」配下にまとめらており、IISのアプリケーション・プールやWebサイトに対する制約などが含まれる。これらは、これから実装されようとしているASP.NETアプリケーションが動作するうえで最低限必要な設定条件となる。
一方、設定(Settings)では、これまでweb.configファイルで記述していたようなASP.NETアプリケーションの設定やIISでの設定を指定する。IISについての設定は、本来ならばIISの管理ツールから行うものだったが、それをあらかじめアプリケーション設計時に明確化しておくことができる。
ASP.NETアプリケーションの構成ファイルであるweb.configファイルは、VS2005では実際に記述すべき内容が簡素化される方向にあるようだが、そこで記述可能な内容はすべてこのペインで記述できるようになっているようだ。
分かりやすい例としては、Webアプリケーションのコンパイル設定がある。通常デバッグを有効にするかどうかの指定は、次のような<compilation>要素をweb.configファイルに記述する(VS2005では専用のWebページからも設定が可能)。
<compilation debug="True" />
この設定に対する項目は、[Settings and Constraints]ペインの「Settings」配下に用意されている。
[Settings and Constraints]ペインの設定(Settings) |
これまでweb.configファイルで記述していたASP.NETアプリケーションの設定を編集できる。この内容は実際のweb.configファイルの内容と同期が保たれる。 |
そしてこのペインでの設定は、プロジェクトに含まれているweb.configファイルと同期が取られていて、ペインでの設定変更はファイルの記述に即座に反映されるようになっている。
エンドポイントに対しても、同様の手順で制約と設定を指定できる。例えばWebアプリケーションのエンドポイントの制約には、そのURIが指定可能だ。
INDEX | ||
Visual Studio 2005 Team System概要 | ||
第2回 分散アプリケーションと論理データセンターのデザイン | ||
1.分散システム・デザイナの必要性 | ||
2.アプリケーション・デザイナ(1) | ||
3.アプリケーション・デザイナ(2) | ||
4.論理データセンター・デザイナ | ||
「Visual Studio 2005 Team System概要」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|