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.. ..so 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: