はじめに
Visual Studio 2005 Team System(以下、VSTS)がリリースされ、Visual Studioのターゲットは開発者の枠を飛び越えることになりました。これはプロジェクトマネージャーからテスターまでを包括的にカバーし、チーム開発を強力に支援する製品としてリリースされましたが、まだまだ浸透していないように思います。今回は、VSTSのうち、設計者向けにリリースされたVisual Studio 2005 Team Edition for Software Architects(以下、VSTA)に用意されている分散デザイナ機能について、それぞれの概要を紹介します。
対象読者
- .NET Frameworkを利用した開発プロジェクトに携わっている人
- Visual Studio 2005 Team Systemに興味がある人
必要な環境と準備
サンプルファイルの内容を確認するためには以下の環境が必要となります。
- Visual Studio 2005 Team Edition for Software Architects、またはVisual Studio 2005 Team Suiteがインストールされていること
- SQL Server 2005のいずれかのエディションがインストールされていること
VSTAの4つの機能
VSTAには、大きく分けて以下の4つのデザイナ機能が用意されています。
- アプリケーションデザイナ
- システムデザイナ
- 論理データセンターデザイナ
- 配置デザイナ
VSTAではこれら4つの機能を合わせて「分散システムデザイナ」と呼びます。「VSTAに用意されている分散デザイナ」のような言い方をする場合には、その実態として上に挙げた4つの機能のことを指しています。
分散システムデザイナに用意されているさまざまな機能を利用することで、アプリケーション設計者、開発者、インフラ設計者のそれぞれがアプリケーションの形態や接続状況を確認したり、アプリケーションが配置される物理的な環境のモデルを確認したり、といった作業を通じて全体が矛盾なく設計されていることを確認できます。
プロジェクトの早期の段階では必ずと言って良いほどこのような作業が発生すると思いますが、VSTAの機能を利用することで作成した成果物の管理や以降の工程へのシームレスな連携といったメリットを受けることができるようになります。
それでは、分散システムデザイナに用意されている4つの機能のそれぞれについて、具体的にどのようなものであるか見ていきましょう。
アプリケーションデザイナ
アプリケーションデザイナを利用すると、これから開発する予定のWindowsアプリケーションやASP.NET Webアプリケーション、ASP.NET Webサービスなどのアプリケーションを視覚的にデザインすることができます。
デザインした一つ一つのアプリケーションには、そのアプリケーションに求められるさまざまな条件、例えばあるASP.NET Webアプリケーションでは、Forms認証が必要など、をアプリケーションデザイナの「設定および制約」として定義できます。
さて、読者の方が普段作成しているような業務システムのアプリケーションは、一つの実行可能形式(.exeなど)で構成されていることはごく希だと思います。通常、一つのアプリケーションは、複数の実行形式(.exeなど)や複数の共有ライブラリ(.dllなど)から構成されていることがほとんどです。今まで単に「アプリケーション」という単語を利用して説明をしてきましたが、VSTAという製品の中では、「アプリケーション」は一つの実行可能な形式のことを指します。Visual Studioのプロジェクトで言えば、Windowsアプリケーションやコンソールアプリケーション、ASP.NET WebアプリケーションといったVisual Studioテンプレートから生成されるプロジェクトはVSTAの中で1つのアプリケーションという単位になります。一方、クラスライブラリやWindowsコントロールライブラリなどのVisual Studioテンプレートから生成されるプロジェクトはそれだけで実行可能な形式ではないので、VSTAでのアプリケーションという単位にはなりません。長々と説明してしまいましたが、VSTAのアプリケーションデザインとはあくまでも実行可能形式の単位でデザインを行うことを指します。
このことを念頭に置いた上で、例えばASP.NET Webサービスを利用するASP.NET WebアプリケーションとWindowsアプリケーションをデザインすると次のようになります。
ここで、それぞれのアプリケーションは、エンドポイントというもので接続されています。エンドポイントとは、定義した各アプリケーションに接続するための口のようなものです。ですので、エンドポイントはアプリケーションごとにDatabaseエンドポイントや、Webサービスエンドポイントなどが用意されています。例えば、図3中央には、ASP.NET WebサービスのCatalogというものを定義し、Catalogの上部には、CatalogWebServiceという名のWebサービスエンドポイントが定義されています。アプリケーション同様、エンドポイントにも設定と制約を定義することができ、これにより通信手段の限定などの設定を行うことができます。
アプリケーションデザイナで業務システムなどに必要な一連の実行可能形式の定義が終了したら、次はそれを設計者や担当者が分かりやすいような論理的な単位にまとめるための作業を行います。これには、システムデザイナを利用します。