
Karl Czajkowski wrote:
(*) Extension discovery problem: to determine what extensions are supported by a service endpoint in order to customize the request, not to be confused with the harder and almost as critical extension-aware discovery problem: to choose an appropriate service endpoint based on the availability of extensions one wishes to employ.
That's actually a pretty easy problem. The main components are: * Standards & Ontologies: define what the extensions are! I suspect it is best to just associate a URI with each feature set, and then the approach is to use ontologies to understand the space and standards to nail down the descriptions. * Information Discovery: allow clients and users to look up what optional features are supported by a service before contacting it. Which is the usual registry problem and is pretty much solved. All that's really needed at the basic level is for services to have some mechanism for advertising the set of optional features they support so that the registry can pick that up. (I suppose it is possible that the information could be overloaded into the port-types supported by the service, but I suspect that will break horribly when low-level coders try to implement it and fail to understand the importance of interface semantics. That happens in OO programming all the time, alas...) Donal.