配置レポートのアプリケーション情報
更新 : 2007 年 11 月
XML 形式の配置レポートには、分散システムに配置する必要があるアプリケーションの情報が <Applications> 要素に格納されます。この情報は、アプリケーションに対して配置に必要な構成を適用するために必要となります。この要素には、そのシステム内のアプリケーションに関する情報だけが含まれる場合もあれば、そのシステム内の他のシステムの情報が含まれることもあります。この要素には、各アプリケーションの設定、リソース、およびエンドポイントに関する情報も格納されます。詳細については、「配置レポートの主要なセクションの概要」を参照してください。
たとえば、"既定" のシステムを対象に配置レポートを生成した場合、この要素には、その既定のシステム内のすべてのアプリケーションが含まれます。このとき、他のシステムは含まれません。ただし、既定のシステムは、配置環境ではなく開発環境において、これらのアプリケーションがどのように接続され、構成されるかを表しています。詳細については、「アプリケーション ダイアグラムとシステム ダイアグラムから作成される配置定義」を参照してください。
<Applications> 要素には、配置レポート内の各アプリケーションを識別する少なくとも 1 つの <Application> 要素が存在します。以下のセクションで、<Application> 要素について詳細に説明します。
Application Information in the <Application> Element
Paths to Application Files
Configuration File Settings for Applications
IIS Metabase Settings for ASP.NET Applications
Information about Application Connections
Web Service and Web Content Absolute URIs
<Application> 要素のアプリケーション情報
次の例には、Windows アプリケーションの <Application> 要素が含まれています。Windows アプリケーションであることは、"Extends" 属性 "Microsoft_WindowsApplication:WindowsApplication" によって識別されます。
<Application Name="MyWinAppUse" Definition="MyWinAppDefinition:MyWinAppDefinition" Extends="Microsoft_WindowsApplication:WindowsApplication" InstanceId="ed22d434-f40d-48b1-bbec-0b4e93ad2a9f">
...
</Application>
この要素では、次の情報を確認できます。
配置に必要なアプリケーション ファイルのパス。
アプリケーション構成ファイルで更新する必要のある設定。
配置用の ASP.NET アプリケーションに必要なインターネット インフォメーション サービス (IIS) メタベース設定。
アプリケーションの接続情報。
Web サービスおよび Web コンテンツのプロバイダ エンドポイントの絶対 URI (配置場所)。
配置レポートに含まれるファイルの種類、設定、およびその他情報は、アプリケーションの種類によって異なります。
アプリケーション ファイルのパス
配置レポートには、アプリケーションを配置するために必要なファイルのパス情報が記録されます。たとえば、ライブラリ、実行可能ファイル、コンテンツ ファイル、構成ファイルなどがこれに該当します。この情報は、こうした配置の対象となるファイルを特定するために必要となります。ただし、配置レポートを生成する前に、これらのファイルのコピー先となる場所を指定しておく必要があります。この場所は、配置レポートの生成に使用する配置ダイアグラムの Destination Path プロパティで指定できます。さらに、ソース、コンテンツ、バイナリの各ファイルを含めるかどうかを、対応するプロパティを使って指定できます。したがって、これらのファイルをコピー対象に含めておけば、指定した場所から必要なファイルを収集することも可能です。配置レポートを生成すると、生成プロセスによって適切なプロジェクト ディレクトリが作成され、その場所にファイルがコピーされます。詳細については、「方法 : 配置レポートを生成する」を参照してください。
メモ : |
---|
アプリケーション ダイアグラム上での実装をサポートするアプリケーション定義のソリューションには、各定義につき、対応するプロジェクトが 1 つしか存在しません。しかし、実際に配置しているシステムには、その定義のユース (利用形態) が複数存在することがあります。たとえば、同じシステムでも、セキュリティ設定の異なる複数のユースがあり、それぞれ異なるサーバーに配置するようなケースが考えられます。配置レポートには、こうした複数のユースが記録されます。ただし、生成プロセスでは、これらすべてのユースについて、プロジェクト ディレクトリが 1 つしか作成されません。したがって、実際の配置プロセスで、配置レポートの情報を用いながら、個々のユースを作成して構成する必要があります。 |
配置レポートでは、ASP.NET、Windows、Office の各アプリケーションについて、それぞれ対応する <Application> 要素があり、さらに、その子として "Directory" という名前の <Resource> 要素が存在します。"Directory" 要素には、出力場所のディレクトリや、そこにコピーされるファイルについての情報を含んだ <Resource> 要素が存在します。詳細については、「配置出力ファイルの場所とディレクトリ構造」を参照してください。
"Directory" 要素内の各 <Resource> 要素は、出力場所のファイル システム パスを基準とするファイルまたはディレクトリを表しています。ディレクトリを表す <Resource> 要素には、そのサブディレクトリを表す別の <Resource> 要素が存在することもあります。ただし、ファイルを表す <Resource> 要素については、すべてリーフ レベルとして存在します。
メモ : |
---|
この一連の <Resource> 要素は、ソリューションのプロジェクト構造と同じ階層を持ちます。ただし、同じレベルのディレクトリであっても、<Resource> 要素の出現順序とソリューション内またはディスク上におけるフォルダの出現順序とは必ずしも一致しません。また、ソリューション内でプロジェクトの名前を変更しても、ディスク上の対応するフォルダ名は変更されません。ただし、出力場所のプロジェクト ディレクトリは、ソリューションにおけるプロジェクト名ではなく、ディスク上のプロジェクトのフォルダ名に基づいて作成されます。したがって、出力場所におけるプロジェクト ディレクトリの名前は、ソリューションにおけるプロジェクトの名前と異なる場合があります。 |
さらに、ディレクトリまたはファイルを表す <Resource> 要素には、それぞれ "Path" という名前の <Setting> 要素が存在します。"Path" 要素には、"Assigned"、"Parent"、"Current" の 3 つの <Facet> 要素が存在します。
次の表でこれらの要素について説明します。
<Facet> 要素 |
説明 |
---|---|
"Assigned" |
配置レポートの Destination Path プロパティで指定された出力場所のパスが格納されます。ただし、この値は "Directory" 要素内の "Path" 要素にのみ存在します。 |
"Parent" |
サブディレクトリまたはファイルの親ディレクトリの、プロジェクト ディレクトリを起点としたパスを格納します。ただし、この値はサブディレクトリまたはファイルの "Path" 要素にのみ存在します。
メモ :
プロジェクトに親ディレクトリが存在する場合、"Directory" 要素内の "Path" 要素の "Parent" 要素には、この親ディレクトリへのパスは含まれません。
|
"Current" |
プロジェクト ディレクトリを起点とした、サブディレクトリまたはファイルのパスを格納します。この値は、プロジェクト ディレクトリ、サブディレクトリ、またはファイルの "Path" 要素に存在します。 |
したがって、"Directory" 要素内の "Path" 要素の "Assigned" 要素と、サブディレクトリまたはファイルの "Current" 要素とを組み合わせることによって、サブディレクトリまたはファイルの完全パスを取得できます。
メモ : |
---|
有効なパスを作成するには、適宜、円記号 (\) を追加する必要があります。 |
詳細については、「方法 : 配置レポートで配置出力ファイルのパスを見つける」および「配置出力ファイルの場所とディレクトリ構造」を参照してください。
アプリケーションの構成ファイルの設定
システム内のアプリケーションの各ユースについて、構成ファイル (ASP.NET アプリケーションの場合は Web.config、Windows アプリケーションと Office アプリケーションの場合は App.config) を適切な配置設定で更新する必要があります。初期状態での構成ファイルの設定は、あくまで、開発環境におけるアプリケーションの構成を表しています。配置環境におけるアプリケーションの構成ではない点に注意してください。ただし、配置に必要な構成ファイルの設定は、配置レポートから得ることができます。
アプリケーションの <Application> 要素には、"Directory" という名前の <Resource> 要素が存在します。詳細については、「Paths to Application Files」を参照してください。この "Directory" 要素には、"Configuration" という名前の別の <Resource> 要素が存在します。この "Configuration" 要素には、配置に必要な構成ファイルの設定を識別する <Setting> 要素と <Resource> 要素が存在します。詳細については、「方法 : 配置レポートでアプリケーション構成ファイルの設定を見つける」を参照してください。
メモ : |
---|
通常、配置レポート内の構成ファイル設定には、構成ファイルの対応する設定と同じ名前が付きます。ただし、配置レポートにおける設定のリソース名が、構成ファイルの対応するセクションと異なる場合があります。詳細については、「配置レポートの構成ファイル セクション」を参照してください。 |
ASP.NET アプリケーションの IIS メタベース設定
ASP.NET アプリケーションの <Application> 要素には、"WebApplication" という名前の <Resource> 要素が存在します。この "WebApplication" 要素には、配置に必要な IIS メタベース設定を表す <Setting> 要素が存在します。ただし、一部の設定については、名前、値、または型が IIS の対応する設定と異なります。これらの構成をターゲット サーバーに適用する際は、あらかじめ変換しておく必要があります。詳細については、次のトピックを参照してください。
アプリケーションの接続に関する情報
<Application> 要素には、アプリケーションのエンドポイントごとに <Endpoint> 要素が存在します。エンドポイントが別のエンドポイントに接続されている場合、<Endpoint> 要素には、"ConnectedToEndpoints" という名前の <Setting> 要素が存在します。この "ConnectedToEndpoints" 要素を使用すると、そのエンドポイントに接続されたすべてのエンドポイントを識別できます。"ConnectedToEndpoints" 要素には、接続されたエンドポイントの "InstanceId" 属性と一致するグローバル一意識別子 (GUID) が格納されます。<Endpoint> 要素の他の <Setting> 要素には、そのエンドポイントの設定に関する情報が格納されます。
ヒント : |
---|
これらの設定は、(配置ダイアグラムの作成に使用した) アプリケーション ダイアグラムまたはシステム ダイアグラム上でエンドポイントを選択することによって確認できます。次に、設定および制約エディタで [アプリケーション エンドポイントの設定] ノードを表示します。詳細については、「設定および制約エディタ」を参照してください。 |
次の例には、Web サービス コンシューマ エンドポイント (Windows アプリケーション側) の "ConnectedToEndpoints" 要素が存在します。この要素には、接続された Web サービス プロバイダ エンドポイント (ASP.NET Web アプリケーション側) を識別する GUID が格納されています。同様に、Web サービス プロバイダ エンドポイントの <Endpoint> 要素を見ると、接続された Web サービス コンシューマ エンドポイントの GUID 値を格納する "ConnectedToEndpoints" 要素が存在することがわかります。
<Application Name="MyWinAppUse" Definition="MyWinAppDefinition:MyWinAppDefinition" Extends="Microsoft_WindowsApplication:WindowsApplication" InstanceId="6b36995a-a6cf-47d6-9dcb-679d07db23ef">
<Endpoint Name="MyWebServiceConsumer" Definition="MyWinAppDefinition:MyWinAppDefinition.WebServiceConsumer1" Extends="Microsoft_Web:WebServiceClient" InstanceId="a18fb424-c1a4-49e3-b4af-e6d7e2e9d063"><Setting Name="ConnectedToEndpoints" Definition="System:Guid" State="Set" List="true"><Value>9c4e0dc0-a29d-4bb7-8061-a9d3e2075581</Value></Setting>
...
</Endpoint>
...
</Application>
<Application Name="MyWebApp1" Definition="MyWebApp1:MyWebApp1" Extends="Microsoft_WebApplication:WebApplication" InstanceId="1a912802-d7f3-4b53-89a5-b8bc7f378411">
...
<Endpoint Name="WebService1" Definition="MyWebApp1:MyWebApp1.WebService1" Extends="Microsoft_Web:WebService" InstanceId="9c4e0dc0-a29d-4bb7-8061-a9d3e2075581"><Setting Name="ConnectedToEndpoints" Definition="System:Guid" State="Set" List="true"><Value>a18fb424-c1a4-49e3-b4af-e6d7e2e9d063</Value></Setting>
...
...
</Endpoint>
...
</Application>
Web サービスと Web コンテンツの絶対 URI
Web サービスまたは Web コンテンツを利用するすべてのアプリケーションでは、その Web サービスまたは Web コンテンツの配置場所に合わせて、コンシューマ エンドポイントを構成する必要があります。Web サービスまたは Web コンテンツを公開する ASP.NET アプリケーションの <Application> 要素には、<Endpoint> 要素が存在します。この <Endpoint> 要素には、"Uri" という名前の <Setting> 要素が存在し、そこに、"Relative"、"Base"、"Absolute" という 3 つの <Facet> 要素が存在します。
次の表でこれらの要素について詳しく説明します。
<Facet> 要素 |
説明 |
---|---|
"Relative" |
Web サービス プロバイダ エンドポイントからの Service URL 設定が格納されます。この設定には、Web サービスの相対 URL または絶対 URL が格納されます。 または Web コンテンツ プロバイダ エンドポイントからの Relative Path 設定が格納されます。この設定には、アプリケーションのルート ディレクトリ以外の場所に置かれたコンテンツを表す相対パスが格納されます。 |
"Base" |
Web サイト エンドポイントからの URL 設定が格納されます。この Web サイト エンドポイントは、Web サービスまたは Web コンテンツをホストする IIS Web サーバー上に存在します。 |
"Absolute" |
Web サービス プロバイダ エンドポイントまたは Web コンテンツ プロバイダ エンドポイントの絶対 URI が格納されます。
メモ :
Service URL 設定または Relative Path 設定に相対 URL または相対パスが格納されている場合、この要素には、URL 設定と、Service URL 設定または Relative Path 設定を組み合わせた値が格納されます。ただし、Service URL 設定または Relative Path 設定に絶対 URL または絶対パスが格納されていた場合、この要素にはその絶対 URL または絶対パスが格納されます。
詳細については、「方法 : 配置レポートで Web サービスおよび Web コンテンツの絶対 URI を見つける」を参照してください。 |
ヒント : |
---|
Web サービス プロバイダ エンドポイントまたは Web コンテンツ プロバイダ エンドポイントの設定は、アプリケーション ダイアグラムで目的のエンドポイントを選択し、設定および制約エディタで [アプリケーション エンドポイントの設定] ノードを表示することで確認できます。Web サイト エンドポイントの設定は、論理データセンター ダイアグラムで目的のエンドポイントを選択し、設定および制約エディタで [論理サーバー エンドポイントの設定] ノードを表示することで確認できます。詳細については、「設定および制約エディタ」を参照してください。 |