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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrp-wsia message

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


Subject: [wsrp-wsia] Issue ???: producer induced entity state changes


Sorry, but we got on to this topic this morning without identifying its
issue number.

This morning we discussed a potential modification to the 2 phased
protocol described in the .7 draft supporting producer controlled entity
state changes.  The current proposal has us passing a boolean to each
operation where a producer might update entity state [currently only
performInteraction].  The boolean is called entityStateChangeOK.  If
true the producer can freely update an entity's state.  If false, the
producer must not update the entity state.  Rather it throws a special
fault which the consumer recognizes and decides on how to proceed.
Typically, it is expected the consumer will clone the entity and then
recall the original operation on the newly cloned entity. This handles
the situation that the consumer understand/manages when new entities
come into existence, however the producer has a need to update entity
state.

In a side conversation with Rich, I had suggested the following
modification to this scheme.  Expand the meaning of
"entityStateChange".  Allow this field to carry one of three values:
"OK", "Fault", or "Clone".  "OK" and "Fault" has the same semantics as
the original proposal.  "Clone" means the producer MUST clone the entity
prior to making any state change.  Upon return from the call the
producer returns the new entity [and new refhandle] to the consumer who
MUST update its state accordingly.

This morning it was pointed out that a simpler scheme could be
sufficient.  This scheme removes the "Fault" situation in deference to
"Clone".  I.e. The field would become "cloneEntityOnStateChange".  If
the value is true, the producer MUST clone the entity before making any
changes, otherwise it is free to change the entity state in any way it
desires.

I had originally proposed the first scheme as I was worried there might
be use cases where the consumer had to direct/control the clone
operation.  I.e. we have talked about giving the consumer [some]
latitude in supporting hierarchies/etc.  I wasn't sure whether in such
situations a simple clone was sufficient.  Keeping the "Fault" case
allowed a [back]door for these consumers.  If we choose to move to the
simpler, no-fault, scheme folks need to make sure there isn't a need for
anything other then a simple clone.

I will leave it to Rich to expand upon this.  Specifically, to describe
the changes to the return value(s) from performInteraction.

    -Mike-



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


Powered by eList eXpress LLC