I like that combination of "MUST NOT" for the process, but "SHOULD" on
the runtime to check it. In fact, I like the whole thing.
Michael
Mike Edwards wrote:
OF81C9A961.23D76323-ON802574FB.002995B3-802574FB.002A9D18@uk.ibm.com"
type="cite">
Folks,
I'll deal with the wording towards
the
end of my note.
First, I'd like to tackle a question
about the error here that was bothering me on the call.
Strictly speaking, for a CLIENT of a
conversational service, it is incorrect for that client to make any
call
to the conversational service
after it invokes an endConversation
operation on the service. The "isCompleted" requirement
does not help, in my opinion. I agree
that without ordered delivery of the
client request messages, then it may so happen that no error occurs
simply
because the second
operation gets to the service ahead
of the first operation, but it is weird (in my opinion) to rely on such
behaviour to avoid an error.
In principle the client reference
proxy
will know that an error has occurred, since it sees the endConversation
operation called
followed by some other call - the
proxy
is in a position to report the error immediately. The sequence of
operation calls is clearly
incorrect.
Now to the words:
"Processes MUST NOT invoke an operation on a partnerLink with a
conversational
interface after an endsConversationoperation is invoked.
If this occurs, the SCA runtime SHOULD
generate
an sca:ConversationViolation fault.
If it can be determined through static
analysis
that a process invokes an operation on a conversational reference after
an endsConversation
operation has been invoked, that process
SHOULD be rejected by the SCA runtime."
Yours, Mike.
Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014 Mobile: +44-7802-467431
Email: mike_edwards@uk.ibm.com
The current spec wording says the following:
"Any process which, through static analysis, can be proved to use
an operation on a conversational interface after an endsConversation
operation has completed SHOULD be rejected. In cases where the static
analysis cannot determine that such a situation could occur, then at
runtime
a sca:ConversationViolation fault SHOULD be generated by the SCA
runtime
when using a conversational partner link after the conversation has
ended."
If we didn't want to strongly encourage static checking for this, and
we
don't really care if we have a rule that can't always be tested or
enforced,
then we could replace both of these sentences with the following:
"Processes MUST NOT invoke an operation on a partnerLink with a
conversational
interface after an endsConversation is completed."
Michael
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates
this mail. Follow this link to all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with
number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
|