DDJ: Does it give you good information about why you can't drag-and-drop, or does it just say, "No!" and you have to figure out why?
RH: There are two feedback mechanisms here: One is immediate, which is you just can't drop something on a server because you've got a pathway error, or endpoint error, on one of the diagrams. But if you get everything bound, then you can right-click and validate the diagram. This is where it does deeper analysis of the diagram. It makes sure that the settings of one mesh with the constraints of the other. Some of the messages that you get here are pretty deep and technical, and may require changes to one or both of the models.
Let me back up here and say that in my travels, and probably yours, you come across shops where software is king, and they will model and mold the datacenter around it. The budget is such that they'll buy the servers that are needed, they'll open up the ports that are needed, and so on. In that case, the Application Designer will win over the Logical Datacenter Designer. But I've also been in environments, such as many government agencies, where the statement is, "Here's the datacenter. It's not going to change. Deal with it." You might not be able to use the most cutting-edge versions of things. The application will have to mold to the datacenter.
DDJ: But the whole idea is to figure that out before you deploy. You're able to figure it out proactively that there will be a problem, instead of reacting to something that doesn't work.
RH: Hopefully months, if not a year in advance, you're finding deployment problems, even before the software development has begun. That's a lot different than a situation where it's 9:00am, and I've got guys standing here with briefcases and CDs ready to install, and it's not going to work.
DDJ: Is there any automated way to figure out what the constraints on a server are, or do you just have to somehow know that information and key it into your diagram?
RH: Great question. In Version 1 of Team System, it can autodetect Internet Information Server settings, and that's about it. I think SQL Server settings and Operations Manager settings would be some obvious things. In v2 and v3, I'm sure you'll see support for more servers, but this requires the other Microsoft product groups, and even Microsoft partners, to buy into the philosophy of DSI.
DDJ: So what's DSI?
RH: It's "Dynamic Systems Initiative" [www.microsoft.com/windowsserversystem/ dsi/getstarted.mspx]. You can have PhDs rattle on all morning long about what it is, and you still won't have an answer. For my 100-level explanation, I'd say that DSI is a way for product groups to create schemas for software. "Here's a schema, in the SDM document format, which describes the settings that are important for other software that interacts with this piece of software, as well as this software's constraints." Pick some server software, like Exchange. Now come up with a document that follows the SDM format, so it has a preamble section, metadata, and so on. The document describes all the possible server settings and requirements to run. That's a big initiative to build a specification that can handle so many pieces of software out there.
That's where we're going. Someday, we should be able to use these domain-specific tools to deploy bread to toasters. So Wonder Bread and Sears have to get together and come up with a common specification.
DDJ: Right, or at least in the short term, maybe there'd be designer support for Sharepoint, Exchange, Biztalk...
RH: Oh, you're thinking so small Scott! I'm seeing people who are saying, "Team System is a great proof-of-concept, but we want to build our own domain-specific things." I think the combination of Windows Workflow Foundation, which is already in late beta, and process-modeling solutions built using DSL Tools has a lot of people excited. People want to have a toolbox that has things in it like work orders, decisions, trucks, maintenance records, whatever. By back-ending those models with software factories, XML, code, or both can be generated and transformed. There are no boundaries to what can be created. Microsoft has never had a modeling framework like this before. It's exciting.