CIM Tutorial > WBEM > CIM-XML

CIM-XML

CIM-XML is currently the only standards based protocol for exchanging CIM information. Before CIM-XML, the only standard way to exchange CIM information was through a MOF (Managed Object Format) file.

CIM-XML uses xmlCIM as the payload and HTTP as the transport. CIM-XML defines all interactions between CIM products as CIM messages.

A CIM Message is a well-defined request or response data packet used to exchange information between CIM products. There are currently two types of CIM Messages: CIM Operation Messages and CIM Export Messages.

  • A CIM Operation Message is a CIM message used to invoke an operation on the target namespace.
  • A CIM Export Message is a CIM message used to communicate information about a CIM namespace or element that is foreign to the target. A CIM Export Message is informational only and does not define an operation on the target CIM namespace or even imply the existence of a target namespace.

XML DTDs are restricted to certain terms to describe XML documents, but this document requires a further classification of an XML document with respect to a DTD. Henceforth the term loosely valid is defined to apply to an XML Document with the following characteristics:

  • If any attributes or elements in the XML document which do not appear in the CIM XML DTD are removed, then the resulting document is valid with respect to the CIM XML DTD.

In effect, a loosely valid document is one which is valid with respect to the CIM XML Document Type Definition (DTD) apart from having additional attributes or elements not defined by that DTD. The concept is very similar to that of an open content model as defined by the working draft on XML Schemas, expressed within the more limited scope of DTDs. One corollary of this definition is that any XML document that is valid with respect to the CIM XML DTD is also loosely valid.

The motivation for introducing this class of XML Documents is to relax the restrictions on a CIM Client,  CIM Server or CIM Listener when parsing received XML documents defined within the scope of this mapping. It is recognized that not all Clients (respectively, CIM Servers or CIM Listeners) should be required to validate each received CIM Message Response (respectively, CIM Message Request) as this would place too great a processing burden on the validating entity at the expense of footprint and performance, most notably in communication between robust and conformant implementations of this mapping.

Instead the following requirements are made by this specification:

  • A CIM Client (respectively, CIM Server or CIM Listener) MAY include a DOCTYPE element in a CIM Message Request (respectively, CIM Message Response). If so, an External declaration SHOULD be used (in-lining of the complete DTD within a message is discouraged).
  • A CIM Client (respectively, CIM Server or CIM Listener) MAY elect to validate a received CIM Message Response (respectively, CIM Message Request).
  • If a CIM Client (respectively, CIM Server or CIM Listener) elects not to validate a received CIM Message Response (respectively, CIM Message Request), then loose validation MUST be enforced.

Finally, all CIM Operation requests are defined as invocations of one or more methods.  A method may be either:

  • Intrinsic, which means that it is defined by this specification for the purposes of modeling a CIM operation, or;
  • Extrinsic, which means that it is defined as a method on a CIM Class in some Schema.