Development and operations can sometimes be in conflict. When it comes time to configure new apps, things do not always go as planned, and the people in networking, the sys admins and the developers often engage in bouts of finger pointing.
This is as big a problem in the Windows space as in any other. Now Microsoft hopes to address the problem through the System Definition Model (SDM), a long-discussed software scheme on the verge of appearing via Visual Studio 2005 Team System.
SDM is part of Microsoft's overarching Dynamic Systems Initiative (DSI) to improve systems manageability and automate ongoing operations.
Ballmer touts Visual Studio advantage to developers
No less a Microsoft personage than CEO Steve Ballmer was on hand last week to tout SDM at the Microsoft Management Summit (MMS) 2005 in Las Vegas. He told attendees that Visual Studio 2005 will let developers "encapsulate management model information into their application from the point of creation."
SDM has been described in Microsoft technical blogs as a meta-model or domain-specific language, or, more simply, a schema. When you use a Setting and Constraints editor in Visual Studio Team System design tools, you create SDM representations of your system that describe desired configurations, policies and behaviors.
The goal of SDM is to bridge the gap between admins and developers. Eric Berg, a group product manager in the Microsoft Windows Server division, recently discussed that gap in an interview we did, Microsoft puts admins and developers on the same page. "If you talk about the interactions [administrators] have with the development community today, in the best case," he said, "they are sitting in meetings and putting [specifications] into documents that say, 'If you're building an application, here is what you need to know about our environment.'" SDM, in effect, automates that.
Describe your app
"SDM is a description of your application," said Rob Helm, director of research for analyst and research house Directions on Microsoft. "It can show information about the healthy state of the application; how you can tell when it is working properly and when it is not; or, what resources it needs to run, for example, if it needs access to a Name server," he said.
DSI discussions by Microsoft go back to 2003. Discussions around SDM began somewhat more recently. Its use in development is only in the beginning stages.
"Developers now can look at the modeling tools and get an idea about what a basic approach is," said Helm.
Actually tying SDM it into applications, suggested Helm, is still two or more years away. "This is a long-term thing," he said.
In pursuing SDM, Microsoft decided against using the existing Unified Modeling Language (UML) standard modeler, which it deemed lacking for some purposes. Earlier, the company made UML available to developers through its repackaging of Rational Rose and Visio products. Said Helm: "Microsoft is convinced UML is too generic and too complex for most people." Instead, he noted, the company has embraced Domain-Specific Languages of its own creation.
"It is a different approach. It hasn't been tried before," Helm said of the domain-specific route.
System Definition Model (SDM) SDK pages -- MSDN
System Definition Model Overview White Paper -- Microsoft.com
Visual Studio 2005 Team System: Designing Distributed Systems for Deployment -- MSDN