SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Visual Studio Team System 2008 Architecture Editionを使ってみよう

配置デザイナでアプリケーションとデータセンターの整合性を検証しよう

Visual Studio Team System 2008 Architecture Editionを使ってみよう(4)


  • X ポスト
  • このエントリーをはてなブックマークに追加

モデリングしてみよう

 では、早速モデリングをしてみましょう。今回はアプリケーションと論理データセンターの両方をそろえて作業を進めていく必要があります。本来であれば、例題とするアプリケーションやインフラを確認するところではありますが、今回例題として使う予定のもの(図1、図2)はそれぞれ連載の第2回、第3回で作成したものなので、その点は割愛させていただきます。

配置ダイアグラムの作成

 アプリケーションとインフラのイメージをつかんで頂いたところで、早速Visual Studioでのモデリングに取り掛かります。添付のファイルを解凍して「CodeZine-VSTS-AE04\CodeZine-VSTS-AE04.sln」というソリューションを開いてください。ソリューションエクスプローラは図3のように表示されます。

図3:作業前のソリューションエクスプローラの状態
図3:作業前のソリューションエクスプローラの状態

 この中から最上位に当たるシステムダイアグラム(この場合は「AllSystem.sd」を開きます。システムダイアグラムが表示されたら、適当なところで右クリックし、図4に示すように[配置の定義]を選択します。

図4:[配置の定義]の選択
図4:[配置の定義]の選択

 配置の定義の設定を行うダイアログが表示されます。ここでは、論理データセンターダイアグラムが、図2に示したものと同じもの(この場合は「ExsampleLogicalDataCenter」)になっていることを確認して[OK]を選択します。

図5:[配置の定義]のダイアログウィンドウ
図5:[配置の定義]のダイアログウィンドウ

 これで、新しく「<システムダイアグラム名>1.dd」(この場合は「AllSystem1.dd」)という名前の配置ダイアグラムが作成されます。

図6:新しく作成された配置ダイアグラム
図6:新しく作成された配置ダイアグラム

 少し内容を確認してみると、配置ダイアグラム上には、論理データセンターダイアグラムで定義したモデルがあらかじめ表示されています。それぞれのサーバーに注目してみると、サーバー名の下に「システムビューからアプリケーションをドラッグしてバインドします。」と記述されていることが確認できます。ではシステムビューを見てみましょう。通常、Visual Studioのツールボックスが表示されている部分にシステムビューが表示されます(該当部分にシステムビューのタブがある場合はそれを選択すると表示されます。タブもない場合には、Visual Studioの[表示]メニューから[その他のウィンドウ]-[システムビュー]と選択することで表示されます)。

図7:図6の配置ダイアグラムを開いている時のシステムビュー
図7:図6の配置ダイアグラムを開いている時のシステムビュー

 システムビューには同一ソリューション内にあるシステムダイアグラムが階層表示され、それぞれのシステムダイアグラムに含まれるアプリケーションが表示されていることが確認できます。配置ダイアグラムにはこのアプリケーションをドラッグして配置していくことになります。

 では、試しにアプリケーションを1つ配置してみましょう。システムビューから[AllSystem]-[SmartClientSystem]とたどって、[App1ClientApp]を配置ダイアグラムの方にドラッグします。本来は[WindowsClient1]という部分にドラッグするのが正解ですが、試しに他の部分にドラッグしてみてください。例えば、[IISWebServer1]にドラッグしていくと図8のような状態になります。

図8:App1ClientAppをIISWebServer1にドラッグしたところ
図8:App1ClientAppをIISWebServer1にドラッグしたところ

 ポップアップのメッセージで「互換性のある論理サーバーにアプリケーションをバインドします。」という内容が表示されます。メッセージの通りなのですが、[IISWebServer1]に対して、[App1ClientApp]を配置することはできませんという警告メッセージになります。これはアプリケーションや論理サーバーに対して「制約」というものが設定されているためなのですが、制約については後述します。次は[WindowsClient1]にドラッグしてみてください。今度は図9のようになります。

図9:App1ClientAppをWindowsClient1にドラッグしたところ
図9:App1ClientAppをWindowsClient1にドラッグしたところ

 ポップアップメッセージは「アプリケーションをサーバーにバインドするためにドロップします。」という内容になりました。これは、この論理サーバーに対して、アプリケーションを配置できる状態であることを示しています。このまま[App1ClientApp]をドロップすると図10のようになります。

図10:App1ClientAppをWindowsClient1に配置したところ
図10:App1ClientAppをWindowsClient1に配置したところ

 このようにして、当初考えていたアプリケーションとインフラの関係に従って、システムビューにあるアプリケーションを配置ダイアグラム上にドラッグ&ドロップしていくと、図11のようになります。

図11:すべてのアプリケーションを配置したところ
図11:すべてのアプリケーションを配置したところ

 この状態で、システムビューを確認してみると、図12のようになります。

図12:作業終了後のシステムビュー
図12:作業終了後のシステムビュー

 配置ダイアグラム上に配置を行ったアプリケーションには<バインド済み>という表示がされるので、例え数が多くなったとしても、まだ配置していないアプリケーションはどれなのかをすぐに確認できるようになっています(図12上の[Service1]は自分が開発しない外部サービスを定義しているものなので、今回の配置ダイアグラム上には配置していません)。

 ここまでで、論理データセンターにアプリケーションをどのように配置するのか、というモデルを作成することができました。この絵があれば、ぱっと見でもアプリケーションとインフラの関係がどのようになるか分かりやすく伝えることができます。

最上位のシステムダイアグラム以外を選ぶとどうなるか

 同一ソリューション内にはシステムダイアグラムがいくつかあるにも関わらず、あえて最上位に位置するシステムダイアグラムを選択して作業を進めてきました。では、それ以外のシステムダイアグラムを選択した場合にはどうなるでしょうか?

 試しにスマートクライアント部分を定義しているシステムダイアグラム(この場合は「SmartClientSystem.sd」)を開いて、[配置の定義]を実行してみてください。新しい配置ダイアグラムが作成され、ダイアグラム上に選択した論理データセンターダイアグラムの内容が表示されているところまでは変わりません。では、システムビューを確認してみてください。システムビューは図13のようになっているはずです。

図13:SmartClientSystemから配置ダイアグラムを作った場合のシステムビュー
図13:SmartClientSystemから配置ダイアグラムを作った場合のシステムビュー

 選択したシステムダイアグラムの中に含まれるアプリケーションだけがシステムビューに表示されています。論理データセンター自体が巨大で何個かの論理データセンターダイアグラムに分けている時にはシステムダイアグラムと論理データセンターダイアグラムの組み合わせをうまく組み合わせて、作業効率を上げていくことができます。

 次に、同一ソリューション内に含まれるアプリケーションダイアグラム(この場合は「ApplicationDiagram1.ad」)を開いて、[配置の定義]を実行してみてください。配置ダイアグラム上は今までと変わりません。システムビューを確認すると図14のように表示されているはずです。

図14:ApplicationDiagramから配置ダイアグラムを作った場合のシステムビュー
図14:ApplicationDiagramから配置ダイアグラムを作った場合のシステムビュー

 「Default」というシステムダイアグラムの中にフラットにアプリケーションが表示されています。さて、Defaultシステムダイアグラムとは何でしょうか。答えはソリューションエクスプローラにあります。

図15:ソリューションエクスプローラの内容
図15:ソリューションエクスプローラの内容

 「既定のシステム」というソリューションフォルダとその中に「DefaultSystem1_1.sd」というシステムダイアグラムが自動的に作成されています。アプリケーションダイアグラムから配置ダイアグラムを作成することもできますが、暗黙のうちにシステムダイアグラムが作成されてそれを利用している点は押さえておいてください。

 連載の第2回で「システムデザイナはVSTS-AEの中核たる機能である」ということを書きました。システムダイアグラムはアプリケーションダイアグラム、配置ダイアグラム、そして配置ダイアグラムで使うための論理データセンターダイアグラムと強い依存を持っていて、VSTS-AEの機能を使うには避けては通れないということが、ここで再確認していただけたのではないかと思います。

次のページ
設定と制約

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Visual Studio Team System 2008 Architecture Editionを使ってみよう連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3890 2009/05/22 18:23

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング