Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト
Visual Studio 2005
|MSDN ライブラリ|デベロッパー センター|ダウンロード情報|開発ツール製品|コミュニティ|ご意見・ご要望|サイトマップ
MSDN Home   MSDN Home
MSDN Home > Visual Studio > 技術情報 > 分散システム デザイナを使用したアプリケーションの配置

分散システム デザイナを使用したアプリケーションの配置

 

Ali Pasha、Krishnakumar Balasubramanian
Visual Studio Team Edition for Software Architects
Microsoft Corporation

April 2006
日本語版最終更新日 2007 年 4 月 25 日

適用対象:
   Visual Studio 2005 Team Edition for Software Architects

概要: Visual Studio 2005 Team Edition for Software Architects の分散システム デザイナには、分散システムの配置の設計、開発、および検証のための環境が用意されています。 それ以外に、配置をスクリプト記述するときに使用できる配置レポートなどの成果物も、分散システム デザイナによって生成されます。 このホワイト ペーパーの目的は、配置レポートを使用したアプリケーションの配置の概要を示すことにあります。

目次

分散システム デザイナ
配置の際に配置レポートを使用する理由
配置レポートの理解
サポートされているアプリケーション
配置環境用のアプリケーションの構成
ASP.NET アプリケーション
Windows アプリケーションと Office アプリケーション
将来の方向
まとめ

分散システム デザイナ

Visual Studio Team Edition for Software Architects では、サービス指向ソリューションを画面上で構築してから、その配置の前に運用環境に照らして検証することによって、これを適正に完成できる可能性を高める機能が設計者、運用管理者、および開発者向けに用意されています。 そのような目的を達成するために使用するツールを、分散システム デザイナと呼びます。 これは、アプリケーション デザイナ、システム デザイナ、論理データ センター デザイナ、および配置デザイナの 4 つのデザイナの集合です。 これらのデザイナの詳細は、製品資料内の分散システム デザイナの概要を参照してください。

分散システム デザイナの鍵となる出力が配置レポートです。 配置レポートの 1 つの目的は、ソフトウェア設計者およびインフラストラクチャ設計者の間のコミュニケーションを向上し、配置の正常完了の可能性を高めることにあります。 配置レポートの別の目的として、配置の自動化があります。これが、この資料の中心トピックになります。

配置の際に配置レポートを使用する理由

分散システム デザイナを使用して、ターゲット環境に合わせて構成されたシステムのアーキテクチャを、論理データセンターに照らして検証します。すると、システムに記述されている構成が配置する実際のシステムを反映している場合には、配置が正常に完了する可能性が高まります。 また、ターゲット環境が、検証で使用する論理データセンターに等しい場合にも、それは当てはまります。

したがって、配置の正常完了にとって、配置レポートが非常に重要になります。 配置レポートはアプリケーションの用途、ターゲットのデータセンター環境、およびアプリケーションから論理サーバーへのバインドに関する情報を捕捉することによって、ユーザー側での正常配置をさらに確実化します。

  • 設計段階で構想し検証した、各アプリケーションのターゲット環境での用途に合わせた構成情報を提供することで、アプリケーションがその配置中に必ず正しく構成されるようになります。
  • 論理データ センターに関する情報を提供することによって、ターゲットの物理環境のアサーションを確立して検証できるようにします。

配置レポートの理解

簡単に言うと、配置レポートとは各種分散システムのダイアグラム全域中の、配置に必要なアプリケーション、論理サーバー、ゾーン、およびエンドポイントに関連したデータの寄せ集めです。 詳細は、製品資料中の配置レポートの作成を参照してください。

配置レポートを生成すると、機械可読レポートおよび通常の読み取り可能なレポートが作成されます。 通常の読み取り可能な (つまり HTML) バージョンの配置レポートは、分散システムの配置および運用の担当者に対する、分散システムでの要件および情報の伝達時に使用するためのものです。 機械可読 (つまり XML) バージョンの配置レポートには、配置の自動化に必要な情報が収められています。 この記事の後半では、機械可読バージョンのレポートを取り上げます。

配置デザイナで [Project files] プロパティが正しく設定されていれば、配置レポートを生成することで、配置対象のアプリケーションのディレクトリを作成することができます。 作成したディレクトリは、[Destination Path] プロパティを使用して指定したパス上に置かれます。その構成では、対応する Visual Studio ソリューション階層内のファイルおよびディレクトリの編成が反映されます。 配置の正常完了に必要なものは、このプロパティと、機械可読バージョンの配置レポートだけです。

配置レポートには、次のような情報配置が記載されています。

  • Applications - これには、配置しようとしているシステムを構成するアプリケーションおよび複合システムの定義が入っています。 このシステムのどのメンバにも、配置用に構成できる設定、リソース、およびエンドポイントが備えられています。
  • LogicalServers - これには、アプリケーションのインストール中にターゲット マシン上で設定、または検証する必要がある論理サーバーの構成に関連した、すべての情報が入っています。
  • Binding - これには、アプリケーションと論理サーバーの間のバインディングに関する情報が入っています。 これを使用して、各アプリケーションの配置先となる論理サーバーと、最終的には物理サーバーを識別します。
  • Errors - これには、配置内容の検証中に生成されたエラーに関する情報が入っています。 配置での目標として、このレポート中に一切エラーがないことを確認してください。なぜなら、この要素の下にエラーが存在すると、通常は配置の準備がシステムで整っていないことを示唆するからです。

サポートされるアプリケーション

配置レポートを使用して配置できるアプリケーションは、ASP.NET Web アプリケーション、Windows アプリケーション、および Office アプリケーションだけです。 汎用アプリケーション、外部 Web サービス、外部データベース、および BizTalk Web サービスなどのその他のアプリケーション タイプはすべて、外部アプリケーションの表示用のアプリケーションです。 外部アプリケーションはソリューションに対して外部であるため、そのような外部アプリケーションの配置は、配置レポートの有効範囲外になります。

カスタムのシステム定義モデル (SDM) タイプを使用して、サポートされていないアプリケーション タイプに関する配置情報を取得することができます。 その場合、SDM タイプによってモデル化されたアプリケーションを配置するために、SDM タイプの作成中に配置プロセスを定義しておく必要があります。SDM SDK の詳細は、製品資料中の System Definition Model (SDM) SDK を参照してください。

配置環境用のアプリケーションの構成

分散システム デザイナを使用して設計し実装したアプリケーションの場合、開発環境からテスト配置環境へのアプリケーションの移行が反映されるように、構成設定に修正を加える必要があります。 したがって、配置用にアプリケーションを構成するときは、以下の点に留意する必要があります。

  • アプリケーションの用途 - アプリケーションの配置時には、アプリケーション デザイナ内には 1 つのアプリケーション タイプしかないのに対して、配置先のシステムでは、そのアプリケーション タイプの用途は複数存在する可能性があることに注意が必要です。 よくある例としては、それぞれ異なるセキュリティ設定を装備した、2 つの別々のサーバーに配置されるフロントエンド アプリケーションが挙げられます。 配置レポートの生成時には、各アプリケーション タイプごとに 1 つのディレクトリしか作成されないので、配置プロセスでは、配置レポート内の情報を使用して、それぞれの用途が個別に構成されるように各用途が作成される必要があります。
  • 配置の設定 - システム デザイナおよび論理データ センター デザイナ内のどちらの設定にも、配置チェック ボックスが設けられています。 その配置チェック ボックスを選択すると、配置時にその設定の提供が可能であることが示されます。 そうでなければ、配置レポート内の Fixed 属性は true に設定されています。 その場合、配置レポートで提供される設定を配置中に使用する必要があります。
  • 物理サーバーに対する論理サーバーのマッピング - 最終的な目標は、各アプリケーションを物理サーバーに配置することにあります。 互換性のある物理サーバーを論理サーバーにマッピングすることによって、アプリケーションのターゲット宛先を決定できます。 そのマッピングでは、論理サーバーにマップされる物理サーバーは、論理サーバーの構成に準拠しなければなりません。それによって、アプリケーションの配置が確実化されます。 多くの場合、ユーザーは通常の読み取り可能なバージョンの配置レポートを使用して、各論理サーバーをどの物理マシンにバインドすればよいかを判別できます。

この後の項では、配置を正常に完了できるよう、さまざまな配置設定の概要と、正しい設定を使用したアプリケーションの構成方法を示します。

ASP.NET アプリケーション

アプリケーションの設定の更新

どのアプリケーション タイプでも、システム デザイナに複数の用途を定義できます。 ターゲット宛先ディレクトリに置かれている Web.config ファイルには、開発中に構成された構成設定だけが収容されています。 これは、ターゲットの配置環境には適していません。 配置レポートでは構成リソースには、配置時に使用する必要のある構成設定値が入っています。ASP.NET アプリケーションの各用途ごとに、それらの値を使用して Web.config を更新する必要があります。SDM リソースを Web.config ファイル内の構成要素にマップする方法の詳細は、製品資料を参照してください。

エンドポイント

どの ASP.NET Web アプリケーションでも、プロバイダおよびコンシューマのエンドポイントが配置レポートに定義されています。 図 1 は、ターゲット環境での通信を可能にするために実行する必要のあるアクションを、コンシューマ エンドポイントの各タイプごとに示しています。 そのようなアクションについて、この後の項で解説します。

図 1. 構成ファイルの設定の更新

Web サービスのコンシューマ エンドポイント

各 Web サービス コンシューマ エンドポイントを構成して、ターゲット環境内の Web サービス プロバイダ エンドポイントに接続できるようにしなければなりません。 クライアントがサービスを利用するときは絶対 URI を使用するので、Web サービス プロバイダ エンドポイントの絶対 URI が解決されなければなりません。 絶対 URI を決定したら、接続元のコンシューマ エンドポイントを構成することができます。Web サービス コンシューマを構成するときは、Web サービス コンシューマ エンドポイント上で [Config File Entry] 設定の値を使用して、Web.config ファイル内の値に一致する key 属性を持った appSettings 要素を見つけ出します。 対応する Web サービス プロバイダ エンドポイントから取り出した絶対 URI にあわせて、appSettings 項目を更新します。

データベース コンシューマ エンドポイント

ASP.NET Web アプリケーションがデータベースに接続されている場合、配置時に指定されたターゲット データベース サーバーを指すように、データベース コンシューマ エンドポイントを更新する必要があります。 そのためには、エンドポイント上で [Config File Entry] 設定の値を使用して、Web.config ファイル内の値に一致する name 属性を持った connectionStrings 項目を見つけ出してから、ターゲット環境のデータベース接続文字列にあわせて、その connectionStrings 項目を更新します。

Web コンテンツ コンシューマ エンドポイント

Web サービス コンシューマの URI を解決するのに使用したのと同じ方策を、Web コンテンツ エンドポイントの絶対 URI の判別でも使用することができます。 配置プロセスでは、クライアントからの Web コンテンツへのアクセスに備えて、ターゲットの配置環境で使用される URI に関する情報を手動で修正するか、またはクライアントに通知する必要があります。

ASP.NET アプリケーションの配置の場合の IIS サーバーの必要条件

論理サーバーへのアプリケーションのバインディングとは、論理サーバーとして構成されている物理サーバーにアプリケーションを配置することを指します。 したがって、配置プロセスの一環として、そのアサーションを検証することをお勧めします。

どの IIS Web サーバーにも InternetInformationServices リソースが組み入れられています。このリソースには、IIS メタベース構成、Web サーバーに関連したオペレーティング システム設定を表す OperatingSystemDescription リソース、論理サーバー上の CLR のバージョンを表す CommonLanguageRuntime リソースが組み入れられています。 配置プロセスでは、これらのリソースを使用して、ターゲットの物理 IIS Web サーバーが所定どおりに構成されていることを検証する必要があります。

