Overview of System Designer

In Visual Studio Team System Architecture Edition, you can design a reusable application system by using System Designer. For more information about application systems, see Overview of Application Systems.

You can accomplish the following high-level tasks in System Designer:

  • Add applications and other systems as members of the system.

  • Represent system behavior by adding endpoints and defining contracts for that behavior.

  • View the settings, constraints, and definitions of members in the system.

  • Override the settings on the members of a system.

  • Configure communication pathways between members of the system.

  • Delegate system behavior and expose member behavior.

The following sections contain more information about these tasks:

  • Designing Systems on System Diagrams

  • Viewing Settings, Constraints, and Definitions of Members in Systems

  • Overriding Settings on Members of Systems

  • Configuring Communication Pathways Between Members of Systems

  • Delegating System Behavior and Exposing Member Behavior

After you design a system, you can define and evaluate that system for deployment by validating it against a logical datacenter. For more information, see Defining and Evaluating Deployment for Systems.

Designing Systems on System Diagrams

Before you can design a system, your Visual Studio solution must contain a system diagram. You can fulfill this requirement by performing one of the following tasks:

  • Create a new System Design solution, which contains a blank system diagram.

  • Add a new blank system diagram to your solution.

  • Add an existing system diagram to your solution.

  • Create a system diagram from existing application definitions.

The system diagram appears in your solution as a file with an .sd extension.

Note

Before you can create a system diagram from existing application definitions, your solution must contain an application diagram. This application diagram defines the applications that you want to add as members of your system. When you create a new System Design solution, this solution will contain a blank application diagram in addition to a system diagram. When you add a system diagram for the first time, Visual Studio will add a blank application diagram if your solution does not already contain one.

For more information, see the following topics:

The following illustrations show System Designer and a system diagram.

System Designer

System Designer

System diagram

System diagram

You can begin designing systems by using a top-down approach, a bottom-up approach, or a combination of both approaches. You can add other systems or applications as members during the system design process. You can represent behavior that your system exposes by adding endpoints and defining contracts for that behavior. For example, you can add endpoints and define contracts for .NET Web services that you want your system to expose.

For more information, see the following topics:

Viewing Settings, Constraints, and Definitions of Members in Systems

You can view the settings and constraints on the members of a system by using the Settings and Constraints Editor in System Designer. You can also view the underlying definitions of those members.

For more information, see the following topics:

Overriding Settings on Members of Systems

You can configure applications in a system differently from each other and from their underlying definitions. By performing this task, you can design and evaluate deployment for systems containing different configurations of applications and systems. For example, suppose you want to deploy same application multiple times in a system. You might configure that application differently depending on whether you plan to deploy it inside or outside a firewall.

You can override application and endpoint settings by using the Settings and Constraints Editor in System Designer. However, before you can override these settings, you must first designate those settings as overridable on their definitions by using the Settings and Constraints Editor in Application Designer. You can also specify whether applications or systems in a system are optional and whether you can install them multiple times when you deploy the system.

For more information, see the following topics:

Configuring Communication Pathways Between Members of Systems

You can configure the communication pathways that the members of a system should use in the deployment environment. You can perform this task by adding the necessary endpoints to those members and connecting them on the system diagram. Connections appear as lines with arrows, indicating the direction of communication from the consumer endpoint to the provider endpoint. If you want to reuse and connect a system in other systems, you must add endpoints to that system. For more information, see Communication within Application Systems.

For more information, see the following topics:

Delegating System Behavior and Exposing Member Behavior

You can specify which member of a system definition will provide the behavior that the system exposes. You can perform this task by delegating this behavior (represented by an endpoint) to a member of that system. Visual Studio copies the endpoint to the member you choose and replaces it with a proxy endpoint. This proxy endpoint appears on the boundary of the system definition and delegates its behavior to an endpoint on a member.

You can also selectively expose member behavior to the outside of a system definition. You can perform this task by creating a proxy endpoint from an endpoint on a member. By selectively adding proxy endpoints, you can define the degree of encapsulation of the members in a system.

Note

At deployment, all configuration of a system is resolved and only the connected application endpoints with any overridden application settings remain. A system and its proxy endpoints do not exist as tangible entities at deployment. Therefore, they do not appear in the deployment report. For more information about proxy endpoints, see Evaluating System Deployment with Deployment Designer.

For more information, see the following topics:

Defining and Evaluating Deployment for Systems

After you design a system, you can define and evaluate deployment for that system against the target deployment environment. You can perform this task by creating a deployment diagram in Deployment Designer and then validating that diagram against a logical datacenter. These validation results might provide valuable feedback about issues that might not otherwise be discovered until deployment. This information might prevent costly changes at a later time. You can also generate a deployment report to communicate these issues. You can define and evaluate a system for deployment at any time.

Note

If you want to share a system design with users who do not have Architecture Edition installed, add a copy of the deployment report to source code control. When you define and validate deployment for a system, you can generate a deployment report. You can use this report to help write deployment scripts. If you do not have a deployment diagram or a logical datacenter diagram, which you need to define and evaluate deployment, you can export the elements on the application diagram into a document and add that document to your solution.

For more information, see the following topics:

See Also

Tasks

Walkthrough: Designing Application Systems by Using a Bottom-Up Approach

Concepts

Workflow Across Distributed System Designers

Other Resources

Designing Application Systems with System Designer