Synchronization Across System Definition Model (SDM) Documents 

Distributed System Designers keep System Definition Model (SDM) documents and code synchronized as you make changes to them. Distributed system diagrams also visually indicate any issues that arise with these references. Understanding how the different document types relate and synchronize with each other will help you troubleshoot synchronization errors when they occur.

For more information, see the following topics:

The following sections contain information about synchronization across distributed system diagrams:

  • Synchronizing the Application Diagram with System Diagrams

  • Synchronizing the Application Diagram with Code

  • Synchronizing System Diagrams with Other System Diagrams

  • Synchronizing Deployment Diagrams with System Diagrams and Logical Datacenter Diagrams

Synchronizing the Application Diagram with System Diagrams

Any changes you make to an application definition on the application diagram are immediately reflected on any system diagram referencing that definition as long as the system diagram is open and the referenced application definition can be located. If the system diagram is not open, changes such as editing properties as well as adding or deleting endpoints are synchronized as soon as the diagram is opened. If the application has been implemented and is synchronized with code, then changes to code are also synchronized, even if the application diagram is not open.

However, if an application definition is deleted, its corresponding uses on any open or closed referencing system diagrams are not deleted. Instead, they are marked with red dashed outlines and squiggly lines to indicate their missing underlying definition. This makes it possible for you to review the impact of deleting the definition. Likewise, if you rename an application definition while a system diagram referencing that definition is closed, the system diagram will not be updated. The next time that the system diagram is opened, the reference will appear broken, and the use of that definition will display a dashed outline and a squiggly line. If you choose to add back the definition or reverse the name change, its corresponding uses become valid again, and the outlines and squiggly lines are removed from their shapes on the system diagrams.

For more information, see the following topics:

Synchronizing the Application Diagram with Code

In Distributed System Designers, some application types support implementation. However, simply defining such an application on the application diagram does not immediately generate the corresponding projects, code and configuration files. First-time code generation is called "implementation". For more information, see Implementing Applications on Application Diagrams.

For applications that support implementation, the code becomes the master definition once the application is implemented; however, full and continuous synchronization between the application definition and the code is supported as long as the application diagram is open. This includes code files and configuration files as well as the corresponding definition on the application diagram. If the application diagram is not open, reopening it will synchronize it with the code, accommodating any changes made while the diagram was closed.

Note

For an application that supports implementation, if the associated application definition (.sdm) file is unavailable when the application diagram is reopened, that .sdm file is regenerated. However, the .sdm file will contain only information that can be reverse-engineered from code or entries in application configuration files. Any SDM information or settings whose source is not in code will not be recreated. For example, Web content endpoints on ASP.NET applications are not reverse-engineered from code. If any such endpoints exist on the application diagram when an ASP.NET application is reverse-engineered, those endpoints will appear with a red dashed outline. For more information, see Troubleshooting Application Diagrams.

For applications that do not support implementation, their definitions on the application diagram or their corresponding application definition (.sdm) files are the master definitions. If changes are made to these types of .sdm files while the application diagram is closed, such as deleting them, these .sdm files are not regenerated when the diagram is reopened. For example, if any of these types of .sdm files are deleted, their corresponding application definitions on the application diagram and any uses of those definitions on system diagrams are marked with a red dashed outline to indicate that their definitions are missing. For more information, see Troubleshooting System Diagrams and Application Types and Prototypes for Defining Applications.

Synchronizing System Diagrams with Other System Diagrams

Any changes you make to a system definition on a system diagram are immediately reflected on any other system diagram that references that definition as long as the referencing system diagram is open. If the referencing system diagram is not open, these changes are reflected when the referencing diagram is opened. Such changes include adding or deleting proxy endpoints. For information, see Designing Application Systems with System Designer.

However, if a system definition is deleted, its corresponding uses on any open or closed referencing system diagrams are not deleted. Instead, they are marked with red dashed outlines and squiggly lines to indicate that their underlying definitions are missing. This makes it possible for you to review the impact of deleting the definition. Likewise, if you rename a system definition while other system diagrams referencing that definition are closed, those system diagrams will not be updated. The next time those diagrams are opened, those references will be broken, and uses of that definition will display a red dashed outline and a squiggly line. If you choose to add back the definition or reverse the name change, its corresponding uses become valid again, and the outlines and squiggly lines are removed from their shapes on the system diagrams. For more information, see Troubleshooting System Diagrams.

