On July 31, 10 IT vendors published the Service Modeling Language specification to improve the automation of management systems. SML provides a consistent way to describe system information about networks, applications, servers and other IT resources. The authors plan to submit SML to a yet-to-be-chosen standards body by the end of 2006.
SML provides rich support for capturing constraints that are part of the model (for example, the fact that a certain operating system runs on only a certain type of CPU) and excellent alignment with an existing Web services infrastructure. These features increase its ability to automate management tasks.
The language is well aligned with XML. Unlike object-oriented models that need to go through unnatural transformations to be represented in XML, an SML model is defined natively in XML. Better yet, SML uses XML Schema Definition (XSD), minus a few of XSD's quirks, as its syntax constraint language. Because XML and XSD are the foundation of the Web services architecture, SML models fit very well within this infrastructure. This fit gives SML users easy access to the transformation, messaging, reliability, transactionality and security infrastructure built around XML document exchange, along with rich metadata support.
The primary goal of SML is to increase the level of automation in IT systems management. SML takes automation one step further than previous modeling languages by offering powerful support for constraints with Schematron, a language to describe conditions that XML documents must respect. To unlock its power, SML defines a few extensions that allow constraints to span several documents. For example, the sml:ref type represents references between documents. In addition, SML adds a deref( ) function extension to XPath to let these references be navigated inside XPath expressions. These references can be constrained further to not create cycles in a model (sml:acyclic) and to target specific elements (sml:target Element) or elements of a specific type (sml:TargetType).
An SML model is a set of XML documents, some of which (called genic documents) have the special status that they contain constraints on other documents. Nongenic documents are called phenic documents. The constraints contained in genic documents can apply to both genic and phenic documents. The only action defined by SML is the validation of a model.
For example, the SML model for an application that contains constraints about what infrastructure the application can run on can be consolidated with the SML model for the target infrastructure. Validating this consolidated model lets you check whether the network topology will allow the right application components to talk to one another, whether there will be any port overlap, whether the right versions of the operating system, application server and database will be present.
In the context of systems and network management, the technology can be used to interpose an SML-based controller between the resource manager and the actual resources. This brings management of the resources one level higher, to the point where management interactions are handled via the exchange of models describing the resources' desired state.
To create an instance of resources, the manager sends an SML template describing the desired system and associated constraints. If the controller is able to provision a corresponding model (through interactions with the resources) it returns that model to the manager. Subsequent management interactions follow the same approach of exchanging SML models. Through the use of XML technologies and support for complex constraints, SML lets more knowledge about the system be captured in a machine-readable way in the model, allowing more predictable, stable and automated systems to come to life.
Vambenepe is a distinguished technologist in HP OpenView and is co-author of the SML specification. He can be reached at firstname.lastname@example.org.
Learn more about this topicMicrosoft, IBM, others team up on SML
07/31/06IBM attacks management broadly
10/13/04Microsoft takes first step toward standardizing management modeling language