Designing for Deployment - ' What SDM Does ' (
Page 2 of 2 )
It means that using an XML-based meta-model called the System Definition Model (SDM), designers can paint a picture of a system, describing connectivity, configuration, constraints, and relationships between components.
It will even generate skeleton code for the developers, once the architect is happy with the design — projects, including the appropriate code or class files, configuration files, and any other needed resources. After implementation, the code becomes the master definition, and changes made between diagram and code files synchronize with each other.
ADVERTISEMENT
It means that an architect can diagram the system, including information from development and operations to describe the environment the app wants to run in, and the security policies and other requirements imposed by operations. SDM provides common ground where each can look at the other's needs, stated in a common language.
Gee — communication — what a concept!
There are to be four Distributed System Designers:
Application Connection Designer
Logical Datacenter Designer
System Designer
Deployment Designer
Each builds on outputs from the others. For example, operations architects can create logical representations of their datacenters, even importing actual server configurations into the model. Policies and constraints can then be added, and the whole thing locked and versioned so it continues to represent reality.
Systems (composed of applications) are deployed into this logical datacenter, and can be validated to ensure they play by the rules. If not, errors are displayed in Visual Studio's Error List; double-click on an error, and the appropriate deployment diagram opens and shows you the precise problem setting that needs correction. Plus, since logical datacenters are stored in files, they can be reused in as many projects as necessary, creating deployment diagrams for different apps til the cows come home.
And what, you may wonder, has happened to the old faithful diagramming tool, Visio? It's still there, but as a legacy product. Microsoft recommends use of the new tools instead.
Visual Studio 2005 Team System is still in beta, so details may change before release, but the grand plan is there: provide a modeling framework that lets distributed applications come into the world in a happy and productive way.
No yelling. No muttered imprecations. Just the hope of cleanly deployed apps, and perhaps a nice cup of tea with Operations.
Want to learn more? Check out the white papers and other documents here.