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

 


Help: OASIS Mailing Lists Help | MarkMail Help

soa-rm message

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


Subject: Re: [soa-rm] Proposal on key service concepts


Once again, I have to raise a few heckles.

While the real world effect of using a service is critical, I do not  
think that *we* should be trying to define what that is.

Also, I feel pretty strongly that for scalability and future proofing  
purposes, we need to take a more hands-off approach to the RWE. I.e.,  
to extend the on-the-wire approach to service interaction to the RWE  
itself. What that means is that rather than talking about actions/ 
functions/execution performed by the service, talk about expectations  
arising from the interaction with the service.

Finally, a lot of the definitions below about service consumer/ 
provider are either not necessary or are more appropriate for a  
reference architecture.

Frank

On Aug 24, 2005, at 8:16 AM, Metz Rebekah wrote:

> NB: In the interest of length (and time) I have only worked through
> approximately 1/2 of the comments.
>
>
>>> So I have a somewhat heretical proposal for the committee.  I
>>> am coming to conclusion that service is not a normative term.
>>>  That is not to say that at the core of SOA is the concept of
>>> service.  A service is the performance of work by one for another.
>>>
>>
>> I propose that "the performance of work by one for another" may be
>> better termed "service execution", which is (simply) the execution of
>>
> a
>
>> service.
>>
>>
>
> I believe that, as a term, "service execution" is redundant.  It only
> appears to not be redundant because the term service has been used
> imprecisely to convey a group of related concepts, namely:
>
> 1) The capability to perform work for another
> 2) The specification of the work offered for another
> 3) The offer to perform work for another
> 4) The performance of work for another
>
> Because of this imprecision, we continually add qualifiers to the term
> service, such as "service offer", "service specification, "service
> execution", etc to add to the precision.  At the heart of my  
> proposal is
> really an approach to dealing with that imprecision.  We have found  
> that
> establishing precision for fundamental concepts is crucial to the
> success of our clients.
>
>
>>> What is typically, and nebulously, referred to as a
>>> service in SOA is actually a service offer.
>>> A service offer is a proposal to perform a mission function
>>> for others.
>>>
>>
>> I propose that this is more about service *availability* than an
>>
> actual
>
>> offer. A service is available, and the service consumer (getting into
>> the RA now) does not necessarily receive an active proposal from the
>> service provider - rather, the action is initiated by the service
>> consumer. An active proposal *may* be received from a service  
>> provider
>> in some cases, such as through a message exchange pattern (MEP) in
>>
> which
>
>> the service provider initiates the "dialogue" with the service
>>
> consumer,
>
>> perhaps by asking the service consumer some sort of question (e.g.  
>> "Do
>> you have any data for me right now?").
>>
>
> If a service is available, an offer to perform work for another has  
> been
> made.  There is nothing in the definition of service offer that speaks
> to an active nature of an offer.  An offer exists, it is not made.
>
> <snip>
>
>>
>>
>>> The use of the word "service" is adopted from the notion of
>>> business services in commerce.  The noun "service" is defined
>>> in dictionaries as the performance of work (a function) by
>>> one for another.  Service is "an act" not "a function," a
>>> common misperception is that services are functions.
>>>
>>
>> I would submit that at a certain (high) level, the terms "act" and
>> "function" may be considered synonymous (i.e. performing an act,
>> performing a function). I would propose that for purposes of our
>> abstract RM, these 2 terms mean the same thing.
>>
>>
> I had to read my own paragraph several times before your answer made
> sense.  I was unclear above.  I was focusing on the difference between
> service as the performance (i.e. an act) and the function which is
> actually performed.  I would be equally comfortable with "the
> performance of work (*an action*)."
>
> Notice however, that I use action rather than act.  Merriam Webster
> defines act as "the doing of a thing, something done voluntarily"
> whereas action is "a thing done."  The definition of action goes quite
> nicely with the definition of function, "any of a group of related
> actions contributing to a larger action."  There are subtle language
> differences here - which we can work around in conversation through
> debate and shared frame of reference.  However, these differences lead
> to imprecision which I believe is badness for a normative concept.  In
> particular, imprecision is bad for a normative concept with the
> potential to ripple as much as service concepts.
>
>
>>> There
>>> are several supporting definitions that also need clear
>>> definitions to accurately communicate the definition of a
>>> service offer.
>>>
>>> Mission Entity
>>> An entity operationally responsible for performing a mission
>>> function, or operationally in need of having a mission
>>> function performed.
>>>
>>
>> I would propose that for our purposes we drop the term "mission", as
>>
> it
>
>> is tied to more specific uses (such as military). We may there
>>
> consider
>
>> use of the term "entity", which may be a human or machine.
>>
>>
>>> Mission entities may include entities such as individuals
>>> (humans) as well as organizational units, etc.
>>>
>>
>> Agreed, for the term "entities".
>>
>>
>>> Service Provider
>>> The mission entity that performs a mission function for
>>> another mission entity
>>>
>>
>> I would propose that "service provider" be tied more closely to the
>> notion of service, as in "An entity that provides a service" (perhaps
>> that's too simple - may need to expand).
>>
>
> When you say that service provider is tied more closely with the  
> notion
> of service - it is unclear what notion you are talking about.   
> There are
> multiple notions of service - the offer, the performance, the
> specification, the work.  What this definition does is tie the concept
> of provider to real world stuff - in a precise way.  The provider
> *performs* _____.  The blank is most appropriately filled with mission
> function.
>
> Again, a service is the performance of work for another.  I believe  
> this
> too points back to a basic misconception that we are struggling to  
> shed.
> That misconception is that the term 'service', as a singular
> representation of several related concepts with all of their  
> nuances, is
> the central term of the reference model.  This misconception limits us
> from understanding why Service Oriented Architecture differs from  
> other
> Distributed Architectures (Object-Oriented, Component Based, etc).
>
> A service provider is some *thing* that does some work/action for
> someone else.  If the provider is doing it for self-purposes; we don't
> care, because it is not a service.  What we do care about is what that
> work/action is that is provided and the recognition that someone other
> that the entity that wants it done will perform it.
>
> See my earlier comments about using the term mission and entity (and
> I've read ahead, so I believe we'll get into that debate in a few  
> lines
> here).
>
>>
>>
>>> Service Consumer - The mission entity that requests to have a
>>> mission function performed by another mission entity
>>>
>>
>> Same proposal as with Service Provider.
>>
>>
>>> Service Offer
>>> A proposal to perform a mission function for others (Service
>>> Consumers) An offer is made by a specified Service Provider.
>>> Mission function behavior is described by a referenced (or embedded)
>>>
>>
>> I believe that the notion of a service offer is pertinent to our RA,
>>
> but
>
>> not our RM (I believe Matt has also said this in the past). Having
>>
> said
>
>> that, I believe this gets into the contracts aspect.
>>
>>
> Ah.  I see.  I would pose the question, how can a service be available
> if an offer is not made.  The concept that an offer is made is
> independent of any reference architecture that would delve into the
> details of how the offer is actually made, how a consumer knows about
> it, etc.  However, in any permutation, it does not change the fact  
> that
> an offer exists.  Same goes for a contract.  How can a mission  
> function
> be performed for another without recognizing the concepts f a contract
> (again - apart from how they are architected).
>
>
>>> Service Specification
>>> The mission function is made accessible at Service Access Points
>>>
>>
>> Should this have been "Service Function" instead of "Service
>> Specification"?
>>
>
> No.  A service offer is all about a mission function.  I do not  
> believe
> that service function has meaning outside of mission function offered.
> Again, I believe we will benefit from the use more precise and  
> accurate
> terms
>
>>
>>
>>> Service Specification
>>> A formal description of a mission function to be offered.
>>> Includes a description of how to interact (inputs/outputs and
>>> associated semantics)
>>>
>>
>> I would propose bringing this closer to the notion of service (as
>> "service" does not appear in the above definition). Something along
>>
> the
>
>> lines of a formal description of the capabilities, interface, etc.
>>
> etc.
>
>> of a service. I seem to recall that we have had a similar definition
>>
> in
>
>> the past, in our listserv threads.
>>
>>
> Certainly we've touched on these aspects in previous threads.   
> However,
> as service specification does not equal a service offer or a service
> provider or the performance of work.  It is a formal description of  
> the
> mission function.  I believe the service specification is a critical
> concept for the RM and is *not* a service.
>
>
>>> Service Access Point
>>> A logical location where a mission function is made accessible
>>>
> (a.k.a.
>
>>> "endpoint").  A mission function may be offered from one or
>>> more Access Points
>>>
>>
>> Same proposal as with Service Specification - e.g. an electronic
>> location at which a service may be accessed. May be a URI, IP  
>> address,
>> etc. etc.
>>
>
> I believe it is important to retain the notion of 'logical location'
> which is separate and distinct from the service provider agent(s) that
> are accessible through that service access point and which actually
> perform the mission function offered.
>
>
>>> Within this service concept, there are several implicit dualities.
>>> There is the duality of capability and need.  Without a need,
>>> there is no reason to perform work.
>>>
>>
>> Agreed - and sometimes services exist before a need is identified.
>>
> Why would a service exist before a need is identified?  A service  
> offer
> is exists to satisfy a perceived need.  Perception vs. actuality is
> irrelevant.
>
>>
>>
>>> Where there is a need, a
>>> capability to satisfy the need will eventually emerge.
>>>
>>
>> I would propose the opposite, as a need is not guaranteed to be  
>> met by
>>
> a
>
>> capability. For example, I have a need to be able to withdraw money
>>
> from
>
>> a bank account and have it come through a PDA - yet that capability
>>
> may
>
>> never emerge.
>>
>
> With the correct consideration (with the contracts-specific definition
> of consideration), eventually a capability will emerge.  The money may
> not be in the form you expect (dollar bills), but then don't really  
> need
> the $$, you need the ability to pay for things.  I believe there is  
> some
> capability to do this in Austria already with cellular phones.  It may
> challenge basic misconceptions about the capability, but the  
> capability
> need is ultimately addressed.
>
>
>>
>>
>>> There
>>> is the duality of service offer and service provider.  An
>>> offer to perform a mission function for another cannot exist
>>> unless some entity offers to perform that service.  That
>>> entity is a service provider.  A final duality is that of a
>>> service provider and a service consumer.  The existence of
>>> both entities is implicit in the definition of service; 'by
>>> one' and 'for another.'  This necessary duality of provider
>>> and consumer gains clarity when thinking about contracts and
>>> exchange of value.
>>>
>>> Outside of technology, these notions of service, service
>>> offer and service provider track well with the business
>>> world.  For example, a caterer offers to prepare and provide
>>> food (appetizers, accoutrements,
>>> etc) for another, typically in exchange for a fee.  A caterer
>>> may also perform these functions for himself (for example a
>>> caterer most probably prepares his meals).  However, even if
>>> the caterer prepares exactly the same food, we do not refer
>>> to this act of food preparation as a catering service.
>>>
>>
>> I would propose that the existence of a catering capability may be
>> referred to as a service (a noun).
>>
>
>
>>
>>
>>> It is
>>> only when we introduce the concept of performing this
>>> act for another can it be accurately described as a service.
>>>
>>
>> Please see comment just above.
>>
>>
>>>
>>> This distinction between service provider (by one) and
>>> service consumer (for another) depends heavily on
>>> perspective.  The distinction between these two entities
>>> rests squarely on the exchange of value.
>>>
>>
>> I would propose that this is not necessarily heavily dependent on
>> perspective. If an entity is a service provider, that can be seen in
>> black-and-white terms - the same for consumer. I keep in mind,
>>
> however,
>
>> that a service provider may also be a service consumer and vice- 
>> versa.
>>
>
> <snip>
>
>
>
>>> If, however, our perspective is at
>>> the level of the individual, the caterer does perform a
>>> service.
>>>
>>
>>
> Why would it be black and white?  The perspective is indicative of  
> when
> there is exchange of value.
>
>
>>> The value that is exchanges may not be monetary, it
>>> may only be gratitude.  Nonetheless, there is an exchange of
>>> value.  This exchange of value tracks well with the themes of
>>> an offer, contract and consideration.  This closes the loop
>>> back to the definition of service - "performance of work by
>>> one for another."  First, there is an offer to perform that
>>> work.  Then there is agreement between two parties, the
>>> entity which offers to perform that work and the entity which
>>> needs the work to be performed.
>>>
>>
>>
>>> The performance of work has
>>> value for the entity which needs to work to be performed.
>>>
>>
>> Hopefully that is the case - not always.
>>
> Can you give an example of when there is not value?
>
>>
>>
>>> In
>>> turn, this entity must provide something of value
>>> (consideration) to the service provider.
>>>
>>> So where does this leave SOA?
>>>
> <snip>  This has already gotten too long, I'll try to add the rest  
> into
> a different email.
>
>>
>> Joe
>>
>>
>
> It is always good to examine opinions.  Discussing different points of
> view help bring precision to core definitions and will improve the
> quality of our RM.
>
> Rebekah
>



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