Overview of System Designer 

You can use System Designer to design and configure reusable application systems as units of deployment. Systems are composed from applications defined on the application diagram and can include systems defined on other system diagrams in your solution. You can then connect and configure applications independently from their definitions and development configurations for deployment. Being able to reuse a system in another system makes it possible for you to design larger and more complex systems so that you can use them in distributed system scenarios and abstract the details about the members of those systems. For more information, see Designing Applications with Application Designer and Overview of Application Systems on System Diagrams.

Using System Designer, you can accomplish the following high-level tasks:

  • Design a system by adding uses of application and other system definitions as members.

  • Configure communication pathways between members.

  • View constraints, settings, endpoints, definitions, and other properties of members.

  • Override settings on members as needed and overridable on their underlying definitions.

  • Expose behavior of members selectively outside the system.

After designing a system, you can define and evaluate deployment for the system.

The following sections contain more information about these tasks:

  • Designing Systems on System Diagrams

  • Configuring Communication Pathways Between Members of Systems

  • Viewing Settings, Constraints, and Members of Systems

  • Overriding Settings on Members of Systems

  • Exposing Behavior of Members in Systems

  • Defining and Evaluating Deployment for Systems

Designing Systems on System Diagrams

You can begin designing systems with System Designer by creating a system diagram from selected application definitions on the application diagram. You can also add a blank or existing system diagram to the solution.

Note

Before you can create a system diagram containing specific applications, the solution must contain an application diagram that defines those applications. If the solution does not contain an application diagram, adding a system diagram to a solution adds a blank application diagram. For more information, see How to: Create Application Diagrams, How to: Add System Diagrams to Solutions, or How to: Add Application Diagrams to Solutions.

The following illustrations show System Designer and a system diagram.

System Designer

System Designer

System diagram

System diagram

For more information, see System Designer Terminology.

Once the system diagram is created, you can add uses of applications defined on the application diagram and uses of other systems defined in the solution. If you plan to deploy an application or system more than once within the context of a system, you can add multiple uses of that application or system definition. Each member must have a unique name. You can connect and configure each use as required by the system and can deploy each use to the same or different logical servers. For more information, see How to: Design Application Systems on System Diagrams.

Configuring Communication Pathways Between Members of Systems

You can configure communication pathways within a system that are appropriate for that system by connecting endpoints on its members. Connections appear as lines with arrows, indicating the direction of communication from consumer to provider.

You can connect endpoints on members of a system as required for the system. There is no requirement to connect applications in the same way as they are connected on the application diagram, which describes how applications are connected in the development environment or in other systems. You can connect members of a system only through existing endpoints, which cannot be removed or added.

For more information, see the following topics:

Viewing Settings, Constraints, and Members of Systems

When working in System Designer, you can view the details or underlying definitions of the following items:

  • Settings and constraints on members of a system definition.

  • Members and endpoints on members of the system definition.

For more information, see the following topics:

Overriding Settings on Members of Systems

You can override settings on the members of a system as required, if those settings are designated as overridable on the underlying definitions of those members. Specifically, you can override settings on applications and endpoints so that they are different than their underlying definitions. When you override settings, these changes apply only to that particular use of the application in that system. They do not affect other uses of that application in the same system, other systems, or the underlying definition. By performing this task, you can design and evaluate deployment for systems containing different configurations of applications and systems.

Note

Before you can override settings on applications, you must specify which settings are overridable on the underlying definitions in Application Designer.

For example, if you include multiple uses of the same application in a system, you might want to configure it differently depending on whether the application will be deployed inside or outside a firewall.

You can also specify whether applications or systems in a system are optional in a deployment of the system and whether you can install them multiple times.

For more information, see the following topics:

Exposing Behavior of Members in Systems

When you want nest a system within another system, the system you want to include requires endpoints if you want to expose members in the included system and connect them outside that system. You can selectively expose behavior for members of a system by creating proxy endpoints from endpoints on those members. A proxy endpoint delegates communication to or from a single endpoint on member of the system. By selectively adding proxy endpoints, you can define the degree of encapsulation of the members in a system.

For more information, see the following topics:

Defining and Evaluating Deployment for Systems

After designing a system, you can use Deployment Designer to define and evaluate a system for deployment in a target datacenter by creating and validating a deployment diagram. These validation results might provide valuable feedback about issues that might not otherwise be discovered until deployment, and therefore 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 the architecture of a system design with users who do not have Visual Studio Team Edition for Architects 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, which you can use to help write scripts for deployment. Otherwise, if you do not have a deployment diagram or a logical datacenter diagram, which are used to define and validate deployment for a system, you can create an image of the application diagram by copying and pasting its elements into a document and adding the document to the solution.

For more information, see the following topics:

See Also

Tasks

Walkthrough: Designing Application Systems

Concepts

Workflow Across Distributed System Designers

Other Resources

Designing Application Systems with System Designer