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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

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


Subject: Re: [wsbpel] Issue - 82 - Proposal for Vote


to rest on the shoulders of giants, i would be happy with the "what" as 
proposed by yaron's 4-part definition.

additionally, it may be interesting, as i have said before, to include 
some optional URI when marking the process abstract, that could signal 
some other syntax/semantics/intention that would be defined outside the 
spec.  i am certainly not wedded to this idea, but i was thinking of it 
more as a way to preserve the observable conformance work that you and 
others have done, without restricting the usefulness of abstract 
processes to solely that work.

attempting clarity through brevity,
danny

rkhalaf wrote:

> Hi Danny,
>
> I get your arguments, but I'm not clear on what you have in mind. I 
> know "why" but I'm not exactly clear on "what"..
>
> Do i understand correctly that the thing you are arguing for is strict 
> supersetting of syntax + opaque markers (for several reasons below)?
>
> Or are you just pointing out that we should watch for not constraining 
> our decisions only to the observable conformance use case ?
>
> clarification would help.. sorry to make you repeat yourself yet again..
>
> thanks,
> Rania
>
> Danny van der Rijn wrote:
>
>> We're back to my objection of describing abstract processes in terms 
>> of conformance.  You may not have intended to go there Yaron, and I 
>> apologize in advance if this is the case.
>> My understanding of the current set of proposals, is that the query 
>> string would not affect conformance proofs at all, and therefore DOES 
>> NOT BELONG in abstract processes.  What you described would therefore 
>> be termed an incompletely specified process, and one which does not 
>> meet the definition of abstract process.
>>
>> My preference, which I have (perhaps ineptly) stated in various ways, 
>> coincides more with Peter's proposition that an abstract process is 
>> one with at least one "opaque" marker, for whatever value of opaque 
>> marker we decide upon.  Note that this has nothing to do with 
>> observable conformance, just with degree of specificity.
>> I would also argue that an abstract process is defined by intent, and 
>> not by syntax, e.g. an abstract process is one that is marked 
>> abstract=true.
>>
>> I hesitate to go through my complete (but inept) arguments again, but 
>> since it's been a while...
>>
>> It makes more sense to me that there will be multiple conflicting 
>> definitions of abstract process:  the observable conformance flavor, 
>> the proper superset which you describe, others.  If we are going to 
>> preserve a notion of an abstract process that has any meaning to a 
>> large number of the audience of our specification, one way to do it 
>> would be to mark the process with a string (perhaps a URI) that 
>> selects some syntax/semantics/intentions of abstractness.  I worry 
>> that standardizing that portion of "abstractness" that aids only in 
>> defining observable conformance will increase the size and complexity 
>> of the BPEL spec without giving benefit to a large portion of the 
>> community.  Therefore I, for one, can not support the current 
>> proposals.  I would prefer the absence of abstract processes to the 
>> current situation.
>>
>> One counter-argument is that while the use-case you provide is 
>> ill-specified, the observable conformance use case can be nailed down 
>> precisely.  Using this as an argument for actually doing so, however, 
>> and ignoring everything else, is specious.
>>
>> Yaron Y. Goland wrote:
>>
>>> I like the general direction the text is going in but there is one 
>>> particular issue that still worries me - why are abstract processes 
>>> not a proper superset in functionality of executable processes?
>>>
>>> Imagine a company is using an abstract process as a template. Part 
>>> of the template is fully defined to provide a complete description 
>>> of a particular operation but the rest of the process is defined 
>>> with less detail. For the detailed section it is necessary to use a 
>>> query string on a from to indicate exactly which part of a source 
>>> variable should be assigned to a destination.
>>>
>>> Currently the previous use case is impossible in BPEL because query 
>>> strings on from-specs are reserved for executable processes. 
>>> Therefore abstract processes do not have the same expressive power 
>>> as executable processes.
>>>
>>> For issue 82 to be resolved it is necessary for abstract processes 
>>> to be well enough defined that it becomes obvious why limitations 
>>> such as the query string restriction are necessary to meet the goals 
>>> of abstract processes. Yet no such description is provided below. 
>>> Could you please clarify this issue?
>>>
>>>     Thanks,
>>>
>>>         Yaron
>>>
>>> rkhalaf wrote:
>>>
>>>>
>>>>
>>>> In this proposal, we clarify abstract processes as requested by Issue
>>>> 82. The spec should reflect these clarifications to abstract processes
>>>> throughout its text.
>>>>
>>>> --------
>>>>
>>>> A BPEL abstract process defines the publicly visible behavior of the
>>>> services it offers (all "myRole" in its partnerLinks), of course
>>>> including its interactions along its partnerLinks with other services.
>>>> Abstract processes serve a descriptive role. They can be viewed as
>>>> partially specified processes that are typically not intended to be
>>>> executed. They are partially specified in that they are capable of
>>>> abstracting away operational details. An abstract BPEL process must be
>>>> declared abstract by setting the abstractProcess attribute to “yes”.
>>>> Operational details may be abstracted away either through the omission
>>>> of specific BPEL elements or attributes listed in the 
>>>> specification, or
>>>> through the use of opaque tokens. Aside from these factors, they are
>>>> well-formed process following the structure and restrictions in the
>>>> specification regarding the process definition and the constructs 
>>>> used.
>>>>
>>>> Semantics of Abstract Processes:
>>>>
>>>> A.       Although it might contain complete information that would 
>>>> render it
>>>> executable if the abstractProcess=”yes” attribute were changed to “no”
>>>> for executable BPEL, its abstract status states that any concrete
>>>> realizations of it may perform additional processing steps that are 
>>>> not
>>>> relevant to the audience to which it has been given.
>>>>
>>>> B.      Abstract processes permit the use of nearly all of the 
>>>> constructs of
>>>> executable processes.  Thus there is no fundamental expressive power
>>>> distinction between abstract and executable processes.
>>>>
>>>> C.      An abstract process may omit certain details that are 
>>>> mandatory for
>>>> BPEL executable processes. However, the semantics of the constructs 
>>>> used
>>>> in such a process is exactly the same as their semantics in the
>>>> executable context. An abstract process must comply with the syntax 
>>>> and
>>>> semantics of the specification.  The syntactic elements that can be
>>>> omitted in abstract processes where this would not be permitted in
>>>> executable processes are currently:
>>>> -       Those listed in the “extensions for executable processes” 
>>>> section of
>>>> the specification.
>>>> -       inputVariable/outputVariable/variable on invoke, receive, 
>>>> onMessage,
>>>> and reply.
>>>> -       An initiating receive activity (pending resolution of issue 
>>>> 99).
>>>>
>>>> D.      Abstract processes may include special syntactic extensions 
>>>> (“opaque”
>>>> entities of various kinds) that should be replaced with concrete
>>>> entities  in any executable artifact that complies with an abstract
>>>> process using such opaque entities. Which opaque entities are 
>>>> permitted
>>>> is the scope of issue 107.
>>>>
>>>> E. Abstract processes say nothing about *how* concrete, executable
>>>> realizations of them should be implemented (ie: language, platform, 
>>>> etc)
>>>> . (analogy to WSDL).
>>>>
>>>> F. Multiple abstract processes together may be created to define a
>>>> global view of a multi-party business protocol. However, the way in
>>>> which they may be wired together (connecting partnerLinks a la WSFL
>>>> global models) is out of scope of BPEL itself.
>>>>
>>>>
>>>> To unsubscribe from this mailing list (and be removed from the 
>>>> roster of the OASIS TC), go to 
>>>> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php. 
>>>>
>>>>
>>>
>>> To unsubscribe from this mailing list (and be removed from the 
>>> roster of the OASIS TC), go to 
>>> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php. 
>>>
>>>
>>>
>>
>> To unsubscribe from this mailing list (and be removed from the roster 
>> of the OASIS TC), go to 
>> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php. 
>>
>
>
>
>
> To unsubscribe from this mailing list (and be removed from the roster 
> of the OASIS TC), go to 
> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php. 
>
>
>


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