Introducing the Control API
A cluster of Traffic Managers is normally managed using the Web-based Admin UI on one of the cluster members.
The Traffic Manager’s Control API provides an alternative means to remotely administer and configure a Traffic Manager cluster. For example, when an Intrusion Detection System detects a remote attack attempt, it could use the Control API to configure the cluster to drop all connections from the suspect IP address.
A provisioning system could detect server overloading by monitoring the response times of the server nodes using Service Level Monitoring and the SNMP interface. After it had provisioned additional servers, it could then reconfigure the server pools on your Traffic Managers using the Control API.
Standards-Conformant SOAP Communications
The Control API is a standards-conformant SOAP-based API that provides the means for other applications to query and modify the configuration of the cluster.
“SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses.” [Simple Object Access Protocol (SOAP), w3.org]
Most importantly, SOAP is a commonly accepted standard that allows applications to communicate. The Traffic Manager’s Control API is published in the form of WSDL (Web Services Description Language) files. These files document which methods (remote procedure calls) are available, what input parameters they take, and the output they return.
The Traffic Manager’s WSDL files are located in ZEUSHOME/zxtm/etc/wsdl. You can download the WSDL files from the SOAP API page in the Traffic Manager’s Online Help system.
A SOAP-compliant programming environment parses the WSDL files to determine which remote methods can be called, and then allows the application to call these methods much as if they were local functions. The SOAP environment insulates the application developer from the underlying complexity – network connectivity, XML formatting, cross-platform compatibility, and so on. The application developer can concentrate on implementing the control logic required to support the application they are building.
The Control API can be used by any programming language and application environment that supports SOAP services. C#, Perl, Java and Python are commonly used.