SHOEISHA iD

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

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

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

Visual Studio Team Systemで
アプリケーションモデリング

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

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

モデリングしてみよう

 早速ですが、アプリケーションデザイナで単純なアプリケーションのモデリングを行ってみたいと思います。今回は話を単純にするために、Webアプリケーションがデータベースを必要とするようなアプリケーションを題材にします。非常にシンプルですが、まずイメージを先に示しておきます。次の[図2]はVisioでアプリケーション構成のイメージをレイアウトしたものです。

図2 シンプルWebアプリケーション
図2 シンプルWebアプリケーション

 1台のサーバーには、IIS上で動作するWebアプリケーションがあり、もう1台のサーバーにはデータベースがあるという非常に簡単なものです。まずはこれをアプリケーションデザイナでモデルにしてみます。

モデル作成……その前に

 [図2]に示すのは、非常にシンプルなWebアプリケーションですが、実はこのWebアプリケーションが結構 大規模かもしれません。そうなった場合、考えることの一つに「アプリケーション内部の構造をどう考えるか?」があると思います。例えば、最近何かと話題のASP.NET MVCを使ったMVCモデルのものであったり、レイヤーパターンに基づく多階層構造のものであったりするかもしれません。

 しかし、VSTS-AEに用意されているデザイナはアプリケーションデザイナに関わらず、すべてが「動作可能なひと固まりのアプリケーション」をモデリングの単位としています。このため、MVCモデルやレイヤーパターンといった動作可能なひと固まりのアプリケーションの内部の構造については、アプリケーションデザイナを利用してモデリングを行うことができません。このような内部構造のモデリングを行うためには、Visual Studioに用意されているクラスダイアグラム機能を使ってクラス図を作成するか、従来通りVisio Professionalなどのツールを利用してモデリングを行う必要があります。

 VSTS-AEに用意されているのは「分散デザイナ」と称される機能であり、数百人月とか数千人月かかるような超大規模なシステム開発であったり、SOAのような少し先進的な分散型のシステム開発であったりといったアプリケーションを考えるときに利用されるものです。このような場合には、VSTS-AEの各デザイナを利用して、ひと固まりのアプリケーションがそれぞれどのような制約や条件を持ち、そのうえでお互いがどのように関連しあって動作していくのかをモデリングしていくことができます。

Architecture Editionの変遷と次期Visual Studio Rosarioについて

 このコラムは完全に著者の私見ですが、VSTAやVSTS-AEがどこが中途半端だと感じる原因は次のようなことではないかと考えています。

 VS2005がまだWhidbeyと呼ばれていたころ、DSIやSystem Centerシリーズという構想が発表され、ある規約に基づいてシステムの運用をシステム自身に行わせていこうという夢が語られていました。その規約を表すモデルとしてSDM(System Definition Model)が作られ、SDMを作成するためのツールとして、VSTAが登場したのだろうと思います。しかし、Whidbeyの開発は進んでもDSIの構想は徐々に影をひそめ、System Centerも当時はパッとしたものがありませんでした。そんな中でVSTAをリリースし、その流れをほぼそのままもっているVSTS-AEがリリースされ、どちらも周囲の環境まで含めると製品構想に実装が追い付いていないのではないかと思います。

 次期Visual Studio Team Systemのコードネーム“Rosario”では、ようやくモデリングの機能をアプリケーションの外部だけではなくアプリケーションの内部にまで向けて、UMLをサポートする予定になっています。実装済みコードからのリバースエンジニアリングもサポートする予定で、Architetcure Editionを利用するシーンは大幅に広がることが予想され、今後の動向が注目されるところです。

アプリケーションを配置する

 さて、前置きが長くなりましたが、早速アプリケーションを配置してみましょう。

 Visual Studioを開き、適当な名前でVisual Studioソリューションを作成してください。ソリューションエクスプローラで[新しい分散システムダイアグラム...]を追加します[図3]。新しい項目の追加ダイアログで[アプリケーションダイアグラム]を選択して、追加します[図4]。

図3 新しい分散システムダイアグラムの追加
図3 新しい分散システムダイアグラムの追加
図4 アプリケーションダイアグラムの追加
図4 アプリケーションダイアグラムの追加

 中央にアプリケーションダイアグラムのデザイナが開きます。このとき、通常は左側にあるツールボックスを前面に持ってくると普段はコントロールがたくさん並んでいるところに、[エンドポイント]と[アプリケーション]が表示されています([図5]の左側の部分)。

 [アプリケーション]タグに表示されているものは、Visual Studioで新しいプロジェクトを作成するときに利用する[Visual Studio プロジェクトテンプレート]に似たようなもので、WindowsアプリケーションやWebアプリケーションなどを表すアイテムがあります。

 [エンドポイント]タグに表示されているものは、アプリケーションが外部からの接続を受け付ける口を定義するもので、Webサービス用やデータベース用などを表すアイテムがあります。アプリケーションデザイナを使ってモデルを作成する場合には、ツールボックスのアプリケーションタブから、必要なものをドラッグ&ドロップすることで行います。

 今回の場合は、Webアプリケーションとデータベースからなるアプリケーションなので、アプリケーションタブから、[ASP.NETWebApplication]と[ExternalDatabase]をそれぞれドラッグして配置します。2つの配置が終わると[図5]のようになります。

図5 アプリケーションの配置
図5 アプリケーションの配置

 アプリケーションの配置は以上です。置くだけなので非常に簡単です。以降では、この2つを使って関連付けなどさまざまなポイントを紹介していきます。

次のページ
アプリケーションの設定

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

  • 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/3235 2008/11/25 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング