Connects two operations in two different port types. A synchronous connector is always of direct type, an asynchronous connector can be either direct or publish.
If the connector references a WSDL operation, the
port type name is given by the portType
attribute and the operation name is given by the
name
attribute and both attributes
must be used.
Declares a property and its value in the current context.
The xpath
attribute specifies an XPath
expression that extracts the value from other instance
properties.
The value
element allows any static
value to be specified in the form of mixed content in
any schema. A null value is specified using the
xsi:null
attribute.
Other extension element can be used instead of the
xpath
attribute or value
element, e.g. an XQueryX query.
If neither attribute or elements are used, the value is obtained form a property with the same name in the parent context is such a property (and context) do exist.
name
attribute and allows the
documentation
element.
activity
type and is in the substitution group of this element.
A collection of one or more activities that are performed in the same context.
The context definition is required in order to
override any declaractions given in a parent context.
An empty context
element and a missing
context
element are equivalent.
Any activity element defined in BPML and any
activity element that can substitute activity
are allowed. At least one activity must be present
in the activity set.
An event handler that is triggered by an action. The event handler is triggered only if the action can be performed atomicly (including any failure condition).
If the action references a WSDL operation, the action can only reference a one-way or a request-response operation. Notification and solicit-response operations are not valid events.
An event handler that is triggered by a timeout.
The time-out is specified by a property that is either
a date/time instant or a time duration, as specified
by the type
attribute.
For time duration, a reference point that is different
than the instantiation of the event handler can be specified
using the reference
attribute. This could be
a date/time instant property or a reference to the start or
end time of an activity, transaction or process.
An event handler that is triggered by a fault.
The fault code is specified by its fully qualified name. If the fault code is unspecified, this event handler will respond to any fault for which no specified event handler exists.
Defines the local declarations in the context of an activity set.
The process
element defines a nested
process that will be instantiated in that context and
overrides any other definition with the same name that
would be visible in this context.
The property
element declares the
value of a property as being local in this context and
either copies the value from the parent context, or
assigns a new value to the property.
The connect
element connects two port
type definitions that are local to this context, such
as messages sent and received along these port types
are not visible outside this context.
The exception
elements defines event
handlers for unexpected conditions that could occur
while in this context and will cause the event handlers
to be executed instead of any ongoing activity in this
context.
The transaction
element defines the
transaction associated with this context. This can be
an atomic or open transaction. The transaction name
must be different than an activity, process or property
name. Open and atomic transactions can be nested inside
an outer open transaction.
Other context specific definitions are allowed using extension elements. The semantic of such contexts is not defined by BPML.
Performs an atomic action.
If the action references a WSDL operation, the
port type name is given by the portType
attribute and the operation name is given by the
operation
attribute and both attributes
must be used.
The action can be correlated to zero or more
correlations using the correlate
element.
The service instance against which the action is
performed can be identified using the locate
element. When referring to a WSDL operation, this element
is used for both notification and solicit-response operations.
A complex action may involve the execution of a nested
process, by instantiating that process and waiting for it
to complete within the confines of the action. This can be
done using the call
. When referring to a WSDL
operation this element is used only for request-response
operations.
Other type of actions are supported by using extension
attributes, in replacement to the portType
and
operation
attributes.
Locates a service instance. Uses properties and a locator mechanism to locate the service instance.
If the property contains the end-point of the service
instance, the property
attribute names that
property and no extension element should be used.
Otherwise, the locator
attribute references
a locator definition which defines the mechanism for
locating the service instance.
Zero properties are required when referencing a static locator definition. One or more properties are required for a dynamic locator.
Assigns a new value to the specified property.
The xpath
attribute specifies an XPath
expression that extracts the value from the instance
properties.
The value
element allows any static
value to be specified in the form of mixed content in
any schema. A null value is specified using the
xsi:null
attribute.
Other extension element can be used instead of the
xpath
attribute or value
element, e.g. an XQueryX query.
Selects one activity set and executes it.
The activity set is selected by an event handler. Two or more event handlers must be specified and the events must not overlap.
Compensate for all transaction instances that have completed in the current context.
The transaction instances are identified by the transaction name. A completed transaction instance can be compensated exactly once. This activity waits for all compensations to conclude.
Represents the passage of time.
The delay-out is specified by a property that is either
a date/time instant or a time duration, as specified
by the type
attribute.
For time duration, a reference point that is different
than the beginning of this activity can be specified
using the reference
attribute. This could be
a date/time instant property or a reference to the start or
end time of an activity, transaction or process.
An activity that does nothing. Can be used where an activity set is required, but no activity is performed (e.g. onMessage).
Repeats the activity set once for each item.
The select
attribute is an XPath expression
that is evaluated against the process instance properties
and results in zero or more items. This activity is repeated
once for each item in the list.
The current item is assigned to the property
bpml:current
that is local to the context of
the activity set.
Waits for all instances of the specified process that were spawned in the current context to complete.
This activity does not wait for instances that were invoked by calling them. It will wait for instances that were spawned in the current context after the beginning of the activity.
If the count
attribute is used, it provides
the name of a property whose value is the number of
process instance to wait for. This activity will wait until
that number of instances has completed, whether before or
during execution of the activity.
Instantiates a process without waiting for it to complete.
The process must be defined in the same package (and namespace) and its definition must be accessible in the current context.
The instance list in the current context is modified, such
that join
can be used to wait for all process
instances to complete.
Selects one activity set and executes it.
For each case, its condition is evaluated and if true, that activity set is executed. In such a case, no other condition will be evaluated.
Conditions are evaluated in the order in which the
case
elements are specified.
If all conditions have evaluated to false, the
activity set specified by the default
element is executed. If that element is missing, the
activity completes immediately.
/@start
) or end
(/@end
) time of an activity, transaction
or process in the current context.