is proud to show:

Web Harvester: a Web Service client with RESTful interface
(January 2012)

Designed and Developed by: Marco Foi

Web Harvester is a Web Service Client prototype developed in Php and interacting with tree SOAP compliant service providers also developed in Php.
They form a distribute application aimed at allowing a farmer to explore some public dataset with the intent of choosing the best crop to grow in his field.
Data for running the prototype comes in part from the Agriculture General Census 2010 (ISTAT) and part has been generated randomly (Crop Yield database).

View Web Harvester full screen


The user is requested the location of the field and a range in km.

This data is used to build a spatial filter based on distance to select surrounding municipalities.

These are feeded to a service provider for retrieving the list of distinct crops cultivated in the area.

Finally the user selects one of the crops (maize gives richest reply) and some more detailed information is returned: amounts grown in each municipality (calculated converting areas to kg using a yield value from another service provider) and distance from the field (the initial location provided).

UI is built in the client's browser that gets just XML plus a CSS and a XST file for transformation.. the client is itself a web service with an (undocumented) RESTful API.

Other services can directly access the second and third screens of the Web Harvester client (first and second are just introductory html) using their URLs and get a meaningful reply in XML, also if not providing preoper parameters.

Operations available from of each Web Service created for the prototyped are briefly described to follow: