Is it really a protocol change if I change e.g. an RPC-style WS operation name? Doesn’t that very much depend on my point of view, i.e. whether I write (or at least look at) my code as dependent on the lower-level protocol (which is always going to be one level more generic that my high-level protocol) or dependent on the higher-level protocol?
Urgh, protocols. There’s so much confusion around the word that I think Stefan would be much better served to ask the question from a software architecture POV. I think the equivalent would be this;
Is the connector changed by a change in an operation name?
The answer to that is clearly, unequivocally, yes; connector semantics include application semantics, by definition.
No matter how you choose to design your connectors, be it with a single specification (ala Internet based apps like the Web), or be it with more than one (ala Web services, with domain-specific-semantics/WSDL/SOAP/binding), you can’t escape the fact that a change in operation means a change in connector means an impact to interoperability.
I’ll leave the mapping of this explanation to the use of the word “protocol” as an exercise for the reader. 8-)