![]() [remove menu for printing] [comments] [disclaimer] [site map] [search] [compact menu] Last modified 15 April 2004 |
Madrigal Web ServicesMadrigal now exposes all the information and capabilities it has as web services, which allows easy access to Madrigal from any computer on the internet using any platform (Unix, Windows, Mac, etc). Madrigal's web services are basically cgi scripts with simple output that allows easy parsing of the information. Any language that supports the HTTP standard can then access any Madrigal site. Note that this approach of remotely accessing Madrigal data has been always possible before by parsing the html output meant to be displayed in a web browser (this general programming method is referred to as "screen scraping"). However, not only is this parsing difficult; but the code often breaks when the user interface is modified in any way. With web services the returned cgi scripts are designed to be both simple to parse and stable. The web services are not implemented according to the SOAP or XMLRPC standard since not all scripting languages have support for these standards (or for XML parsing). Instead they use the simple approach of returning data requested via a query as a delimited text file.
The web services are simply CGI scripts written in Python. They are meant to be complete, in that any information that is used to generate our present web pages is also available via web services. For example, you can use web services to find out what instruments exist, to select all experiments meeting certain criteria, to select all files meeting certain criteria, and to also get the data with all the filtering and derivation capabilities of isprint. You can also use web services to simply derive Madrigal parameters for a given range of points in time and space. In general the python cgi scripts documented below simply run a corresponding python script on the local Madrigal server. The link belows document both these cgi scripts and
Finally, one other tcl cgi script should be included as part of the web services API: getMetadata. This cgi script allows direct downloading of any of the 10 metadata files. In general, all information needed from Madrigal should be available in an easier-to-use form from the python cgi scripts above. However, there is some information in the metadata that is not available through those scripts, and if that information is ever needed, a user can call getMetadata to download the metadata file itself as follows: cgiUrl/getMetadata?fileType=value where value is
Revised: March 9, 2004 |