Introduction to XML, SOAP, and XSLT Dynamic Application Development

Download this manual as a PDF file

This section describes how to create Dynamic Applications that collect data by parsing collection objects from XML documents.

This section does not cover elements of Dynamic Application development that are common to all Dynamic Application types; you should be familiar with the common elements and concepts of Dynamic Applications. For details on the common elements of Dynamic Applications, see the general section on Dynamic Application Development. XML, SOAP, and XSLT Dynamic Applications use XML markup language.

You should be familiar with the XML markup language before developing XML, SOAP, or XSLT Dynamic Applications. The requests in XSLT Dynamic Applications are written using XSL transformations. You must be familiar with the structure, syntax, and elements of XSL transformations before developing XSLT Dynamic Applications.

Use the following menu options to navigate the SL1 user interface:

  • To view a pop-out list of menu options, click the menu icon ().
  • To view a page containing all of the menu options, click the Advanced menu icon ().

XML, SOAP, and XSLT Protocols

This section describes how to create Dynamic Applications that collect data by parsing collection objects from XML documents. There are three Dynamic Application protocols that parse collection objects from XML documents:

  • XML. For this Dynamic Application protocol, SL1 performs an HTTP GET request for the XML document specified in the associated credential. The collection objects in an XML Dynamic Application specify how SL1 should parse values from the XML document.
  • SOAP. For this Dynamic Application protocol, SL1 performs one or more HTTP POST requests on the URL specified in the associated credential. The collection objects in a SOAP Dynamic Application specify which response returns values for the collection object and how SL1 should parse values from the returned XML document. The requests in a SOAP Dynamic Application are performed in a specified order. You can substitute a collected value from a request in the POST content of a future request. The collection object that is substituted must collect a single value, not a list of values.
  • XSLT. For this Dynamic Application protocol, SL1 performs one or more HTTP POST or GET requests on the URL specified in the associated credential. The collection objects in an XSLT Dynamic Application specify which response returns values for the collection object and how SL1 should parse values from the returned XML document. The requests in a XSLT Dynamic Application are performed in a specified order. If the credential specifies a POST method, the POST content is generated by performing an XSL transformation on an XML document that contains all the values collected using the preceding requests. Therefore, unlike a SOAP Dynamic Application, you can use the values collected for a collection object that returns a list of values to constrict a request. All requests must specify an XSL transformation that is applied to the response returned for that request. The result of the XSL transformation that is performed on the response must be in a specific format from which SL1 parses the collection objects for that request.

What is XML?

XML stands for "eXtensive Markup Language". XML was designed to transport and store data, with focus on what data is. By itself, XML does not actually do anything. XML was created to structure, store, and transport information. XML stores data in plain-text format. This allows XML data to be exchanged between disparate hardware and software.

XML data is frequently sent using HTTP requests. Users can send SL1 data by writing client code that makes HTTP calls and sends the XML data.

When XML data is received, the receiving computer must include programs to receive, parse, and respond to XML requests. Most browsers include built-in parsers for XML.

To learn more about XML, see http://www.w3schools.com/xml/default.asp

Elements of XML, SOAP, and XSLT Dynamic Applications

XML, SOAP, and XSLT Dynamic Applications have the following elements in common with other Dynamic Application types:

  • Archetypes. Defines what type of data is being collected and how it will be displayed in SL1. XML, SOAP, and XSLT Dynamic Applications can be either the Performance or Configuration archetypes.
  • Properties. Allows for version control, release notes, collection, and retention settings.
  • Collection Objects. Define the individual data-points that will be retrieved by the Dynamic Application. These data points are called collection objects. Defines what type of data is being collected (gauge, counter, etc) and how it is grouped. XML, SOAP, and XSLT Dynamic Applications have collection object settings that are unique to the respective protocol. These settings are described in the Collection Objects section.
  • Presentations. For Performance Dynamic Applications, defines how collected values will be displayed by SL1.
  • Thresholds. Can be used to define a default threshold value that can be included in alerts. The threshold appears in the Device Thresholds page for each device the Dynamic Application is aligned with. The threshold value can be edited for each device without affecting the behavior of the Dynamic Application for other devices.
  • Alerts. Evaluate collected data. If the collected data meets the conditions defined in the alert, the alert can insert a message into device logs and trigger events.
  • Credentials. Define how authentication should occur for each Dynamic Application on each device. XML, SOAP, and XSLT Dynamic Applications use SOAP/XML credentials. When an XML, SOAP, or XSLT Dynamic Application is aligned with a device, you must align a SOAP/XML credential to that Dynamic Application for collection to occur. The value specified in the Method field for the aligned SOAP/XML credential must be:
    • GET for XML Dynamic Applications.
    • POST for SOAP Dynamic Applications.
    • GET or POST for XSLT Dynamic Applications.
  • Caching. When SL1 requests information from a device during Dynamic Application collection, SL1 can optionally cache the response from the device. If a response is cached, other Dynamic Applications that use the same protocol can use the cached response to retrieve collection object values. Caching responses reduces the number of requests performed by SL1 and speeds up collection.
  • Dynamic Component Mapping. Dynamic Component Mapping allows SL1 to use Dynamic Application data that has been collected from a single management system, such as a VMware ESX server, to create multiple device records for the entities managed by that single management system.
  • Relationships. Dynamic Applications can be configured to automatically create relationships between devices. For example, the Dynamic Applications in the VMware vSphere and NetApp PowerPacks are configured to create relationships between VMware Datastore component devices and their associated NetApp Volume component devices. Relationships created by Dynamic Applications are used and visualized by the platform in the same manner as relationships created by topology collection, Dynamic Component Mapping, and manually in the user interface. The settings for configuring the creation of relationships in a configuration XML, SOAP, and XSLT Dynamic Application are the same as the relationship settings for other Dynamic Application protocols.