After introducing the Logical Datacenter Designer toolbox and the
We then turned our attention to the StockBroker running example as a vehicle for specifying a logical datacenter in more detail.
Our original application design involved a number of applications, but some—such as the MarketMaker and StockMarket—we regarded as external and outside of our
You saw how the settings and constraints for any server or endpoint may be accessed and manipulated, and you
Finally, you learned how to add your own prototypes to the toolbox, and how to share your prototypes in a team environment.
In Chapter 4, we'll pull together the application design from Chapter 2 and the logical datacenter design from this chapter by mapping the applications onto the datacenter.
Having discussed how to design a set of distributed applications using Application Designer in Chapter 2, and how to design one or more logical datacenters using Logical Datacenter Designer in Chapter 3, we'll now pull those two strands together and
Specifically, in this chapter we'll demonstrate the following:
How to define a default deployment directly from Application Designer, as a quick-start route into learning about deployment design without having to define systems explicitly
How to define systems explicitly, by combining groups of applications into systems that may be bound to logical servers in your datacenter using Deployment Designer
We'll contrast the two approaches and discuss important topics such as validating the deployment, specifying and overriding settings and constraints, nesting systems, and generating deployment
Finally, we'll compare the Visual Studio 2005 Deployment Designer with the equivalent UML deployment diagram. It's similar, but not the same.
Because we're presenting two designers in this chapter, the following sections introduce each one, with a particular emphasis on the coupling between the two.
System Designer takes as input the application definitions that are created with Application Designer (Chapter 2) and produces as output a set of system definitions that will be evaluated for deployment using Deployment Designer. These system definitions are
In Visual Studio 2005 Team Edition for Software Architects, a system is a deployment unit comprising a number of applications (from Application Designer) and/or previously defined subsystems. The embedding of systems within systems enables large-scale distributed system scenarios to be defined as a hierarchy of nested systems.
System definitions allow deployment configurations—the settings and constraints discussed previously—to be defined independently of the development configurations described by the application design so that deployment configurations are fully decoupled from application designs. Application settings may be overridden by system settings, enabling various configurations of a single application design for different logical datacenters, different geographical locations, and even different customers.
Deployment Designer allows a system—defined previously using System Designer and comprising applications from Application Designer—to be evaluated for deployment to a logical datacenter defined previously using Logical Datacenter Designer. Applications are taken from the system and bound to the servers of the logical datacenter.
Once the applications constituting the system are bound to the servers of the logical datacenter, the deployment may be
Settings defined using Application Designer may be overridden by constraints specified using System Designer.
Validation also ensures that communications
Finally, a deployment report may be generated in
The System Designer toolbox does not play as big a part in constructing diagrams as do the Application Designer and Logical Datacenter Designer toolboxes. It contains only two items: Comment and Connection. There are no
The System View (see Figure 4-1) provides the set of applications that you can drag onto diagrams in order to compose systems, so in that respect the System View acts as a kind of toolbox for System Designer.
In the case of Deployment Designer, it is also meaningless to show a toolbox comprising prototypes from which diagrams are created. Deployment diagrams are based entirely on existing logical datacenter diagrams, onto which applications are bound by dragging them from the System View.
The items available to you in the System View will depend on the applications you have defined using Application Designer and any systems you have already defined using System Designer. In addition, the contents of System View will vary according to what kind of diagram you're constructing. When using System Designer, the System View will show the list of application definitions and system definitions available in the solution, whereas when using Deployment Designer the System View will show only those applications