Service Modeling Language

From Wikipedia, the free encyclopedia

Service Modeling Language (SML) is an XML-based specification by leading information technology companies that defines 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.

SML is currently proposed jointly by BEA Systems, BMC Software, Cisco Systems, Dell, EMC Corporation, HP, IBM, Intel, Microsoft and Sun Microsystems.

SML addresses a growing industry need as a result of the numerous methods of representing the same IT resource. Besides being inefficient, the use of different formats leads to two problems. First, because the tools and management applications use different formats, they don’t speak the same language. Therefore the information must be translated, which can lead to the loss or misinterpretation of technical details. Second, the use of different formats may require IT architects to use written descriptions or sketches to convey information about resources. Such descriptions must then be translated into a form that tools and management applications can consume, which is a manual, error-prone process.

[edit] Fast Formal Facts about SML

The Service Modeling Language (SML) provides a rich set of constructs for creating models of complex IT services and systems. These models typically include information about configuration, deployment, monitoring, policy, health, capacity planning, target operating range, service level agreements, and so on. Models provide value in several important ways.

  1. 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.
  2. 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.
  3. Models drive modularity, Re-use, and standardization. Most real-world complex services and systems are composed of sufficiently complex parts. Re-use and standardization of services/systems and their parts is a key factor in reducing overall production and operation cost and in increasing reliability.
  4. 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.
  5. 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.

A model in SML is realized as a set of interrelated XML documents. The XML documents 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:

Schemas 
these are constraints on the structure and content of the documents in a model. SML uses a profile of XML Schema 1.0 as the schema language. SML also defines a set of extensions to XML Schema to support inter-document references.
Rules 
are Boolean expressions that constrain the structure and content of documents in a model. SML uses a profile of Schematron and XPath 1.0 for rules.

Once a model is defined, one of the important operations on the model is to establish its validity. This involves checking whether all data in a model satisfies the schemas and rules declared.

The SML specification focuses primarily on defining the profile of XML Schema and Schematron used by SML, as well as the process of model validation.

[edit] External links

In other languages