- From: Shi, Xuan <xshi@GEO.WVU.edu>
- Date: Thu, 16 Mar 2006 14:22:02 -0500
- To: "'Kunal Verma '" <verma@cs.uga.edu>, "'public-sws-ig@w3.org '" <public-sws-ig@w3.org>
- Cc: "Shi, Xuan" <xshi@GEO.WVU.edu>
Kunal, Thanks very much for your concerns. That's a typical question in Web services composition. Given the example of ESRI's address geocoding Web services, since it is a paid service, the requester needs to invoke two Web services in order to get the result. First, the request need to invoke an authentication service by passing the user name and password to the service provider to generate a dynamic token, which then is used as an input variable to invoke the geocoding service. Here is the problem as you see the requesters have to invoke two Web services to get the result. In my opinion, the source of the problem is that the developers or service providers only care about how to develop the service, but less consider how requester can consume the service in a much simpler and easier way. So, can we send one request to the service provider to invoke two or more Web services? Yes, definitely. The precondition is that service providers have to change their development routines to handle all such processes on the server side, other than let the requester to send the request two or multiple times to get the result. The solution was detailed in two articles that can be accessed at: http://www-128.ibm.com/developerworks/webservices/library/ws-intdist/ http://www-128.ibm.com/developerworks/library/ws-semantic/ You can see how to transform all kind of composite Web services into atomic ones so that requester can just send one service request document to the service provider who, then, has to handle all processes on the server side to invoke multiple functions to generate a response. That's why service deployment is so easy to the requesters by OSRR. Service providers have to sacrifice somehow in such a process unfortunately :) Best wishes, Xuan -- Do you think that all Web services can be generalized to this approach. In many cases, it may not be possible to just send a single request to a service, since an interaction might be needed by invoking more than operation of the service. An simple example could be a WS that has two operations - getQuote and placeOrder. The user may not want to place an order until he gets the quote. In that case, the user would have to invoke both operations of an services as it would not be possible to just send one request to invoke both the operations. My question is how would OSRR handle this case? Would you not have to model both the operations ?
Received on Thursday, 16 March 2006 19:22:39 UTC