Workflow Across Distributed System Designers
You can perform the following tasks when you use the Distributed System Designers:
- Design application systems.
- Design logical datacenters.
- Define and evaluate deployment for application systems against logical datacenters.
The following sections contain more information about the high-level tasks you perform in Distributed System Designers:
The following illustration shows how an example workflow might progress through the system design process, depending on the approach you choose.
The following sections contain more information about these approaches:
- Designing Application Systems by Using a Top-Down Approach
- Designing Application Systems by Using a Bottom-Up Approach
Designing Application Systems by Using a Top-Down Approach
You can design an application system from a top-down approach by starting with System Designer. You can begin by creating a distributed systems solution from the System Design solution template. This template creates a solution that contains a blank system diagram and application diagram. You can also begin by adding a system diagram to your solution or opening an existing one. You can add multiple system diagrams to your solution.
On this system diagram, you can define a single system that you can configure for deployment and reuse in other systems. You can add other systems, applications, or both applications and systems as members to the definition of this system. You can perform this task by dragging new systems or applications from the Toolbox. You can also drag any existing systems or applications from the System View window. The definitions for these systems appear on other system diagrams. The definitions for these applications appear on the application diagram.
For example, you might begin a top-down approach by designing the top-level or outermost system. You can represent that system’s behavior by adding endpoints and defining contracts for that behavior. You can then add systems as needed. You can add new or existing systems to your system definition. You might continue adding systems until you know which applications that you want to add and configure as members for the most granular-level systems. This approach makes it possible for you to focus only on systems so that you can design them more quickly. To continue designing systems that are members, you can open their system diagrams.
|When you add an existing system diagram to your solution, some members of the system definition might appear orphaned by displaying certain alert indicators. In this scenario, a member appears orphaned when its definition is missing. To fix this issue, you must add the definition for that member or repair the relationship by choosing another definition for that member, if one exists. For more information, see Troubleshooting System Diagrams.|
You can also perform the following tasks in System Designer:
- Represent behavior for a system definition and its members by adding endpoints and defining contracts for that behavior.
- Configure communication pathways between members. These pathways describe the connections between members in the deployment environment.
- Override application settings as needed for deployment.
- Delegate the behavior of a system definition to its members.
- Expose the behavior of a system definition’s members.
For more information, see the following topics: Overview of System Designer.
Designing Application Systems by Using a Bottom-Up Approach
You can design your system from a bottom-up approach by starting with Application Designer. You can begin by creating a distributed systems solution from the Application Design solution template. This template creates a solution that contains a blank application diagram. You can also begin by adding an application diagram to your solution or opening an existing one. When you add an application diagram to your solution, Visual Studio reverse-engineers any application projects that support visualization and displays the corresponding shapes on the diagram. Your solution can contain only one application diagram.
On this application diagram, you can define the applications that you want to include in your systems. You can perform this task by dragging predefined applications from the Toolbox. This creates definitions of these applications on the application diagram.
For example, you can begin a bottom-up approach by defining applications on the application diagram and creating a system from them. Visual Studio adds a system diagram to your solution for this new system definition. You can then continue refining your system’s design. You can also begin a bottom-up approach in System Designer with the lowest-level or innermost system that you want to design. You can add applications as the most elemental members of that system. You can use this approach when you know the applications that you want to include as members of your systems. The definitions for the applications that you add as members will appear on the application diagram.
You can also perform the following tasks in Application Designer:
- Represent behavior that applications provide or consume by adding endpoints and defining contracts for that behavior.
- Configure connections between application definitions. These connections describe communication pathways between these applications in the development environment.
- Specify application configuration requirements. You can perform this task by configuring settings and constraints on applications and endpoints.
- Generate projects for applications that support implementation. This allows you to continue defining those applications in code.
For more information, see Overview of Application Designer.
On this logical datacenter diagram, you can create a partial and abstract representation of the physical datacenter by using Logical Datacenter Designer. You can perform this task by dragging predefined logical servers, endpoints, and zones from the Toolbox. Logical servers represent the run-time environment to which you plan to deploy an application. Zones typically represent communication boundaries and regions in the datacenter.
You can also perform the following tasks in Logical Datacenter Designer:
- Connect logical servers and zones. These connections describe communication pathways in the logical datacenter.
- Specify application hosting requirements and restrict communication protocols. You can perform this task by configuring settings and constraints on logical servers, zones, and endpoints.
The following illustration shows how an example workflow might progress through the logical datacenter design process.
Logical Datacenter Design Workflow
For more information, see Overview of Logical Datacenter Designer.
|You can also create a deployment diagram from the application diagram. Visual Studio creates a default system so that you can quickly define and evaluate deployment for the applications on the application diagram. However, you cannot view or edit this default system, so you cannot configure its members for deployment. To define and evaluate actual deployment, create deployment diagrams from your system diagrams. For more information, see Deployment Definitions Created from Application and System Diagrams.|
On this deployment diagram, you can specify where you want to deploy the applications from your system by binding them to logical servers. You can perform this task by dragging those applications from the System View window to those logical servers. The System View window displays all members of the root system, including applications from other systems in the root system.
|You cannot bind an application more than once to a logical server.|
After you finish binding applications, you can validate the deployment diagram. This determines if conflicts exist between the settings and constraints on your applications and the logical servers that host them. After you finish validation, you can generate a deployment report in HTML format to document and resolve these issues. Visual Studio also creates an XML version of the deployment report so that you can create scripts to deploy the applications to physical servers.
The following illustration shows how an example workflow might progress through the system deployment evaluation process.
System Deployment Evaluation Workflow
Scientrix™ is implemented using a collaborative and iterative design process to ensure that buy-in is achieved and that the full value of a strategy or idea is realised. Similar to the architectural design and execution of a building, the process includes the definition of the overarching concept, the creation of a detailed blueprint, the assignment of responsibilities and targets, as well as the rigorous monitoring of the execution progress and results.
The process is underpinned with design rules and principles which ensure that the solution created in the matrix framework not only leads to the desired overarching result but also is documented in a concise manner facilitating the preserving of knowledge for future replication.