Relationships Between System Definition Model (SDM) Documents
You can use Distributed System Designers to create and maintain a set of interrelated diagrams and documents that are based on the System Definition Model (SDM) or SDM documents. Typically, the definitions created in one document, for example, application definitions, are referenced by other documents.
For more information, see Overview of the System Definition Model (SDM).
SDM Documents in Distributed System Solutions
Visual Studio Team Edition for Architects includes a solution template that makes it possible for you to create distributed system solution. This distributed system solution makes Distributed System Designers available for you to design, configure, connect, and evaluate deployment for applications and application systems.
As you go through this process, a distributed system solution typically contains or will contain the following items:
A single application diagram (.ad file).
One or more system diagrams (.sd files)
One or more logical datacenter diagrams (.ldd files).
One or more deployment diagrams (.dd files).
System Definition Model (SDM) documents (.sdm files) for externally implemented application definitions.
Projects containing code files, configuration files, other related files, and SDM documents for internally implemented application definitions.
The following sections contain more information about distributed system diagrams and their relationships between each other.
Logical Datacenter Diagrams
A distributed system solution contains a single application diagram that visualizes definitions of supported applications and their connections. Application Designer is available when the application diagram is visible. Though you can visualize supported applications in some way on the application diagram, the level of support for defining, configuring, and evaluating applications for deployment using Distributed System Designers will vary depending on the application type. In addition, implementations for these applications might exist, either inside or outside the solution.
SDM definitions for applications on the application diagram and logical servers on a logical datacenter diagram are handled slightly differently. On the application diagram, an application definition that will be implemented in the solution is stored as part of the application diagram prior to implementation. Once the application is implemented, its definition is stored in its own .sdm file within the corresponding project. Application definitions that are not implemented in the solution, such as external Web services, are always stored in their own individual .sdm files, which appear immediately as solution items. In contrast, logical server definitions on a logical datacenter diagram are always stored as part of the logical datacenter diagram and are specific to that particular logical datacenter diagram.
For more information, see Designing Applications with Application Designer.
A distributed system solution can contain one or more system diagrams, each of which describes a single application system. System Designer is available when a system diagram is visible. An application system is composed from applications defined on the application diagram or systems defined on other system diagrams. Each system diagram stores the SDM definition for an application system and references to SDM definitions for the applications or systems that comprise that system.
For more information, see Designing Application Systems with System Designer.
Logical Datacenter Diagrams
A distributed system solution can contain one or more logical datacenter diagrams, each of which is a logical representation of a target datacenter. This logical representation consists of logical servers, zones, and connections. Logical Datacenter Designer is available when a logical datacenter diagram is visible. Each logical datacenter diagram stores all the SDM information for a logical datacenter.
For more information, see Representing Datacenters with Logical Datacenter Designer.
A distributed system solution can contain one or more deployment diagrams, each of which describes how applications in a particular system will deploy to a specific logical datacenter. Deployment Designer is available when a deployment diagram is visible. Each deployment diagram stores the SDM information describing deployment for an application system to the specified logical datacenter and references to the SDM definitions of the system and the logical datacenter.
For more information, see Evaluating System Deployment with Deployment Designer.
References Between Distributed System Diagrams
For a distributed system diagram or SDM document to compile and validate correctly, all referenced documents must be available in the solution, and all definitions referenced within those documents must be present.
The following list describes references that diagrams contain:
The application diagram contains references to one or more application definitions.
A system diagram contains references to application definitions and other system definitions.
A deployment diagram contains references to a single system definition and a single logical datacenter definition.
All references in distributed system diagrams are resolved based on names instead of Globally Unique Identifiers (GUIDs) or other cryptic identifiers. Changes that you make to a definition are available to any document that references that definition as long as the definition can be located. When locating referenced definitions, Distributed System Designers search for definitions of the requested type and name within documents of the appropriate type (or extension) and document namespace in the solution. As a result, renaming the file name of a referenced document does not break references.
Loading and Locating Referenced SDM Documents
If a distributed diagram is open or has been referenced by another open document, then the document is already loaded into memory. If the diagram is not open or referenced by another open document, the designers will load the referenced definition files. The designers will open a referenced diagram only when you request it, even if the document is loaded in memory.
If the referenced document is successfully located, the referenced definition appears in the diagram that references that definition, and its properties are shown in the Properties window. However, those properties cannot be edited.
If the referenced document cannot be located, or if the definition is missing from the document, then the definition appears with a dashed outline and a squiggly line will appear beneath the definition name to indicate a missing definition. The Properties window will not display properties for the missing definition.