SHOEISHA iD

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

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

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

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

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


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

設定と制約

 配置ダイアグラムを作成している際に、アプリケーションを配置できる論理サーバーと配置できない論理サーバーが存在していました。これは「制約」というもののせいだと書きました。VSTS-AEで扱うアプリケーションやアプリケーションシステム、論理サーバーなどには、それぞれに設定と制約というものが用意されています。先ほど作成した図12の配置ダイアグラムでも、どの論理サーバーにどのアプリケーションを配置するのかは分かります。しかし、OSは何を使うのか、IISの設定はどのようになってなければいけないのか、と言ったことはダイアグラム上では表現できません。これらを定義するのが設定と制約になります。

 設定と制約は各デザイナで書き込んだり読み込んだりすることができますが、表1に示す通り、デザイナによっては読み取り専用になる場合もあります。

利用できる設定と制約の読み書き
分散デザイナ 設定 制約
アプリケーションデザイナ 書き込み/読み取り 書き込み/読み取り
システムデザイナ 書き込み/読み取り 読み取り
論理データセンターデザイナ 書き込み/読み取り 書き込み/読み取り
配置デザイナ 読み取り 読み取り

 では、設定と制約の具体例を見ていきましょう。

設定

 設定は対象となるもの(アプリケーションや論理サーバーなど)を動作させるために必要な構成要素です。アプリケーションであれば.NET Frameworkのランタイム環境やapp.configやweb.configといったアプリケーション構成ファイルの設定情報が含まれます。では、実際に見てみましょう。VSTS-AEでアプリケーションダイアグラム(この場合は「ApplicationDiagram1.ad」)を開きます。次に、ASP.NET Webアプリケーションのいずれかを選択します。このとき、Visual Studioの下部に[設定および制約]というウィンドウが表示されます(該当部分に設定および制約のタブがある場合はそれを選択すると表示されます。タブもない場合には、Visual Studioの[表示]メニューから[その他のウィンドウ]-[設定および制約]と選択することで表示されます)。[設定および制約]ウィンドウには図16のような内容が表示されているはずです(図16は[設定および制約]ウィンドウをフローティングにした状態でキャプチャしています)。

図16:ASP.NET Webアプリケーションの設定と制約
図16:ASP.NET Webアプリケーションの設定と制約

 図16を見ると[設定と制約]ウィンドウの上部に制約に関する内容が、下部に設定に関する内容が表示されていることが分かります。ここでは、設定のほうを展開してみます。[アプリケーションの設定]-[Directory]-[Configuration]と展開していくとweb.configに記述するような内容を設定できる項目が表示されます。

図17:ASP.NET WebアプリケーションのConfigurationの設定
図17:ASP.NET WebアプリケーションのConfigurationの設定

 図17では、web.configで<system.web>要素の<authentication>構成設定にあたる部分を選択しているものです。右側のドロップダウンで展開しているように、authentication構成要素にある認証モードをドロップダウンから選択して設定することができます。また、左側ツリーメニュー内の[Configuration]を右クリックして[リソースの追加]を選択すると、web.configに用意されている構成要素を追加して、設定内容を追加することもできます。

図18:Configurationへの要素の追加
図18:Configurationへの要素の追加

 また、図16でツリーメニューの一番下に見えている[カスタム設定]という項目では、文字列や数値、日付などの値をキー/値ペアで設定していくことができます。カスタム設定を追加するためには、[カスタム設定]を右クリックして、[カスタム設定の追加]を選択します。

図19:カスタム設定の新規追加
図19:カスタム設定の新規追加

 カスタム設定のダイアログウィンドウが開くのでここで、キー項目となる名前やその値、値の種類などを設定して追加します。

図20:カスタム設定の作成ダイアログウィンドウ
図20:カスタム設定の作成ダイアログウィンドウ

 カスタム設定の追加の際に図20の真ん中左側にある[プロパティとして表示]と言うところをチェックしておくと、以降は、Visual Studioのプロパティウィンドウにこの項目を表示させておくこともできます。いちいちこのウィンドウを開かなくても編集ができるため、便利な機能の1つです。

図21:カスタム設定を追加したアプリケーションのプロパティ内容
図21:カスタム設定を追加したアプリケーションのプロパティ内容

 カスタム設定ウィンドウで設定した名前、値、説明がそれぞれプロパティウィンドウに表示されていることが確認できます。

制約

 制約は対象となるもの(アプリケーションや論理サーバーなど)の相手(アプリケーションからみた場合はアプリケーションを配置する論理サーバーで、論理サーバーからみた場合は論理サーバーがホストするアプリケーション)に対して、満たしてほしい条件を設定しておくためのものです。

 では、実際に見てみましょう。Visual Studioで論理データセンターダイアグラム(この場合は「ExsampleLogicalDataCenter1.ldd」)を開きます。次にWindowsClientを選択します。内容は少し異なりますが、先ほどと同様に[設定および制約]ウィンドウに、制約に関する項目と設定に関する項目が表示されます。

図22:WindowsClientの設定と制約
図22:WindowsClientの設定と制約

 ツリーメニューの[論理サーバーの設定]以下については、設定できる項目はOSのバージョンや.NETのバージョンなどになって異なりますが、さきほど見てきたことと同様のことが行えます。ここでは、[アプリケーションの制約]となっている部分に注目していきましょう。図22で[アプリケーションの制約]の1つ下の階層を見ると「XXXXApplication」となっているものがあります。これはこの論理サーバーがサポートするアプリケーションは何かを示しています。この場合は、図22に表示されている3つがサポートされます。

 では、次に[WindowsApplication]を展開してみましょう。[WindowsApplication]-[ユーザー定義]-[Dictionary]-[Configuration]と展開すると先ほど、ASP.NET Webアプリケーションの設定で見ていたような項目が表示されます。

図23:制約のWindowsApplication部分を展開したところ
図23:制約のWindowsApplication部分を展開したところ

 これらはデフォルトではグレー表示ですが、ツリーメニューでチェックをつけることで編集可能となります。ここで設定した内容はすべてホストするアプリケーションに求める設定を表します。つまり、アプリケーションの構成ファイル(ここではWindowsアプリケーションをホストするのでapp.configファイル)に書かれてなければいけないことを指定することができます。一方、先ほど見ていたアプリケーションでも論理サーバーに求める制約を決めておくことができます。双方で設定と制約を活用し、絵には直接表現されないより細かなレベルでの要求事項を的確に伝えていくことができるようになります。

次のページ
再び配置ダイアグラムの作成

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

  • 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 X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング