In this post I look at what fields are mandated by the SNIA XAM v1.0 specification and write a small Java application to retrieve their default values using the XAM Reference VIM and EMC’s Centera XAM VIM.
What is meant by a field in XAM? According to Section 3.1.5 of the XAM specification v1.0, Part 1, a field is a piece of uniquely identifiable data that can be attached to an XSet, an XSystem, or a XAM Library.
More concretely, a field has a name, a number of attributes that describe how to interact with the object, and a value. Any XAM primary object, i.e. an XSystem, an XSet, or a XAM Library object can contain one or more fields.
Field names are case sentitive UTF-8 encoded strings with a maximum length of 512 bytes and no embedded NULL characters. To avoid namespace clashes, the field namespace is allocated between SNIA, XAM storage system vendors and XAM application vendors. The following table shows the currently reserved namespace for field names: NAMESPACEDESCRIPTION .xam.* The XAM Library-owned portion of the namespace. Fields in this namespace shall be defined in this specification and its follow-ons and shall not be extended by XAM Storage System vendors. .xsystem.*The XSystem-owned portion of the namespace. Fields in this namespace shall be defined in this specification and its follow-ons and shall not be extended by XAM Storage System vendors. .xset.* The XSet-owned portion of the namespace. Fields in this namespace shall be defined in this specification and its follow-ons and shall not be extended by XAM Storage System vendors. .vnd.<reverseDNS>.*The XAM System vendor-owned namespace within the XSystem namespace, where is the XAM Storage System vendor’s reverse DNS name org.snia.*Reserved for SNIA org.snia.xam.* Reserved for SNIA FCWG To avoid field namespace clashes between XAM storage system vendors in the remaining unreserved namespace and aleviate the need for a central XAM field name registry, the first portion of a vendor field name shall be the vendor’s domain name in reverse order, followed by the vendor-defined field name, e.g. com.emc.centera.xam.vim.version.
As mentionly previously a field can have attributes. The following four attributes are mandated by the XAM specification: ATTRIBUTE NAMEDESCRIPTION TypeThe MIME type of the value. The type attribute shall be US-ASCII encoded with a maximum length of 512 bytes. BindingA Boolean value indicating if the field is bound to the XUID of the XSet. ReadonlyA Boolean value indicating

























