Overview of Application Systems
In Visual Studio Team System Architecture Edition, you can design an application system by using System Designer. An application system defines a specific and reusable configuration of applications and other systems as members. You can configure these members and describe the communication pathways between them. You can also evaluate a system as a unit for deployment by validating it against a logical datacenter. For more information, see Overview of System Designer.
Distributed System Designers support two approaches to designing an application system: a top-down approach and a bottom-up approach. You can begin from a top-down approach by working only with systems. You can begin from a bottom-up approach by defining the applications that you want to use in your systems. You can change approaches during your design process. For more information, see Workflow Across Distributed System Designers.
You can design an application system on a system diagram by using System Designer. When you create or add a system diagram, Visual Studio adds a system definition to your solution. You can add other systems or applications as members to this system definition.
The shapes for system definitions and their members appear as rectangles with specific colors and icons. A system definition appears as a gray rectangular container shape on the system diagram. When you add a member to a system definition, that member's shape appears inside the system definition's shape. The colors and icons on these shapes help identify the member's underlying definition type, such as a Windows application, ASP.NET Web application, and so on. An application shape also has the same color as the logical server type that can host that application.
A member's definition appears on a different diagram in your solution. For example, when you add a new system as a member, Visual Studio adds a new system diagram for that system's definition to your solution. When you add a new application as a member, Visual Studio adds its definition to the application diagram in your solution. However, when you add an existing application or system from your solution, Visual Studio just adds that item as a member because that member's definition already exists.
You can include the same application or system multiple times within the same system or in other systems that you plan to deploy. Each member of a system definition is an individual use of that member's underlying definition. This capability allows you to configure each use differently from each other and from their underlying definitions. For example, you will typically configure an application's definition for the development environment. You will typically configure each use of that application's definition for the deployment environment. You can perform this task by configuring the settings on the application's definition and overriding those settings on the uses of that definition. You can also define custom settings for applications.
By default, an application definition and its uses have settings that correspond to their underlying application type. System definitions do not have default settings.
You can define the communication pathways between the members of a system definition. These pathways describe how applications should connect to each other when you deploy the system. You can perform this task by connecting members through their endpoints. Endpoints represent connection points and behavior for those members. For more information, see Communication within Application Systems.
You can reuse a system in other systems. This capability allows you to abstract the details of a system within other systems and makes it easier for you to design larger and more complex systems. If you plan to reuse a system, you must expose behavior for that system by adding endpoints to that system's definition.
After you design a system, you can evaluate that system for deployment by validating it against a logical datacenter. You can validate a system by creating a deployment definition. A deployment definition describes how you want to deploy the applications in a particular system to a specific logical datacenter. You can create a deployment definition by creating a deployment diagram. For more information, see Evaluating System Deployment with Deployment Designer.