Java Reference
In-Depth Information
thing or declare any extensions to use. But there are also two things that you cando in scopes
that you can't do at the process level: termination handlers and compensations.
NOTE
Scopes actually get their own chapter in the BPEL 2.0 specification, and it's more than 30 pages long.
So while they are a very simple concept to understand, are usable throughout most of the BPEL con-
structs, and generally behave just as one hopes they would according to common sense, they can have
subtle side effects depending on how you use them. If you're puzzling about your scopes, you might
consult the spec.
Here is an example that highlights a standard use of a scope:
<scope>
<faultHandlers>
<catch>
<terminate/>
</catch>
</faultHandlers>
<!-- The "primary activity"-->
<sequence>
<invoke .../>
<assign .../>
</sequence>
</scope>
The primary activity of the scope is to execute the sequence that contains an invoke followed
by an assign. If anything goes wrong during one of those activities, processing will be handed
over to the fault handlers in this containing scope. Constructs not defined in this scope will
force any side effects of the primary activities to be escalated to the next enclosing scope.
Scopes can be arbitrarily nested, so this continues until the process level itself is reached.
Search WWH ::




Custom Search