The HTTP Connector makes it possible for remote applications to connect to an Instrument Manager. The connector is capable of serving both HTML and XML formatted content which makes it possible to monitor and manipulate the Instruments registered with the Instrument Manager.
Used correctly, this interface provides a powerful and efficient way to work with the Instrument Manager. The Swing based Java client makes use of the XML interface to communicate with the Instrument Manager.
The XML interface is enabled by default, but it is possible to disable it in the configuration for the HTTP Connector. It is also possible to set the HTTP Connector into a read-only mode, in which case several of the URLs listed below will be unavailable.
Requests are made to the XML Client Interface using one or more of the following URLs. Any client which is capable of making HTTP requests can be used.
All requests must be made using the HTTP GET method. Currently POST is not supported. URL request parameters specific to each URL are described in detail on each URL page below.
All requests and responsed are encoded using the UTF-8 encoding. When building the URLs, it is very important that any text parameter values be propperly URL Encoded. English text will usually work but if a future user begins using your application with another languange, like Japanese, unencoded text will likely be corrupted when sending the requests to the server.
|Instrument Manager||/instrument-manager.xml||The Instrument Manager URL is used to obtain information about the Instrument Manager as a whole, including any root Instrumentables. By providing a recurse parameter, it is possible to request the entire instrument tree for the system in a single request.|
|Instrumentable||/instrumentable.xml||The Instrumentable URL is used to obtain information about a particular Instrumentable, including any child Instrumentables or Instruments.|
|Instrument||/instrument.xml||The Instrument URL is used to obtain information about a particular Instrument, including any permanent or leased Samples.|
|Sample||/sample.xml||The Sample URL is used to obtain information about a particular Sample. To obtain the actual data points of the sample, the Sample Snapshot URL must be used.|
|Sample Snapshot||/snapshot.xml||The Sample Snapshot URL is used to request a snapshot of the contents of a particular Sample.|
|Sample Snapshots||/snapshots.xml||The Sample Snapshots URL work similar to the Sample Snapshot URL except that it makes it possible to request snapshots for several Samples in a single request.|
|Create Sample||/create-sample.xml||The Create Sample URL is used to register a new Sample lease with the Instrument Manager. It is also possible to renew leases using this URL.|
|Create Samples||/create-samples.xml||The Create Samples URL is used to register multiple new Sample leases with the Instrument Manager. It is also possible to renew leases using this URL.|
|Sample Lease||/sample-lease.xml||The Sample Lease URL is used to renew a lease on an existing Sample.|
|Sample Leases||/sample-leases.xml||The Sample Lease URL is used to renew the leases on multiple existing Samples.|
|Invoke Garbage Collection||/gc.xml||The Invoke Garbage Collection URL is used to force the server to immediately perform a Garbage Collection sweep of its memory.|