[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [sca-bpel] Issue 11 - BPEL variable initialization and SCA properties
The SCA BPEL spec says that the variable
name used for a property must be unique within a process. The default value
comes from the initilization expression that is within the declaration of the
variable, and not within any control flow within the scope that it is defined
in. This means that there are never any conditionals that need to be evaluated
in order to determine the initialization expression (unless the initialization
expression itself is non-literal and includes conditional logic). Michael From: Najeeb
Andrabi [mailto:nandrabi@tibco.com] Hi Michael,
I think it impossible to determine which initialization expression initializes
the variable in case of complex BPEL process having conditional/concurrent
flows with multiple initialization expression of the same variable. In my view,
we should state that “if the literal value can be determined by static
analysis of the process then it will be represented as the default value in the
component type for the process” Thanks, Najeeb From: The key question, for me,
is whether the component type should show non-literal default values.
Imagine reading a component type definition that looks like this: <componentType>
<property name=”x” defaultValue=”$y”/> </componentType> In this example,
I’m assuming that BPEL had an initialization expression for
“x” that assigns it to the value of the “y” BPEL
variable. If you copy this into the component type, the component type
makes no sense, because there is no way to resolve “y”. That is why I said that
only literals can be used by the component type of a BPEL process. Michael From: Mark Ford
[mailto:mark.ford@active-endpoints.com] The
mustSupply text from the assembly specification below SHOULD use the
capitalized words from RFC 2119. It would be better to say that the
default-property-value MUST NOT be provided when mustSupply="true". That
said I think the treatment of BPEL variable initialization should be the same
regardless of the form of the from-spec. If I understand your proposal, you
would treat an expression from-spec differently than a literal from-spec. After
reviewing the Assembly spec a little, I'm inclined to suggest that any value
from the component overrides the initialization from-spec for the variable in
the BPEL. This seems consistent with the goal of allowing the configuration of
an implementation with externally set data values. (Section 6.1 of the Assembly
spec). - Mark From: I looked at the Property section of the Assembly
Specification. It looks like what is there is OK. Here it is: mustSupply (optional) – whether the
property value must be supplied by the component that uses the implementation
– when mustSupply="true" the component must supply a value
since the implementation has no default value for the property. A
default-property-value should only be supplied when
mustSupply="false" (the default setting for the mustSupply
attribute), since the implication of a default value is that it is used only
when a value is not supplied by the using component. It says that a default value should be only be supplied
when mustSupply is false, but it _doesn’t_
say that a default value MUST be supplied. Perhaps we could add the following to the SCA BPEL
spec at line 357 (in the paragraph that describes the meaning of
sca:property=”yes”): “If the variable has an initialization
expression (a from-spec) then
that becomes the default value for the variable in cases where the SCA
component does not provide a value for that property. If a value is provided for the property, the
expression is not evaluated. If the from-spec is a literal value, where
it has the following form:
<from><literal>literal value</literal></from> then the literal value will be represented as the
default value in the component type for the process. Any other kind of
initialization expression will not be represented in the component type.” Michael -----Original Message----- Issue entered. http://www.osoa.org/jira/browse/BPEL-11 Regards, Alex Yiu Mark Ford wrote: > TARGET: SCA Client and Implementation Model
Specification for WS-BPEL > > TITLE: BPEL variable initialization and SCA
properties > > DESCRIPTION: Is the target variable allowed to
have an initialization > defined within the BPEL process and if so, is
this initialization ignored? > It seems like the initialization should be
allowed but not executed in the > case where a process is packaged as an SCA and
the property is provided by > the component. It's probably also worth pointing
out that the variable must > be an element or type variable. Message variables
cannot be initialized by > an SCA property. > > > |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]