Overview of Applications on Application Diagrams 

Using Application Designer, you can define and visualize applications that provide or use services and configure them on the application diagram as needed in the development environment. In Application Designer, an application definition is an individual and atomic unit of function that can be deployed.

When defining applications on the application diagram, you can accomplish the following additional tasks:

  • Define and review services that applications provide or use.

  • Set key properties, such as implementation properties.

  • Specify settings and constraints on applications.

  • Define communication pathways between applications.

  • Expand the set of application types and prototypes you can use to define applications.

After you define applications, you can accomplish the following tasks:

  • Evaluate applications against a target logical datacenter to discover configuration and connection issues early in the design process.

  • Design reusable application systems as units of deployment composed from applications or other systems.

  • Implement applications that support implementation by generating the appropriate projects in the solution.

For more information about these tasks, see Overview of Application Designer.

Defining Applications on Application Diagrams

Before you can begin defining applications, you must create a Visual Studio distributed system solution with a blank application diagram or add an application diagram to a blank or existing solution. For more information, see How to: Create Application Diagrams and How to: Add Application Diagrams to Solutions.

When the solution contains an application diagram, you can begin defining, reviewing, and visualizing applications by adding them to the application diagram. You can define applications on the application diagram by using the predefined application prototypes in the Toolbox or by adding the appropriate projects to the solution, which reverse-engineers the appropriate application shapes on the diagrams. Applications appear on the diagram as rectangles with colors and icons representing their application types. Application colors match the colors of logical server types that can host them.

The following list describes three kinds of applications represented on the application diagram:

  • Applications that support generation and synchronization of project code and configuration files in the solution.

    These kinds of applications include ASP.NET applications, Windows, and Office applications and are included as predefined application prototypes in the Toolbox. You can configure, connect, and implement these applications as required, or you can reverse-engineer them from existing projects.

  • Applications that exist or are implemented outside the solution and need to be referenced by other applications on the application diagram.

    These kinds of applications include databases, external Web services, and BizTalk Web services. Connecting these applications to applications that can be implemented creates the appropriate references in the code or configuration files associated with the referencing applications.

  • All other applications that can be represented on the application diagram but do not support integrated implementation or reverse-engineering.

    These kinds of applications include generic applications and any custom or third party application types created using the System Definition Model (SDM) Software Development Kit (SDK). You can create application prototypes from those already defined on the application diagram or install those created by other users. You can extend the types of applications you can define by installing custom-built prototypes or third-party packages containing new application types with the corresponding prototypes. All these prototypes can be added to the Toolbox.

After adding applications to the diagram, you can configure communication pathways between them by connecting them on the diagram. For applications that support Web services, you can review Web service operations or define them, if appropriate.


Application Designer does not support the design or direct representation of class libraries on the application diagram. However, you can use an ASP.NET Web service, Windows, or Office application as a façade for functionality implemented by class libraries. You can visualize Web service references and custom Web service client proxy classes defined in these class libraries as Web service consumer endpoints and database consumer endpoints on the façade application. This makes it possible to represent the interaction between these class libraries and other applications on the application diagram. For more information, see Referencing Class Libraries from Applications on Application Diagrams.

For more information, see the following topics:

You can set properties and specify settings and constraints on applications. For example, you can constrain the types of logical servers that can host an application. Applications might also include or require other resources (settings) needed to function properly when you deploy systems composed from those applications.

For more information, see the following topics:

Next Steps

Early in the design process, you can use Deployment Designer to evaluate applications against a target logical datacenter to discover whether any configuration or connection issues might exist. You can define and evaluate deployment definitions for applications exactly as they appear configured and connected for the development environment on the application diagram.

However, the application diagram reflects all the applications in your solution and their configuration in the development environment, so it will not likely reflect the configuration that you want at deployment. Therefore, you can design application systems composed from the applications you want, override settings, and define communication pathways that are appropriate for those systems. You can use System Designer to design these systems and then use Deployment Designer to define and evaluate deployment definitions for those systems.

When you are ready to implement applications, you can generate projects for applications that support implementation. You can implement applications at any time.

For more information, see the following topics:

See Also

Community Additions