HI,
WebServices requests are processed in parallel.(if capacity of the server is breached then they will hold those requests and process them in order they received)
Now coming to the result list management
When you get a request and there are 1000's of results,then we can use an option called pager
suppose think that the webpage you are using can show 10 records at a time
the selection would be ,the first webservice call will return 10 records,then from the second call on wards
you should get the last record rownum and the pager value.
This way you can manage results for the page.
input=search xml .output=1st call displayed 10 records
2nd call input = start=10 pager=10 with search xml output= 10 records starting from 10th record--> query will be select <columns> from table where rownum>10 and rownum<20(start+pager) or JPA/Hibernate have the pager mechanism you can use that
Response is always good to send back in XML format(after all webservice's process reqs in soap-xml's) create a xml representation of the object and send them in format of xml.
An xml format can be recieved by any service and can be transformed into their specific representation if they want
better create a WSDL for the service with XSD properly defined.
Hope this helps....