[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [soa-rm-ra] Action (private action, public action, jointaction) and State (private state, shared state, RWE)
Gentlemen, Although this is a very interesting philosophical discussion,
the question that I have is about service/Client opacity. The things that are
private exist, no doubt about it, but they should be opaque to the service
consumer. This include both service state and service action. From the point of
view of service invoker only public things are visible and should be part of
service interface/specification. All the private things are part of internal
implementation and should be never visible. Otherwise service consumer may
start rely on the things that he should not. Now to the state. I do not know whether there is such thing as
shared state. There is shared knowledge, but this is a very different thing.
The consumer have to know service invocation requirements and expected results,
but I would never go as far as calling this a shared state. The only exception
of this rule is conversational state, but I do not think that this is what you
are talking about From: mpoulin@usa.com
[mailto:mpoulin@usa.com] Peter, my comments are embedded into your text. - Michael -----Original Message----- Hi: Firstly, here is the threaded exchange between Ken and myself on
the subject of action, private action and joint action: [Ken] Line 984: Private actions are mentioned in section 3.3. Is
it necessary/useful to introduce here? Opacity means private actions, which may
be the private part of a joint action, are not publicly visible but are likely
essential in realizing real world effect. [Peter] ??? We don't use the term "private action"
anywhere.... [Ken] line 1178-1179 says "...for any given action - whether
the action is private or is a joint action...". Also, lines
2231-2232 later say "These operations represent the sequence of actions
(often private) a service must perform..." The larger question is
what is the relationship between Action and Joint Action. If Joint Action
is a type of Action, what (Private Action?) is/are the non-Joint Action
types? Note, this has been a long-running issue... M.P.:
to my understanding, a Joint Action comprises both actions performed in the
dialogue exchanged between consumer and service AND actions performed by the
service in response to the dialogue. (I deliberately use
different words to outline non-normative sense of what I try to say) . In
this case, there may be public actions and private actions in the Joint Action:
if consumer-service exchange communication messages in clear, i.e. they act in
clear, we have public actions. All other actions including secured
(confidential) communication actions and, for sure, service's internal actions
are private. This
means that my understanding does not fit with lines 1178-1179. Then,
Joint Action is a composition of actions (private and public) - if Joint Action
ends, this means that all included actions end (complete). I think it is incorrect to talk
about "private actions, which may be the private part of a joint
action". M.P. - Agree I discussed this with Chris and my view is that an action can be
either a private action ('black box' to anyone else even if an RWE can be
perceived by others) or a 'public action' (action of a *single* actor,
but visible to all). M.P. -
Agree A 'joint action' should be seen as an amalgamation (more formally,
an aggregation) M.P. -
Disagree: after Joint Action completes, all comprising actions complete - this
is a composition rather than an aggregation
of 2 or more public actions. M.P. - Disagree: all actions in the Joint Actions may be
private (consider security and see my comment above) Indeed
lines 1178-79 (21 Dec, Clean version) imply that private action and joint
action are mutually exclusive. This conclusion came from the thought and question:
can you have a joint action without all parties to the action knowing what
makes it up? M.P. - Knowing what makes
the Joint Action and knowing what the actions were are different things. I.e.
we know that the consumer interacts with the service - network monitoring tells
us about this fact - but we do not know what the actions performed. This would mean we have a model something like, and without any
connector between Action and Joint Action: M.P. - Disagree: see my comments above. Joint Aaction, IMO,
has to include both public and private actions, plus, cardinality to public
action has to be 0-1..* while for private action - 1-1..* (service must
perform, at least, one private action to prepare the response to the request;
response may be private to the public request and vise verse) Models in the current document that show Joint Action as a type of
Action would need to change, but without surveying the previous arguments in
the TC on this, Ken and I think this approach reasonable. By analogy, we can look at the issue of State based on the current
definitions in the text and this would give us: M.P. - Disagree: while State may be shared/public and private
indeed, RWE also may have shared/public and private parts: IF RWE=service
outcome THEN a part (up to 100%) of the outcome may returned to the consumer
and used privately or a part of the outcome may be made available to others,
i.e. public. In both cases, the overall ecosystem's state has changed. Moreover, the state of
the consumer might not changed if it used service to perform for others only
(no return value but acknowledgement) We really need an activity or sequence diagram to capture this –
as it is a Shared State’s *change* that gives the RWE M.P. - Disagree: not only shared but private state as well,
something that can’t be easily captured in a class diagram. Note that the
cardinality for shared state is 1..* as a single actor’s shared state change
can cause an RWE, M.P. -
Disagree: RWE may result in no shared OR no private state OR in both
whereas joint action requires at least two actors’ ‘public
actions’ (hence cardinality of 2..*) M.P. -
Disagree: existence of public Actors does not constitute any public
actions. I actually argued for the term
‘public state’ rather than ‘shared state’, as our definition of shared state
does not imply that the ‘information’ about the state is shared, only that it
is shareable. M.P. - Agree with Peter but because of different reason: requester
may not always own the RWE in the first place to share it. I think
that is potentially confusing. In may be an academic step too far, but could this be an
alternative representation: M.P. -
Disagree: see my comments above. What we have yet to capture in any diagram is the relationship
between joint action, shared state and RWE and also – as raised in s4 – the
additional concepts of Service level RWE and Action Level RWE. Questions first: - Are
Service Level RWE and Action Level RWE intended to be the outcomes of,
respectively, a Service Action and a Communicative Action? Do we need to align
the terms here? M.P. IMO,
a Communication Action causes, at least, one Service Action. I.e. a Service denies
request: response may or may be not sent back and no RWE is produced by the
service. My answer is Yes, we need to align them here and be very accurate with
relationships with RWE. - Are we
clear that any RWE caused by a communicative action cannot, by definition, be
part of the ‘substantive’ RWE that is delivered by the use of a service? M.P. I do not understand and did not before what RWE may be
produced by Communicative Actions... Or would it be better to
define RWE as precisely being that ‘soft of’ effect that results only from a
service action? M.P. this
is my strong recommendation to avoid confusions in the future. In other
words, a communicative action will have effects, but not RWEs…M.P. Yes, and the first effect is, at least, one private
action of the service. Overall, RWE is always a change in the state of the
ecosystem while an effect is just a reaction to a trigger and this reaction
does not necessary results in the change of the ecosystem's state If we keep the distinct concepts of communicative and service
actions, the distinction only makes sense if we consider the former as a sort
of ‘support action’ M.P. -
Agree that helps parties prepare for, execute and validate a service
action (“are you ready?”, “give me a moment, just checking things…OK, ready
now..execute”, “OK, got it”). We talk of RWE as both being “a measurable change to the shared
state of one or more participants”M.P. - I
was always disagree with this: RWE may be consumed resulting in the state
change by a 3rd party, not a participant of the service interaction. I.e. a
consumer invokes service to send notifications - consumer's state does not
change in this interaction but RWE is created (notifications), but
also as a “measurable change in the overall state of the SOA ecosystem”.
Presumably a communicative action will not have an impact on the ‘overall
state’ but rather cause transient effects which have no lasting value – and RWE
is all about creating a value M.P. -
Agree for the service participants M.P. - Disagree: considering service _interaction_ participants,
RWE may be used for changing state of non-participants as I mentioned above. Indeed,
the RM states that: ‘The service consumer is trying to achieve some result by using
the service, as is the service provider. At first sight, such a goal can often
be expressed as “trying to get the service to do something”. This is sometimes
known as the “real world effect” of using a service’. M.P. - sure, but this does not mean that the state of the
consumer changes because of this interaction. For me,
this is not the same as the outcome of a communicative action. However, the RM
goes on to say: ‘a real world effect can be the response to a request for
information or the change in the state of some defined entities shared by the
service participants. M.P.
- IMO, this is too narrowed explanation In this
context, the shared state does not necessarily refer to specific state
variables being saved in physical storage but rather represents shared
information about the affected entities.’. This could be understood to favour
communicative actions also delivering RWE. M.P. - Disagree unless we consider the process of service
execution (not the result) as a change in the state of ecosystem. This
suggestion would be very strange to me. My view is that the
‘the request for information’ in the RM example is a service request not an
accessory activity. M.P. -
Absolutely agree. Comments please – Chris and I will try to come up with some
satisfactory wording changes in light of our discussions… Cheers, Peter Peter F Brown Independent Consultant Transforming our Relationships with Information Technologies www.peterfbrown.com P.O. Box 49719, Los Angeles, CA 90049, USA Tel: +1.310.694.2278 The information contained in this communication may be CONFIDENTIAL and is intended only for the use of the recipient(s) named above. If you are not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please notify the sender and delete/destroy the original message and any copy of it from your computer or paper files. |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]