Sorry, can’t agree – SOA is a style, while WS is technology. We
did SOA without WS, but the concepts of service methods and interface stay the
same . Take a quick look at our book – Applied SOA.
This aside, the question is whether you consider RWE to be side
effects? Then it has to be stated this way. The issue is that side effects are
not mandatory and calculator example is a good example.
Conversely, we can call a combination of side effect and service
method’s execution result a RWE. Then RWE becomes an umbrella statement for a
combination of both, which probably makes the most sense. In this case, service
invocation always results in RWE, which can encompass multiple things.
But whatever route we take it should be mapped to a common
understanding
Boris,
I will agree with Michael that when we talk about method
execution, we tend to be talking about code implementation of Web
Services. While we need to make sure we don’t lose our audience, the service
method as relates to C++ or Java coding is pretty much irrelevant to an
understanding of SOA principles.
I agree if a service identifies certain results are the result
of an interaction/execution – we’ll straighten this out – then these should happen
as described. However, side effects are rarely optional and often tend to
be unwanted. While RWE may be a RM invention, I find people easily
resonate with it.
So, to your obligations, how can we effectively relate the
variations?
Ken
---------------------------------------------------------------------------
Dr. Kenneth Laskey
MITRE Corporation, M/S
H305
phone: 703-983-7934
7515 Colshire
Drive
fax: 703-983-1379
McLean VA 22102-7508
It is another example, where
we keep inventing stuff. Typically discussing services, people discuss two
things – method execution result and side effects. Service results always
happen (I am including error here), while side effects are optional. RWE is
invention of SOA-RM. Now the question is how to map these three things to each
other.
Ken, I keep fulfilling my
obligations from today
Very well, Ken, if we follow RM
about RWE, we cannot say that the purpose of the service is to provide RWE or
that the service provides RWE always.
The purpose of the service is the
consumer satisfaction while this consumer can consume the entire
service result and do not leave anything for public. This means, service does
not necessary provides RWE. Oups! BTW, I do accept this formula being INSIDE the
SOA ecosystem. However, from the ecosystem level of view, everything in it is
visible, i.e. shared with the ecosystem.
This all is about viewpoint. We
have to choose one and then agree on what is what in its view.
If RM also insists on that service always provides RWE - it
becomes an oxymoron and RM 'sits between chairs'
- Michael
Where we agree is description
can’t contain every possible piece of relevant information (as noted in the
RM), and sufficient description is in the eye of the beholder. We say
enough about description to make it clear that a Web Service interface alone is
not sufficient; if someone wants to insist it is, that’s their problem.
By definition, if something
is shared then it is to some extent public, i.e. available to someone (not
everyone) else. RWE is defined in the RM as a change in shared state (and
requested information exchange), so private results not evident to someone else
is not RWE, at least not as far as the ecosystem is concerned.
If I go this way ("the change in private states is the change in private
states is unknown to the SOA ecosystem ) I can
easily end-up with that consumer internals and service internals (everything -
Actions, activities, invocation of other services/resources, intent,
willingness, etc.) are " unknown
to the SOA ecosystem", which leads to that neither consumer nor service are
really known to the SOA ecosystem except for their public interfaces (Hello,
Web Services! Where are you hiding?)
All this starts to become an
utopia. Why? For the sake of insisting that RWE is public only, which is absurd
(sorry, but it is if the word World means something else other than Everything,
i.e. not World). I used to think that does not matter if service produce
private or public results, it is the change in the state of the World... Is
this also incorrect?
We can avoid a lot
of misinterpretations and confusions if we admit very simple thing:
RWE is the change in the state of the World including public/private or
shared/private things. This means that any service always produces the RWE
regardless if it is consumed privately or publicly.
The difference between RWE and
service Result is in that Result is the only thing promised and admitted by the
service while RWE is the use of the service Results that is not announced in
the Service Description. Everyone can use the service result in any unexpected
way and service result can cause many different changes in the state - both are
the parts of the RWE, which the service consumer does not care.
I would like to have a SOA
ecosystem that includes all external activities (between entities) and all
internal activities (of the entities); SOA ecosystem sees all. Inside the SOA
ecosystem, some entities are not always acting publicly and this is OK - RAF
has to describe and define things on the both sides of interfaces.
Let’s try it this way:
a service action (by which I mean an action from the Action Model) results in
the change of public and possibly private states. The change in public
states is RWE, the change in private states is unknown to the SOA ecosystem unless
these become public at a later time.
I gave this example as an
evidence of inconsistency and brocken/forgotten dependency between definitions.
I have to be more accurate:
"then we have said that that
result is outside the scope of our consideration" is
not the same as "we
just said it is not what we are considering under RWE".
The latter I is true if RWE is public only BUT the former may be understood as
that private service result is out of the scope of RAF! This I cannot agree
with because BOTH types of result belong to the SOA ecosystem.
Service Action produces private
(always) and public (sometimes) results and only the public one is RWE. If you
agree with this statement, than the purpose of the service is to produce Result
whether public or private, or both.
I agree with most of your
points, except the final one on RWE. Someone may use a service to satisfy
some private need but if the result is only known privately, then we have said
that that result is outside the scope of our consideration. We didn’t say
the private result didn’t occur, we just said it is not what we are considering
under RWE.
---------------------------------------------------------------------------
MITRE Corporation, M/S
H305
phone: 703-983-7934
7515 Colshire
Drive
fax: 703-983-1379
Before going through details and
definitions, I think we have to agree on the a few principles.
Since RAF is about SOA ecosystem
and we agreed that this one includes both business and technology then:
1) we cannot operate with
definitions from RM with no changes because RM did not considered
ecosystem. However, the changes of RM definitions should not deny the
original definitions but may modify/extend them for the new context -
ecosystem
2) all definitions we use have to
be either meaningful/"interepretable" in both Business
and Technology or we have explicitly identify the scope of the
definition and justify that it does not work in the entire ecosystem ( in
this case we will never confuse SOA-based system with 'just'/technical system
3) we have to draw a
relationship/dependency lines (like in Value Networks) between our definitions
to see consistency and influence between them.
This better be not in a table
format but in a map format. For example, in one place we say that service
purpose is to provide a RWE; in another place we say that RWE is only
shared/pubic thing; this leads to the conclusion that the purpose of service is
to provide only shared/pubic thing, which is
incorrect.
If we can
agree on these principles and approach, we can eliminate a lot of unnecessary
discussions
As promised, attached is a
comparison of the terms defined in the 28 July 2010 draft alongside the
definitions used in the latest draft (in Excel and .ods formats)
As you will see, there are
precious few instances of where the definitions match exactly, although in many
cases it was more a case of cleaning up the wording (particularly to conform
with standards for definitions, eg ISO 1087) than actually changing the
definition.
Transforming our Relationships
with Information Technologies
Blog
pensivepeter.wordpress.com
P.O. Box 49719, Los Angeles, CA
90049, USA
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.
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.