Web Services and Genericity

This seems to relate to quite a few issues that've been discussed here 
recently (late vs. early binding, loose vs. weak coupling, and 
equivalence) so forgive me if this is a bit vague.

It's noticeable that as we move up through the layers of XML/WS 
specifications from typing of individual messages, through 
specifications of individual multi-message operations, to 
specifications of multi-operation conversations, that the precise types 
of items from lower layers are being hardwired into the higher layers. 
For example, a WSDL port-type/operation hardwires in the types of its 
input and output messages; and in all the orchestration languages I've 
seen so far, specific WSDL port-type/operations are hardwired into the 
specification of the conversation.

In the latter case, in particular, this seems to be particularly 
unfortunate, given that many business processes will be very similar at 
the level of orchestration, differing only in the types of the concrete 
service endpoints they apply to (which in turn might well only differ 
in message type) ... binding those lower layer types into the 
definition of the higher level orchestration makes it impossible to 
reuse the orchestration in different contexts.

If this is the case then it might be desirable to take a leaf from the 
generic programming community's book, and consider defining higher 
layers relative to type-parameters rather than concrete types. WRT 
orchestration languages this would allow us to specify generic 
conversations schematically, effectively abstracting over broad classes 
of business processes, then instantiate at particular concrete 
port-types/operations to get a concrete conversation.

Thoughts?

Cheers,


Miles

Received on Wednesday, 17 July 2002 09:52:51 UTC