IIS への ASP.NET アプリケーションの配置

Web サーバー上の各 Web サイトは、エンドポイントとして表されます。Web サーバー上の定義済みの各 Web サイトごとに、ユーザーはターゲット サーバー上に Web サイトを作成するか、または既存の Web サイトを使用するかを決定する必要があります。

Web サイトを作成する場合、サーバーのバインディング、すなわち IP アドレスおよびポート番号を構成する必要があります。 サーバー バインドを設定するには、論理データ センター デザイナで IIS Web サーバー上の各 Web サイト エンドポイントに関連した ServerBindings という設定値を使用します。 セキュア ポート (HTTPS) を使用可能にするには、ServerBinding ではなく、各 Web サイト エンドポイントに関連した SecureBindings 設定値を使用します。

既存の Web サイトを使用する場合、ServerComment 設定値を使用して、該当する Web サイトを見つけ出します。

IIS メタベース設定の更新

IIS メタベースとは、IIS 構成設定を保管するための構造のことです。 配置レポートでは、IIS メタベース設定は、InternetInformationServices リソースの下に置かれています。IIS サーバーに配置する各 ASP.NET アプリケーションごとに、配置中にそのアプリケーションを構成するための IIS メタベース設定が必要になります。 一部の SDM 設定には、それと同等の IIS メタベース設定とは異なる名前と値が付帯しています。 ユーザーにとって分かりやすい設定名および値を提供するために、このような措置がとられています。 したがって、IIS メタベース設定値を設定するときには、名前またはタイプの変換を行う必要があります。 変換方法の詳細は、IIS メタベースから SDM 設定へのマッピングを解説している製品資料を参照してください。

Windows アプリケーションと Office アプリケーション

この後の項で説明されているとおり、Windows アプリケーションも、配置用に構成する必要があります。Windows アプリケーションとは別に、Word 文書、Word テンプレート、Excel ワークブック、Excel テンプレート、Outlook アドインの 5 種類の Office プロジェクト テンプレートも、分散システム デザイナでサポートされます。Office アプリケーションは、Windows アプリケーションに似た構成を持っていますが、その配置要件は異なります。

Office ソリューション アーキテクチャの概要に、Excel および Word アプリケーションとホスト、つまり Microsoft Office との間の対話が説明されています。 Visual Studio 2005 Tools for Office での Outlook アドイン サポートのアーキテクチャ には、Outlook アドインと Microsoft Office との間の対話が説明されています。

アプリケーションの設定の更新

ASP.NET アプリケーションなどの、どの Windows アプリケーション タイプでも、システム デザイナに複数の用途を定義できます。 したがって各用途ごとに、構成ファイル内で構成設定を修正する必要があります。 それは、ASP.NET アプリケーションに関して上記で述べた方法に類似したやり方で行うことができます。

エンドポイント

外部サービス (データベースまたは Web サービス) を利用するすべての Windows アプリケーションは、サービス プロバイダに接続する必要があります。 それぞれのコンシューマの URI を判別した後、ASP.NET アプリケーションの項で述べたとおりにクライアントの構成を修正して、サービスを利用できるようにする必要があります。Web サービス コンシューマ エンドポイントを構成するのに使用する構成設定は、ASP.NET アプリケーションのものとは異なります。 構成を更新するには、同じ Web サービス コンシューマ エンドポイント上で [Config File Entry] 設定の値を使用して、構成ファイル内の値に一致する値を持つ name 属性を持った ApplicationSettings 項目を見つけ出します。 対応する Web サービス プロバイダ エンドポイントから取り出した絶対 URI にあわせて、ApplicationSetings 項目の内容を更新します。

Windows アプリケーションまたは Office アプリケーションの配置

