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


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel-abstract message

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

Subject: RE: [wsbpel-abstract] Potential requirements and use case

I see.  I have very serious reservations about the use of <opaque> activities.  I think they would be misleading to use in most scenarios.  I explained my thoughts in the original posting.
Having said that, I thought the idea of <opaque> was that anything without <opaque> was as ready for execution as anyone could tell.  What additional checks would one do?


From: Ron Ten-Hove [mailto:Ronald.Ten-Hove@Sun.COM]
Sent: Fri 7/23/2004 9:00 AM
To: Satish Thatte
Cc: Monica J. Martin; wsbpel-abstract@lists.oasis-open.org
Subject: Re: [wsbpel-abstract] Potential requirements and use case

Satish Thatte wrote:

	Regarding your suggestion to maintain an explicit abstract/executable
	distinction, probably using the current process-level attribute, I agree
	with you.
	I don't quite understand what you mean by "statically verifiable set of
	conditions to specify when a process model is ready to execute".  I
	would hope that abstractProcess="no" and the schema for executable
	processes plus simple static checks that we already have in the text
	which we should gather in a list (issue 84) should be sufficient.  Did
	you have something else in mind?

This comes from a different line of thought that we were kicking around internally. The idea was that abstract processes are simply executable processes that are missing some details needed for execution, or that contain placeholders for concrete activities (opaque activities). A set of statically verifiable conditions could be specified to allow this condition to be checked mechanically. The conditions would include things like "no opaque activity nodes" and "all expressions filled in." This is what Monica alluded to.

The thought was that this model would allow abstract processes to be more flexible -- the amount of detail in the process could run along a continuum, from minimal to virtually complete, rather than the current model that defines one point along that continuum.

We thought this approach had some merit. It avoids the "two schema" headache, and is flexible enough to accomodate a wide range of use cases. It does add complexity to any tools that would exploit the static definition of abstract process that we have today.


	-----Original Message-----
	From: Monica J. Martin [mailto:Monica.Martin@Sun.COM] 
	Sent: Thursday, July 22, 2004 3:35 PM
	To: Satish Thatte
	Cc: wsbpel-abstract@lists.oasis-open.org; Ron Ten-Hove
	Subject: Re: [wsbpel-abstract] Potential requirements and use case
	Satish: We'd provide some additional suggestions:
	    * If an abstract process contains opaque elements or activities,
	      they must be elaborated.
	          o Make explicit the semantics surrounding opaque if accepted.
	    * Ensure we can specify a process is abstract or executable
	      irrespective of whether opaque is used. [2]
	    * Suggest we define a statically verifiable set of conditions to
	      specify when a process model is ready to execute.
	    * Ban extensions from affecting 'ready to execute.' [3] This is
	      inline with current specification that bans extensions affecting
	      BPEL semantics.
	[1] In order to provide a guide for developers and allow other 
	computational or conformance capabilities to be used on top of the 
	abstract process.
	[2] The condition may occur that opaque activities may have not been 
	explicitly added yet, but you wish to ensure that someone doesn't try to
	execute an incomplete process.  We currently have 
	abstractProcess="yes|no"? under Process. Is this sufficient?

		Thatte: I think we are agreeing on a few things
		1. abstract BPEL allows partial specification of executable processes.
		2. we need a precise definition of conformance between a partial

	process and any executable process that claims to be its completion

		3. We do not want to preclude any use case for abstract processes,


		a. A notation for specifying the externally visible behavior of a web

	service or a collection of web services where the notation may be used
	with various degrees of austerity as appropriate for the needs of the

		b. A notation for exchange of process requirements across autonomous

	entities where the abstract and the executable process are NOT "owned"
	by the same entity, and

		c. A notation for partial specification in a modeling context where the

	abstract and the executable process ARE "owned" by the same entity.

		4.  <opaque> activities and expressions are primarily intended as a

	proposal for allowing the designer of an abstract process to express
	his/her intentions regarding mandatory points of extension.  The purpose
	of <opaque> is NOT to specify all allowable points of extension,
	prohibiting all other potential points of extension in the completion of
	an abstract process.  Secondarily, <opaque> activities and expressions
	serve as a convenience for technical specification and validation using
	a single schema.

		I would argue that the technical convenience argument for <opaque> is a

	weak one because the syntactically mandated completion points can be
	easily found by tools and forcing an abstract process designer to
	explicitly design them in helps tools and BPEL specification writers at
	the expense of the users of abstract BPEL, i.e., those who read and
	write instances of abstract BPEL.  This is especially the case for use
	case (a) above where brevity and readability are likely to be very

		I believe the primary intention of the <opaque> proposal as a mechanism

	for expressing the intention for mandatory extension applies primarily
	to use case (c) and as such I would argue that it belongs more in the
	realm of a tools oriented extension rather than an essential aspect of
	abstract BPEL.  



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