OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-msg message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: [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


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC