Application Information in Deployment ReportsĀ 

In the XML deployment report, the <Applications> element contains information about the applications that need to be deployed in a distributed system. You need this information to configure these applications for deployment. This element might contain information only for applications in that system, or it might include information for other systems in that system. This element also includes information about settings, resources, and endpoints for each application. For more information, see Overview of Key Sections in Deployment Reports.

For example, if the deployment report was generated for a "default" system, this element contains all the applications in that default system but no other systems. However, the default system represents how these applications are connected and configured in the development environment, not the deployment environment. For more information, see Deployment Definitions Created from Application and System Diagrams.

The <Applications> element contains one or more <Application> elements that identify each application in the deployment report. The following sections contain more information about the <Application> element:

  • 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 Information in the <Application> Element

The following example contains an <Application> element for a Windows application. The "Extends" attribute "Microsoft_WindowsApplication:WindowsApplication" identifies the Windows application:

<Application Name="MyWinAppUse" Definition="MyWinAppDefinition:MyWinAppDefinition" Extends="Microsoft_WindowsApplication:WindowsApplication" InstanceId="ed22d434-f40d-48b1-bbec-0b4e93ad2a9f">
   ...
</Application>

Within this element, you can find the following information:

  • Paths to application files needed for deployment.

  • Settings that need to be updated in application configuration files.

  • Internet Information Services (IIS) metabase settings required by ASP.NET applications for deployment.

  • Connection information for applications.

  • Absolute URIs (deployment location) for Web service and Web content provider endpoints.

The application type determines the types of files, settings, and other information included in the deployment report.

Paths to Application Files

The deployment report includes path information for the files needed to deploy your applications. For example, these files include libraries, executables, content files, and configuration files. You need this information to locate these files for deployment. However, you must specify a location to copy these files before you generate the deployment report. You can specify this location in the Destination Path property on the deployment diagram used to generate the deployment report. You must also specify whether to include source, content, and binary files using the corresponding properties. This makes it possible for you to include those files and collect them from the location you specify. When you generate the deployment report, the generation process creates the appropriate project directories and copies the files to that location. For more information, see How to: Generate Deployment Reports.

Note

For each application definition that supports implementation on the application diagram, only one project exists in the solution for that definition. However, multiple uses of that definition can exist in the system that you are deploying. For example, your system might include multiple uses that have different security settings and that will deploy to different servers. The deployment report includes these multiple uses. However, the generation process creates only one project directory for all these uses. Therefore, your deployment process needs to create and configure each use using information in the deployment report.

For each ASP.NET, Windows, or Office application in the deployment report, the <Application> element contains a <Resource> element named "Directory." The "Directory" element contains <Resource> elements that include information about the directories at the output location and the files copied to those directories. For more information, see Location and Directory Structure of Deployment Output Files.

Each <Resource> element in the "Directory" element references a file or a directory along the file system path at the output location. A <Resource> element that references a directory might contain other <Resource> elements that reference subdirectories. However, all <Resource> elements that reference files are located at the leaf level.

Note

This group of <Resource> elements has the same hierarchy as the project structure in the solution. However, <Resource> elements representing directories at the same level might appear in a different order than their folders in the solution or on disk. In addition, renaming projects in a solution does not change their folder names on disk. However, the project folder name on disk, not the project name in the solution, is used to create the project directory at the output location. Therefore, the project directory name at the output location might not be the same as the project name in the solution.

In addition, each <Resource> element that represents a directory or file contains a <Setting> element named "Path." This "Path" element contains three <Facet> elements: "Assigned," "Parent," and "Current."

The following table contains information about these elements.

<Facet> element Description

"Assigned"

Contains the output location path specified by the Destination Path property on the deployment report. However, only the "Path" element in the "Directory" element contains this value.

"Parent"

Contains the path from the project directory to the parent directory of a subdirectory or file. However, only the "Path" element of that subdirectory or file contains this value.

Note

If the project has a parent directory, the "Parent" element of the "Path" element in the "Directory" element does not include the path to this parent directory.

"Current"

Contains the path from the project directory to a subdirectory or file. The "Path" element for the project directory, a subdirectory, or file contains this value.

Therefore, you can retrieve the full path to a subdirectory or file by combining the "Assigned" element from the "Path" element in the "Directory" element with the "Current" element of a subdirectory or file.

