Legacy Issue Number: 12201
Source: TIBCO ( Justin Brunt)
With regard to Timer Events, Expression in B.11.8 doesn’t provide a solution to the example given in the specification such as in Table 9.8 for Timer Events which use TimeDateExpression B.11.18 which in turn use Expression.
BPEL has three constructs For, Until and RepeatEvery. RepeatEvery can optionally be applied to the other two. The XSD excerpt is as follows:
<xsd:element name="for" type="tDuration-expr" />
<xsd:element name="until" type="tDeadline-expr" />
<xsd:element name="repeatEvery" type="tDuration-expr" />
Both the types of expressions extend tExpression which is defined as this:
<xsd:complexType name="tExpression" mixed="true">
minOccurs="0" maxOccurs="unbounded" />
<xsd:anyAttribute namespace="##other" processContents="lax" />
And are further qualified in section 8.3 as:
.Deadline expressions should return valid values of xsd:date and xsd:dateTime
.Duration expressions should return valid values of xsd:duration
We feel the BPMN spec is imprecise in this area in defining both in Table A.9 by their mapping to BPEL (TimeDate = until, TimeCycle = for). RepeatEvery makes no appearance in the BPMN spec.
Therefore, we think the best solution would be for BPMN to add RepeatEvery. Is it possible that the BPMN spec may have believed TimeCycle actually fulfils the BPEL repeatEvery, the name would seem to bear that out? However it explicitly says that TimeCycle should be interpreted as BPEL 'for'. Therefore a second, larger, change to BPMN would be to re-map TimeCycle to repeatEvery and add instead WaitFor or some such mechanism.
Reported: BPMN 1.1 — Mon, 28 Jan 2008 05:00 GMT
Updated: Fri, 6 Mar 2015 20:57 GMT