Petals-SE-BPMN2 1.0.0-SNAPSHOT

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (22)

View Page History
Input parameters are identified by the annotation adding the element {{\{http://petals.ow2.org/se/bpmn2.0/1.0}input-parameter}}. This annotation takes also two attributes:
* the attribute *{{name}}* defines a name of an expected input parameter of the BPMN 2.0 engine API operation,
* the attribute *{{value}}* defines the value to set to the expected input parameter using an XPath expression or a constant value.
See operation details to know the expected input parameters.

h4. Associating an operation to the creation of an process definition instance

The operation creating instances of process definition is identified by the value *{{createProcInstOp}}* *{{startEvent}}* set on the attribute {{bpmnAction}}:.
{code}
This operation accepts variables and requires the following input parameters:
|| Input parameter name || Type || Description || Required ||
| processId | String constant | The process identifier of the process definition for which an instance must be created. | If more than one process definition exist in the service-unit, this input parameter is required. |
| startEventId | String constant | The identifier of the start event task of the process definition to use to create the new process definition instance. | If more than one start event task exist in the process definition, this input parameter is required. |

The XSL parameters available to generate the service output reply are:
|| XSL parameter name || Type || Description ||
| processInstanceId | String | Identifier of the process instance created |

It is possible to map several operations of the WSDL to the creation of process instances, but this has perhaps no sens.

{code:title=WSDL mapping sample}
<wsdl:binding name="Order" xmlns:bpmn="http://petals.ow2.org/se/bpmn2.0/1.0">
<wsdl:operation name="newOrder" type="...">
<bpmn:operation bpmnAction="createProcInstOp" bpmnAction="startEvent" />
<bpmn:input-parameter name="processId" value="newOrder" />
<bpmn:input-parameter name="startEvent" value="default" />
<bpmn:variable name="customerName" value="/newOrderRequest/customerName" />
<bpmn:variable name="address" value="/newOrderRequest/address" />
{code}

No input parameter is expected by this operation. Only variables can be set creating a process instance.
{code:title=Associated input request}
<newOrderRequest>
<customerName>Mr Dupont Martin</customerName>
<address>23, rue de la Paie, 75000 Paris</address>
</newOrderRequest>
{code}

The XSL parameters available to generate the service output reply are:
|| XSL parameter name || Type || Description ||
| processInstanceId | String | Identifier of the process instance created |
{code:title=Associated output request}
<newOrderResponse>
<orderNumber>12345</orderNumber>
</newOrderResponse>
{code}

It is possible to map several operations of the WSDL to the creation of process instances, but this has perhaps no sens.

h4. Associating an operation to the completion of a process instance task

The operation completing a task of a process instance is identified by the value *{{completeTaskOp}}* *{{userTask}}* set on the attribute {{bpmnAction}}:
{code}
This operation accepts variables and requires the following input parameters:
|| Input parameter name || Type || Description || Required ||
| processInstanceId | XPath expression result as String | Identifier of the process instance created | Yes |
| taskDefinitionKey | String constant | Name of the task in the process definition. | Yes |
Note: The completion status of the task is a variable and so it takes any form.

No XSL parameters is available to generate the service output reply. Your XSL style-sheet will be a "constant" style-sheet.

A such operation is defined for each task of the process definition to complete. {color:red}*C'est le cas d'un service par tache à terminer. Essayer de mieux expliquer.*{color}.

{color:red}*Mapping des parametres à faire*{color}

{code:title=WSDL mapping sample}
<wsdl:binding name="Order" xmlns:bpmn="http://petals.ow2.org/se/bpmn2.0/1.0" >
<wsdl:operation name="validOrder">
<bpmn:operation bpmnAction="completeTaskOp" bpmnAction="userTask" />
<bpmn:input-parameter name="processInstanceId" value="/validOrderRequest/orderId" />
<bpmn:input-parameter name="taskDefinitionKey" value="validOrder" />
{code}

This operation accepts variables and requires the following input parameters:
|| Input parameter name || Type || Description || Required ||
| processInstanceId | String | Identifier of the process instance created | Yes |
| taskDefinitionKey | String | Name of the task in the process definition. *Caution: Its value is not an XPath expression but a constant | Yes |
Note: The completion status of the task is a variable and so it takes any form.
{code:title=Associated input request}
<validOrderRequest>
<orderId>12345</orderId>
<isValidated>true</isValidated>
<creditCardNumber>1234567890123</customerName>
</validOrderRequest>
{code}

No XSL parameters is available to generate the service output reply. Your XSL style-sheet will be a "constant" style-sheet.
{code:title=Associated output request}
<validOrderResponse />
{code}

A such operation is defined for each task of the process definition to complete. {color:red}*C'est le cas d'un service par tache à terminer. Essayer de mieux expliquer.*{color}.

{color:red}*Mapping des parametres à faire*{color}

h4. Associating an operation to retrieve process instances

<wsdl:binding name="OrderBinding" type="tns:Order">
<wsdl:operation name="newOrder">
<bpmn:operation bpmnAction="createProcInstOp" bpmnAction="startEvent" />
<bpmn:input-parameter name="processId" value="newOrder" />
<bpmn:input-parameter name="startEvent" value="default" />
<bpmn:variable name="customerName" value="/newOrderRequest/customerName" />
<bpmn:variable name="address" value="/newOrderRequest/address" />