連載Visual Studio 2005 Team System概要第2回 分散アプリケーションと論理データセンターのデザインデジタルアドバンテージ 遠藤 孝信2005/01/22 |
|
Back Issue
|
||
|
前回では、Visual Studio 2005 Team System(以下、VS2005TS)について、その機能構成の概略を紹介した。前回で述べたとおり、VS2005TSを構成する機能(ツール)は、それを利用する開発者のチームごとに4分割でき、それぞれの機能には次のような名称が付けられている。
- Team Architect
- Team Developer
- Team Test
- Team Foundation
今回はこの中でも、システムの設計を行う「アーキテクト・チーム」のための機能である「Team Architect」について解説を行う。このTeam Architectには、具体的に次のような4つツールが含まれている。
- アプリケーション・デザイナ(Application Designer)
- 論理データセンター・デザイナ(Logical Datacenter Designer)
- システム・デザイナ(System Designer)
- 配置デザイナ(Deployment Designer)
これら4つはセットで用いられ、総称して「分散システム・デザイナ(Distributed System Designers)」と呼ばれる。それぞれの名称にデザイナと付いているように、すべてVS2005のIDE内でGUIツールとして動作する。
なお、前回ではVS2005TSの最初の公開ベータ版「Visual Studio 2005 Beta 1 Refresh with Visual Studio 2005 Team System」を用いて解説を行うと述べていたが、記事公開後の2004年12月に「Visual Studio Team System December CTP版」というより新しいベータ版が公開された。先のバージョンがBeta 1であったのに対して、こちらはBeta 2となっている(.NET Frameworkのバージョンは「2.0.41115」)。このため、今回からはこのDecember CTP版に基づいて解説を行うこととする。
December CTP版になって、分散システム・デザイナの4つのツールのうち、「アプリケーション接続デザイナ」の名称が上記のように「アプリケーション・デザイナ」と変更された。なお、前回の記事内容については、この名称変更以外はすべてのそのまま有効である。
2004年12月に公開されたVisual Studio Team System December CTP版の起動時画面 |
前のバージョンであるVisual Studio 2005 Beta 1 Refresh with Visual Studio 2005 Team Systemと比較して、分散システム・デザイナの仕様も若干変更されている。 |
分散システム・デザイナの4つに加えて、アプリケーションのクラスを設計するための、
- クラス・デザイナ(Class Designer)
もTeam Architectには含まれている。
今回からは、以上5つのデザイナを順に見ていく。
■分散システム・デザイナの必要性
分散システム・デザイナは、その名のとおり「分散システム」を設計するためのツールである。ここでいう分散システムとは、前回でも述べたように、簡単にいえばSOAベースのシステムである。もっと具体的にいえば、Webサービスのインターフェイスを持ったシステムとWebアプリケーション、あるいは、そのWebサービスに対応したクライアント・アプリケーションで構成されるシステムであると現時点では考えてよいだろう。
つまり、分散システム・デザイナとは、WebサービスによりアクセスできるシステムやWebアプリケーション、Webサービス対応クライアント・アプリケーションなどを構成要素として、それらを組み合わせて構成したシステムを設計するためのツールである。
しかし、そういった構成要素を組み合わせるのに4つものデザイナが必要となるのか。Webサービスを呼び出すためのWSDLによるインターフェイス情報を定義し、それによりそれぞれの構成要素を連結できるデザイナが1つあればよいのではないのか。ソフトウェア的にはそうなのだが、分散システム・デザイナが注力しているところはその部分ではない。
SOAベースのシステムというのは、基本的に複数のサーバと複数のネットワークのゾーン(インターネット・ゾーンやイントラネット・ゾーンなど)で構成される。Webサービスを提供している在庫管理システムと資材発注システムが同じサーバで稼働しているというのは、あまり現実的には考えられない。また、Webサービスを提供するシステムがすべて.NETベースのシステムであるとも考えられないし、利用するWebサービスがインターネット上に存在する可能性もある。
従って、分散システムの設計では、サービスやアプリケーションのソフトウェア的な要素と同時に、それらが動作しているサーバやネットワーク環境などのインフラ的な要素への考慮も非常に重要となってくる。SOAベースでシステムを作ってみたが、実際に各サービスやアプリケーションを配置したり、インターネット上のサービスを呼び出そうとしたりしてみるとサーバやネットワーク環境の設定に手間がかかり、運用管理チームが大変な目に遭ったということでは、いくら個々のシステムを効率よく開発できたとしても、システム全体の開発コストを低減させたとはいえない。
SOAシステムでなくとも、開発チームと運用管理チームのコミュニケーションがおざなりで、システムの配置/運用の段階になって問題が多発したということはよくあることだ。複数システムで構成される分散システムの配置/運用がどれほど複雑になるかは容易に想像できるだろう。
このように、分散システムには配置/運用を配慮した設計が求められる(マイクロソフトはこれを「Design for Operations」と呼んでいる)。分散システム・デザイナが重要視しているポイントはそこである。
加えてもう1つのポイントは、図(ダイアグラム)と実装(プログラム・コード)の同期である。設計ドキュメントは、それが完成した時点ですでに風化が始まっているともいわれる。VS2005TSでは、ダイアグラムのデザイナを統合開発環境と密に結合することにより、この問題を解消しようとしている。分散システム・デザイナで作成したダイアグラムは、それをベースに作成されたプロジェクトやコードと常に同期し、変更は即座に他方に反映される。
■分散システム・デザイナを使う
では具体的に、どのような設計が可能になるのか。各デザイナを順に見ていこう。
まずはVS2005を起動し、新規プロジェクトとして、「Distributed System Solutions」を選択する。ここには「Distributed System」と「Logical Datacenter」の2つのテンプレートが用意されている。基本的に「Distributed System」を利用するのがアプリケーション設計者、「Logical Datacenter」を利用するのが運用管理者(インフラ設計者)となる。
VS2005TS December CTP版の新規プロジェクト作成ダイアログ |
「Distributed System Solutions」というプロジェクト・タイプが追加され、「Distributed System」と「Logical Datacenter」の2つのテンプレートを選択できる。 |
ここでは最初に「Distributed System」のテンプレートを選択する。これによって、以下のようなアプリケーション・デザイナの画面がまず現れる。
アプリケーション・デザイナの初期画面 |
「Distributed System」のテンプレートを選択すると、アプリケーション・デザイナの画面が最初に表示される。 |
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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|