Participants and roles

In the current WS-CDL schema a role type may only belong to one  
participant type. This means that the natural way of describing  
behavior is not readily supported in WS-CDL today. For example I  
might have a bank as a participant type that wishes to behave in the  
role of a trader. I might also have a broker that wishes to behave in  
the role or trader and a counterparty that wishes to do the same thing.

To do this today I need to add to the role name something unique to  
the participant in order to model the different role types across the  
participant types.
That is I cannot have the following:

	Participant Types:
		BankParticipant			(TraderRole)
		BrokerParticipant			(TraderRole)
		CounterpartyParticipant 	(TraderRole)

But I can have:


	Participant Types:
		BankParticipant			(BankTraderRole)
		BrokerParticipant			(BrokerTraderRole)
		CounterpartyParticipant 	(CounterpartyTraderRole)

While it is possible to model things as WS-CDL stands it does lead to  
a significant explosion in description because RoleTypes cannot be  
shared. The only reason for RoleTypes to be unique today is because  
all variables and conditions are projected through the RoleTypeName  
back to the ParticipantTypeName.

In effect the nature of a ParticipantTypeName is more akin to an  
instance. It is half way between an instance and a binding to an  
instance and this is what has caused the problem to surface.

What we need to be able to do is enable RoleTypeNames to be shared.  
This would require changes to the spec but would significantly add to  
the usability of WS-CDL in practice. The sort of changes that would  
be required would be to add the ParticipantTypeName to the CDL  
functions that take RoleTypeName and to do the same for variable  
declarations and any other conditionals. There may also be a need to  
change how we bind when doing a perform as this also takes  
RoleTypeNames.  I have not done a full sweep of the spec as yet.

This may have an effect on the type system so we would need to pass  
this by our invited experts to ensure that we understand what effect  
it has if any.

Cheers

Steve T

Received on Tuesday, 1 August 2006 15:45:06 UTC