Note

You might need to add a backslash (\) where appropriate to create a valid path.

For more information, see How to: Find Paths to Deployment Output Files in Deployment Reports and Location and Directory Structure of Deployment Output Files.

Configuration File Settings for Applications

You need to update the configuration file (Web.config for ASP.NET applications or App.config for Windows or Office applications) for each use of an application in the system with the correct deployment settings. Initially, the settings in the configuration file represent the application's configuration in the development environment, not the deployment environment. However, you can retrieve the configuration file settings required for deployment from the deployment report.

The <Application> element for an application contains a <Resource> element named "Directory." For more information, see Paths to Application Files. This "Directory" element contains another <Resource> element named "Configuration." This "Configuration" element contains <Setting> and <Resource> elements that identify the configuration file settings needed for deployment. For more information, see How to: Find Application Configuration File Settings in Deployment Reports.

Note

Configuration file settings in the deployment report should have the same names as their counterparts in the configuration file. However, the resource names under which settings appear in the deployment report might differ from the corresponding sections in the configuration file. For more information, see Configuration File Sections in Deployment Reports.

IIS Metabase Settings for ASP.NET Applications

The <Application> element for an ASP.NET application contains a <Resource> element named "WebApplication." This "WebApplication" element contains <Setting> elements that describe the IIS metabase settings required for deployment. However, some of these setting names, values, or types differ from their IIS counterparts and require translation before configuring them on the target server. For more information, see the following topics:

Information about Application Connections

The <Application> element contains an <Endpoint> element for each endpoint on an application. An <Endpoint> element contains a <Setting> element named "ConnectedToEndpoints" when an endpoint connects to another endpoint. You can use the "ConnectedToEndpoints" element to identify all the endpoints connected to that endpoint. The "ConnectedToEndpoints" element contains a Globally Unique Identifier (GUID) that matches the "InstanceId" attribute for the connected endpoint. Other <Setting> elements in the <Endpoint> element contain information about the endpoint's settings.

Tip

You can view these settings by selecting the endpoint on the application diagram or on the system diagram (from which the deployment diagram was created). Then, in the Settings and Constraints Editor, view the Application Endpoint Settings node. For more information, see Settings and Constraints Editor.

The following example contains a "ConnectedToEndpoints" element for a Web service consumer endpoint on a Windows application. This element contains a GUID that identifies the connected Web service provider endpoint on an ASP.NET Web application. In turn, the <Endpoint> element for the Web service provider endpoint has a "ConnectedToEndpoints" element that contains the GUID value for the connected Web service consumer endpoint:

<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 Service and Web Content Absolute URIs

You need to configure the consumer endpoints for each application that consumes a Web service or Web content with the deployment location of the Web service or Web content. The <Application> element for an ASP.NET application that exposes a Web service or Web content contains an <Endpoint> element. This <Endpoint> element contains a "Uri" <Setting> element that contains three <Facet> elements: "Relative," "Base," and "Absolute."

The following table contains more information about these elements.

<Facet> element Description

"Relative"

Contains the Service URL setting from a Web service provider endpoint. This setting can contain a relative or absolute Web service URL.

-or-

Contains the Relative Path setting from a Web content provider endpoint. This setting contains a relative path that references content at a location other than the application's root directory.

"Base"

Contains the URL setting from a Web site endpoint. This Web site endpoint is on the IIS Web server that hosts the Web service or Web content.

"Absolute"

Contains the absolute URI of the Web service or Web content provider endpoint.

Note

If the Service URL or Relative Path setting contains a relative URL or path, then this element combines the URL setting and the Service URL setting or Relative Path setting. However, if the Service URL or Relative Path setting contains an absolute URL or path, then this element contains that absolute URL or path.

For more information, see How to: Find Web Service and Web Content Absolute URIs in Deployment Reports.

Tip

You can view the settings for a Web service or Web content provider endpoint by selecting it on the application diagram and viewing the Application Endpoint Settings node in the Settings and Constraints Editor. You can view settings for a Web site endpoint by selecting it on the logical datacenter diagram and viewing the Logical Server Endpoint Settings node in the Settings and Constraints Editor. For more information, see Settings and Constraints Editor.

See Also

Concepts

Overview of Deployment Using Deployment Reports