Synchronizing Deployment Diagrams with System Diagrams and Logical Datacenter Diagrams

A deployment diagram always references a particular system diagram and a logical datacenter diagram and contains a series of binding references. Each binding reference describes the binding of an application on the system diagram to a logical server on the logical datacenter diagram. Changes to the logical datacenter diagram, system diagram, or any of the underlying application definitions can affect the integrity of the deployment diagram. If a deployment diagram is open while you edit the system diagram or logical datacenter diagram, these changes are propagated to the deployment diagram immediately. However, if the deployment diagram is not open, error alert states for certain types of changes appear on the deployment diagram to indicate these changes were made on the system or logical datacenter diagram. For more information, see Evaluating System Deployment with Deployment Designer.

For example, suppose application uses are deleted from a system diagram, and binding references for those applications exist on a closed associated deployment diagram. In addition, suppose a logical server is deleted from the associated logical datacenter diagram. Upon opening the deployment diagram, these binding references would appear with red error (X) icons, and the deleted uses would no longer appear in the System View window. The logical server that was deleted from the logical datacenter diagram remains on the deployment diagram and displays a red dashed outline.

For more information, see Troubleshooting Deployment Diagrams.

Synchronizing Deployment Diagrams with System Diagrams

When you create a deployment diagram from the application diagram, the deployment diagram employs an automatically-designed "default system", which does not exist on any system diagram and cannot be edited using System Designer. However, the default system contains all the applications and connections as they appear on the application diagram. Changes to the application diagram are automatically reflected and maintained in this default system. Therefore, if you create a deployment diagram that uses this default system, then all changes to application definitions on the application diagram are immediately reflected on the deployment diagram and in the System View window. The System View window in Deployment Designer displays all the applications available in this default system.

If you create a deployment diagram from a manually designed system diagram, then changes to the system diagram, such as deleting applications from the system diagram, also affect the deployment diagram, if those applications are bound on the deployment diagram, and System View window. If you delete applications from the referenced system diagram, any corresponding binding reference on the deployment diagram for the application is also deleted.

For more information, see Evaluating System Deployment with Deployment Designer.

Synchronizing Deployment Diagrams with Logical Datacenter Diagrams

Logical servers that are deleted from a logical datacenter diagram are also deleted from any open deployment diagrams that reference those logical servers. Any references on those deployment diagram applications bound on those logical servers are also removed and must be rebound to other logical servers.

If a logical server or zone is added or deleted from the logical datacenter diagram, it is added or removed from any open deployment diagrams referencing that logical datacenter diagram. Any logical servers or zones that are re-parented on the logical datacenter diagram are similarly moved on the deployment diagram.

However, if a deployment diagram is closed when the referenced system diagram or logical datacenter diagram is changed, then the following occurs when the deployment diagram is reopened:

  • Applications added to the referenced system diagram appear in the System View window as unbound.

  • Applications that are bound to logical servers on the deployment diagram remain bound when they are deleted from the referenced system diagram. However, their binding references indicate that the applications are no longer unavailable.

    Note

    You must delete these references from the deployment diagram.

  • Logical servers that are deleted from a logical datacenter diagram remain on the deployment diagram. However, they appear with dashed red outlines indicating their definitions are missing.

    Note

    You can only delete these references from the deployment diagram as you cannot examine their properties or bind applications to them. You can individually unbind applications that are bound to these logical servers. If you delete the logical server from the deployment diagram, any bound applications are automatically unbound and available for binding to other logical servers.

If the deployment diagram is not open when changes are made to a referenced logical datacenter diagram, you must synchronize the deployment diagram with those changes. Synchronizing updates the deployment diagram to reflect the current state of the logical datacenter diagram without losing any of the binding information and removes any references to logical servers deleted from the logical datacenter diagram.

For more information, see the following topics:

See Also

Concepts

Workflow Across Distributed System Designers
Distributed System Designers Terminology Overview

Other Resources

Distributed System Designer Overviews