« Independent mapping of methods and parameters | Main | Is void a data type? »

June 6, 2006

Automatic adaption to Web service changes

I'm just brainstorming about a new concept in the Web service area.

The idea is that a service consumer is changed automatically if the Web service itself changes. At first, I'd like to look at simple examples, like changing a method name or changing the return type to void.

For example this would mean that if a method of the service is changed from public void hello(); to public void helloWorld(); the consumer is changed to helloWorld(), too (i.e. the SOAP message contains the new method name).

This is the idea. I'm not sure how to implement this idea, yet.

Here are some things I thought of:

I have to think about what needs to be changed on consumer side. I don't think that you have to change the consumer classes directly, but the SOAP message that is sent, only.

Posted by Dominik Marks at June 6, 2006 10:27 AM

Comments

How about an intermediary or proxy that knows both the new and the old protocol, and is either generated from or configured with both the new and old WSDL?

Posted by: Stefan Tilkov at June 6, 2006 1:55 PM

Why would you want this... hm? What is the scenario and use case?

Posted by: Christian Weyer at June 7, 2006 11:47 AM

@Christian Weyer

You may know the problem that a Web service is updated and the consumers don't know about that. They try to use the old service (i.e. they send the old message).

The Web service provider does not know all consumers and a consumer may not know that the service is updated. Normally the consumer needs to be updated manually.

My idea was to update the consumer (semi-)automatically. I don't know yet how to do this, but I'm working on it.

Posted by: Dominik Marks at June 7, 2006 12:19 PM

But there is no loosy goosy relation between the real consumer and the service - so, depending on what you understand by saying '(semi-)automatically' this won't work as there wlways is some kind of dependency.
I think the discussion should be directed to server contract design and how loose or strict the contract is. Depending on that the adpotion of changes may appear in at different levels of the implementation.

We've dealt with this for years, believe me, it is non-trivial.

Posted by: Christian Weyer at June 12, 2006 1:25 PM

Hello! Good Site! Thanks you! gnxhcowhtoac

Posted by: rtlgwjevpk at December 2, 2007 6:27 AM

Posted by: kpabepzzpc at December 2, 2007 6:34 AM

Post a comment




Remember Me?

(you may use HTML tags for style)