ATNF Astronomy Web Services
  Navigation  


 
 
 
 
 

How does the Quanta service work?

The Quanta web service is intended as a demonstration of how functionality from existing software packages can be made available in the standard way. In this case, the methods available are from the Quanta module in AIPS++.

A web service is simply an application that can be accessed remotely, using some kind of communication protocol such as HTTP or XML. You are already familiar with the concept of providing information remotely, via web pages, using HTTP. Web services are an extension of this concept, allowing somebody to provide software remotely. Anyone can then access the software using a client.

So that anybody can access any service (if they build an appropriate client) the communication between the service and client must conform to certain standards. The standard is called Simple Object Access Protocol (SOAP) which is a form of XML. (HTML is also a form of XML).

The Quanta service has been built using C++ (since the original software, AIPS++ is written in C++). On top of the basic functions, there is a layer that controls what messages are sent back and forwards. This is implemented using the gSOAP package. Anybody can access the functions this service provides by writing their own client. This is useful for other programmers. The service is continually running on a machine, waiting for requests from clients.

For 'users' we have written a client that runs as a CGI script on the web server. CGI scripts are the programs behind just about all the forms you fill in on the web. Along with the main web page this lets the typical user access some of the service functions. To the user it will seem no different to any other CGI script that you have used. Once you press the submit button the client wraps up your request in the SOAP language, and sends it to the web service. The web service does the processing and returns the answer, wrapped as a SOAP message. The client then translates that back to text, to display on the screen.

If you are interested in trying to access the service directly, have a look at the Building a Python client page. It is very easy to do once you have installed the SOAPpy package.

 

Webmaster
ASKAP
Public