Windows クライアント サーバーとは、Windows アプリケーションおよび Office アプリケーションをホストするときに使用される Windows サーバーのことをいいます。 各 Windows クライアント サーバーには、Windows クライアント サーバーに関連したオペレーティング システム設定を表す OperatingSystemDescription というリソースと、論理サーバー上の CLR のバージョンを表す CommonLanguageRuntime という別のリソースが組み入れられています。 これらのリソースで定義されている設定値を使用して、ターゲット マシンでのインストール要件を定義する必要があります。

Office アプリケーションには、さらに別の配置要件があります。 したがって、Office アプリケーションの配置時には、以下の前提条件がインストール済みであることを確認してください。

  • Microsoft .NET Framework バージョン 2.0
  • Microsoft Visual Studio Tools for Office ランタイム
  • Microsoft Office 2003 SP1
  • Microsoft Office プライマリ相互運用機能アセンブリ

Outlook アドイン プロジェクトには、配置用のさらに別の情報が必要です。それについては、Visual Studio 2005 Tools for Office での Outlook アドイン サポートのアーキテクチャ に説明されています。

将来の方向

分散システム デザイナは、Microsoft 全社の Dynamic Systems Initiative (DSI) の中核を成します。その目的は、企業が分散システムを設計、配置、および運用する方法を簡略化および自動化することにあります。Visual Studio Team Edition for Software Architects の分散システム デザイナは、より進歩した構造のシステムを、より少ない配置作業でユーザーが作成できるように支援するツールの、最初のリリースです。

検討中の将来の方向としては、配置用の追加のアプリケーションおよび論理サーバーの有効化のためのパートナーとの共同作業、アプリケーションおよび論理サーバーの抽象概念の改善、アプリケーションの配置の改善、およびビルド プロセスへの配置の統合の改善などがあります。

まとめ

たいていのシステムは、ターゲット環境では開発環境のものとは異なる構成になるため、Visual Studio Team Edition for Software Architects には、設計者向けに、個々のターゲット環境にとって望ましい構成または見込みの高い構成を記述するツールが用意されています。 配置の前に論理データ センターに照らしてシステムを検証できるので、検証済みのシステムが配置時に所定どおりに構成された場合は、配置が正常に完了する可能性は高くなります。 したがって、配置レポートを使用して、配置時にシステムを構成することが不可欠になります。 しかも検証が有用であるのは、論理データ センターがターゲットの物理データ センターを反映している場合のみです。 したがって、配置レポートを使用して、ターゲットの物理データ センターに関して設計者が正しく想定していることを配置の前に検証することも不可欠です。

 


著者の紹介

Ali Pasha は、パキスタンのラホール大学 (Lahore University of Management Sciences (LUMS)) で情報科学の学業を修めました。 同氏は、カラチで職に就いた後、米国に渡ってダートマス大学でエンジニアリング マネージメントの学位を取得しました。 この 2 年間、同氏はマイクロソフト社で Visual Studio 部門のプログラム マネージャの任に赴き、接続システム ソフトウェア ファクトリに取り組んでいます。 接続システム ファクトリの最初の成果物は、Microsoft Visual Studio 2005 Team Edition for Software Architect の分散システム デザイナとしてリリースされました。 同氏が最も関心を寄せているのは、Web サービスのコントラクトファースト開発です。 同氏が主催するブログは http://blogs.msdn.com/a_pasha (英語) に掲載されています。

Krishnakumar Balasubramanian は、バンダービルト大学の電気工学および情報科学学科を卒業しました。 同氏が主眼を置いている研究は、モデル駆動の開発と、分散、リアルタイム、および組み込みのシステム用のコンポーネント ミドルウェアおよびフレームワークの配置および構成です。 同氏は、2005 年夏期にマイクロソフト社のプログラム マネージャ次長を務め、このホワイト ペーパーの基盤となったプロトタイプの配置ツールに取り組みました。 また同氏は、セント ルイスのワシントン大学から情報科学の MS を授与されました。同氏の連絡先は kitty@dre.vanderbilt.edu (英語) です。


Microsoft