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: Issue - 82 - Proposal for Vote


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.



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