Service Modeling Language
Encyclopedia
Service Modeling Language (SML) and Service Modeling Language Interchange Format (SML-IF) are a pair of XML
-based specifications created by leading information technology
companies that define a set of XML
instance document extensions for expressing links between elements, a set of XML Schema extensions for constraining those links, and a way to associate Schematron
rules with global element declarations, global complex type definitions, and/or model documents. The SML specification defines model concepts, and the SML-IF specification describes a packaging format for exchanging SML-based models.
SML and SML-IF were standardized in a W3C working group chartered to produce W3C Recommendations for the Service Modeling Language by refining the “Service Modeling Language” (SML) Member Submission , addressing implementation experience and feedback on the specifications. The submission was from an industry group consisting of representatives from BEA Systems, BMC, CA, Cisco, Dell, EMC, HP, IBM, Intel, Microsoft, and Sun Microsystems. They were published as W3C Recommendation
s on May 12, 2009. In the market and in applying by vendors, SML is seen as a successor/replacement for earlier developed standards like DCML
and Microsoft's (in hindsight) propietary System Definition Model or SDM. See for a historically helpful relation between SDM and DCML, and for the joint pressrelease announcing SML. In the Microsoft section of it the sequel role to SDM is mentioned.
s, and so on.
An SML model is a set of interrelated XML
documents. An SML model could contain information about the parts of an IT service, as well as the constraints that each part must satisfy for the IT service to function properly. Constraints are captured in two ways:
XML Schema documents : constrain the structure and content of the XML instance documents in a model. SML uses XML Schema 1.0, but allows later versions as well. SML also defines a set of extensions to XML Schema to constrain references, and identity constraints (key, unique, ...) that apply to sets of documents.
Rule documents : constrain the structure and content of documents in a model. SML uses Schematron
and XPath
1.0 for rules, but allows later versions as well.
Once a model is defined, one of the important operations on the model is to establish its validity. This involves checking whether all model documents satisfy the XML Schema and rule document constraints.
Models provide value in several important ways:
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
-based specifications created by leading information technology
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...
companies that define a set of XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
instance document extensions for expressing links between elements, a set of XML Schema extensions for constraining those links, and a way to associate Schematron
Schematron
In markup languages, Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees...
rules with global element declarations, global complex type definitions, and/or model documents. The SML specification defines model concepts, and the SML-IF specification describes a packaging format for exchanging SML-based models.
SML and SML-IF were standardized in a W3C working group chartered to produce W3C Recommendations for the Service Modeling Language by refining the “Service Modeling Language” (SML) Member Submission , addressing implementation experience and feedback on the specifications. The submission was from an industry group consisting of representatives from BEA Systems, BMC, CA, Cisco, Dell, EMC, HP, IBM, Intel, Microsoft, and Sun Microsystems. They were published as W3C Recommendation
W3C recommendation
A W3C Recommendation is the final stage of a ratification process of the World Wide Web Consortium working group concerning a technical standard. This designation signifies that a document has been subjected to a public and W3C-member organization's review. It aims to standardise the Web technology...
s on May 12, 2009. In the market and in applying by vendors, SML is seen as a successor/replacement for earlier developed standards like DCML
DCML
Data Center Markup Language is an XML-based markup language which provides a means for describing data center environments such as dependencies between data center components and managerial policies governing those environments with an open, vendor-neutral language.DCML can be used to, for...
and Microsoft's (in hindsight) propietary System Definition Model or SDM. See for a historically helpful relation between SDM and DCML, and for the joint pressrelease announcing SML. In the Microsoft section of it the sequel role to SDM is mentioned.
Fast Formal Facts about SML
The Service Modeling Language (SML) is a language for building a rich set of constructs for creating and constraining models of complex IT services and systems. SML-based models could include information about configuration, deployment, monitoring, policy, health, capacity planning, target operating range, service level agreementService Level Agreement
A service-level agreement is a part of a service contract where the level of service is formally defined. In practice, the term SLA is sometimes used to refer to the contracted delivery time or performance...
s, and so on.
An SML model is a set of interrelated XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
documents. An SML model could contain information about the parts of an IT service, as well as the constraints that each part must satisfy for the IT service to function properly. Constraints are captured in two ways:
XML Schema documents : constrain the structure and content of the XML instance documents in a model. SML uses XML Schema 1.0, but allows later versions as well. SML also defines a set of extensions to XML Schema to constrain references, and identity constraints (key, unique, ...) that apply to sets of documents.
Rule documents : constrain the structure and content of documents in a model. SML uses Schematron
Schematron
In markup languages, Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees...
and XPath
XPath
XPath is a language for selecting nodes from an XML document. In addition, XPath may be used to compute values from the content of an XML document...
1.0 for rules, but allows later versions as well.
Once a model is defined, one of the important operations on the model is to establish its validity. This involves checking whether all model documents satisfy the XML Schema and rule document constraints.
SML-Based Models
One anticipated use for SML is to define a consistent way to express how computer networks, applications, servers and other IT resources are described or modeled so businesses can more easily manage the services that are built on these resources . This enables a hierarchy of IT resource models to be created from reusable building blocks rather than requiring custom descriptions of every service, thus reducing costs and system complexity for customers.Models provide value in several important ways:
- Models focus on capturing all invariant aspects of a service/system that must be maintained for the service/system to be functional. They capture as much detail as is necessary, and no more.
- Models are units of communication and collaboration between designers, implementers, operators, and users; and can easily be shared, tracked, and revision controlled. This is important because complex services are often built and maintained by a variety of people playing different roles.
- Models drive modularityModularityModularity is a general systems concept, typically defined as a continuum describing the degree to which a system’s components may be separated and recombined. It refers to both the tightness of coupling between components, and the degree to which the “rules” of the system architecture enable the...
, Re-use, and standardizationStandardizationStandardization is the process of developing and implementing technical standards.The goals of standardization can be to help with independence of single suppliers , compatibility, interoperability, safety, repeatability, or quality....
. Most real-world complex services and systems are composed of sufficiently complex parts. Re-use and standardizationStandardizationStandardization is the process of developing and implementing technical standards.The goals of standardization can be to help with independence of single suppliers , compatibility, interoperability, safety, repeatability, or quality....
of services/systems and their parts is a key factor in reducing overall production and operation cost and in increasing reliability. - Models represent a powerful mechanism for validating changes before applying the changes to a service/system. Also, when changes happen in a running service/system, they can be validated against the intended state described in the model. The actual service/system and its model together enable a self-healing service/system – the ultimate objective. Models of a service/system must necessarily stay decoupled from the live service/system to create the control loop.
- Models enable increased automation of management tasks. Automation facilities exposed by the majority of IT services/systems today could be driven by software – not people – for reliable initial realization of a service/system as well as for ongoing lifecycle management.