← Prev in month ← Prev in thread
Next in thread → Next in month →

[ebxml-msg] Role/@name, Role/@href, and new requirements.

From
Dale Moberg <>
Date
2002-11-07T18:23:41+00:00
ID
Thread
[ebxml-msg] Role/@name, Role/@href, and new requirements.
Hi (long message warning),

Jeff T. explained a little 
more to me why and where the "unique" value requirement
is coming from, and I 
will first explain my understanding of its rationale
and then discuss what we 
might do about it.

The CPPA group had a goal to align BPSS, CPPA, and 
Messaging so that in the
event people used all three together, they work 
together harmoniously.
The addition of a normative appendix tried to explain 
to CPPA users
how CPA information items mapped to Messaging items in the SOAP 
envelope
header blocks as well as for operational parameters (for 
example,
for reliable messaging retry counts...).

Also, text is 
provided for CPPA information items saying what BPSS information
items are 
the sources of data for Messaging items.

So far, only what we 
have
said for Role has created a problem. Apparently we left it 
insufficiently clear
in the Appendix (and text) just what information item is 
used to populate
the Role element in the Messaging header. There are two 
choices that have
been made-- use the value in cppa:Role/@name or 
cppa:Role/@href. My recollection
was that the value should come from 
cppa:Role/@name. Enter into detailed mode.

A BPSS instance can have 
several places that have a role element and the name
attribute can have the 
same value depending on the specific business
process. The nameId value, 
because it is type ID,
must be unique in the document. If we had several 
CollaborationRole elements
in a CPA, that each have their own Role element, 
then the href value could have
different #ID-values to reference the 
different BPSS locations. This feature
supports linking CPA back to BPSS. In 
general, I do not believe we would commonly,
in a CPA, have CollaborationRole 
elements with the same Role/@name values for
the same BinaryCollaboration. If 
this did occur, the lexically later element
would have to be an alternative 
subordinate DeliveryChannel
binding possibly used for failover. At any rate 
it would be an exotic case.

Now it is my understanding that we are to 
consider distinct CollaborationRole
elements in a CPA that pertain to 
different Actions, that have the same
Role/@name values but that have 
different Role/@href values (reflecting
different binary collaborations). In 
this case, the href allows pointing
into the different Role elements in the 
BPSS instance. The issue Hima
raised is this: how upon receiving a Message 
with a Role value, could
I go from that value to the right 
"CollaborationRole" element (or its database
image)? After all, the @name 
value is potentially shared by a first request,
and also a second request in 
a second binary collaboration.
If, however, I had used the href value, I 
could go from the "Role" element
information in the SOAP header, to the right 
place in the choreography.

I agree with Hima that this would be an 
advantage. We could offload maintaining state
within the 
MSH (that I have received the first request in a choreographed chain of 
requests) to
a message value, and let href values for Role track our 
path through choreographies.

However, this functionality really 
represents new functionality for supporting
more complex choreographies, that 
I do not recall being raised as a requirement
for Messaging or BPSS 
alignment. I think that we should proceed by asking:

1. whether Messaging 
wishes to support the ability to map back into constituent 
binary
collaborations in complex choreographies. 2. Messaging wishes to use 
the Role
value to do this, rather than some other more specific backpointer 
value that
more directly accomplishes this.

I personally would prefer 
to see a new (optional) header
element with dedicated semantics
for the 
above problem added to the MessageHeader
that would provide backpointers to 
BPSS (or other)
defined stages (binary collaborations)
in a complex 
choreography. That is, I prefer this if we add new functionality.

 It would be possible to use the Role/@:xlink:href
to get at that 
functionality, but it is a bit of a reach.
I think overloading Role in this 
way also
muddies the semantics of Role, one of whose
original intents was 
to allow two parties to each be buyers
and sellers in a given process 
specification, and yet have
different CPA configurations for those distinct 
roles.

Anyway, I am really persuaded that Hima has raised a new
bit of 
functionality, beyond version 2 in Messaging or CPPA.
I think we should 
consider how best to do it. CPPA can then
take this as an issue, and perhaps 
document both using @xlink:href
and @name as potential values for Roles if 
the overloaded Role
element is the way Messaging wants to handle the 
backpointers
to complex choreographies.

Dale 
Moberg

However,
← Prev in month ← Prev in thread
Next in thread → Next in month →