Table 10.17 – HumanPerformer XML schema

<xsd:element name="humanPerformer" type="tHumanPerformer" substitutionGroup="performer"/> <xsd:complexType name="tHumanPerformer">

<xsd:complexContent>

<xsd:extension base="tPerformer"> <xsd:sequence>

<xsd:element ref="peopleAssignment" minOccurs="1" maxOccurs="1"/> </xsd:sequence>

</xsd:extension> </xsd:complexContent>

</xsd:complexType>

Table 10.18 – PotentialOwner XML schema

<xsd:element name="potentialOwner" type="tPotentialOwner" substitutionGroup="performer"/> <xsd:complexType name="tPotentialOwner">

<xsd:complexContent>

<xsd:extension base="tHumanPerformer"/> </xsd:complexContent>

</xsd:complexType>

Examples

Consider the following sample procurement Process from the Buyer perspective (see Figure 10.24).

 

 

 

 

Handle

 

 

 

Not

Order

 

 

 

 

 

 

 

Approved

 

Buyer

Handle

Approve

Approved

Review

Quotations

Order

 

Order

 

 

 

 

Handle

 

 

 

 

Shipment

Figure 10.24 – Procurement Process Example

The Process comprises of two User Tasks

Approve Order: After the quotation handling, the order needs to be approved by some regional manager to continue with the order and shipment handling.

168

Business Process Model and Notation (BPMN), v2.0.2

Review Order: Once the order has been shipped to the Buyer, the order and shipment documents will be reviewed again by someone.

The details of the Resource and resource assignments are not shown in the BPMN above. See below XML sample of the “Buyer” Process for the Resource usage and resource assignments for potential owners.

Table 10.19 – XML serialization of Buyer process

<?xml version="1.0" encoding="UTF-8"?> <definitions id="Definition"

targetNamespace="http://www.example.org/UserTaskExample" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:tns="http://www.example.org/UserTaskExample">

<resource id="regionalManager" name="Regional Manager">

<resourceParameter id="buyerName" isRequired="true" name="Buyer Name" type="xsd:string"/> <resourceParameter id="region" isRequired="false" name="Region" type="xsd:string"/>

</resource>

<resource id="departmentalReviewer" name="Departmental Reviewer">

<resourceParameter id="buyerName" isRequired="true" name="Buyer Name" type="xsd:string"/> </resource>

<collaboration id="BuyerCollaboration" name="Buyer Collaboration"> <participant id="BuyerParticipant" name="Buyer" processRef="BuyerProcess"/>

</collaboration>

<!-- Process definition -->

<process id="BuyerProcess" name="Buyer Process">

<laneSet id="BuyerLaneSet"> <lane id="BuyerLane">

<flowNodeRef>StartProcess</flowNodeRef> <flowNodeRef>QuotationHandling</flowNodeRef> <flowNodeRef>ApproveOrder</flowNodeRef> <flowNodeRef>OrderApprovedDecision</flowNodeRef> <flowNodeRef>TerminateProcess</flowNodeRef> <flowNodeRef>OrderAndShipment</flowNodeRef> <flowNodeRef>OrderHandling</flowNodeRef> <flowNodeRef>ShipmentHandling</flowNodeRef> <flowNodeRef>OrderAndShipmentMerge</flowNodeRef> <flowNodeRef>ReviewOrder</flowNodeRef> <flowNodeRef>EndProcess</flowNodeRef>

</lane> </laneSet>

<startEvent id="StartProcess"/>

Business Process Model and Notation (BPMN), v2.0.2

169

<sequenceFlow sourceRef="StartProcess" targetRef="QuotationHandling"/>

<task id="QuotationHandling" name="Quotation Handling"/>

<sequenceFlow sourceRef="QuotationHandling" targetRef="ApproveOrder"/>

<userTask id="ApproveOrder" name="ApproveOrder"> <potentialOwner>

<resourceRef>tns:regionalManager</resourceRef> <resourceParameterBinding parameterRef="tns:buyerName">

<formalExpression>getDataInput('order')/address/name</formalExpression> </resourceParameterBinding>

<resourceParameterBinding parameterRef="tns:region"> <formalExpression>getDataInput('order')/address/country</formalExpression>

</resourceParameterBinding> </potentialOwner>

</userTask>

<sequenceFlow sourceRef="ApproveOrder" targetRef="OrderApprovedDecision"/>

<exclusiveGateway id="OrderApprovedDecision" gatewayDirection="Diverging"/> <sequenceFlow sourceRef="OrderApprovedDecision" targetRef="OrderAndShipment">

<conditionExpression>Was the Order Approved?</conditionExpression> </sequenceFlow>

<sequenceFlow sourceRef="OrderApprovedDecision" targetRef="TerminateProcess"> <conditionExpression>Was the Order NOT Approved?</conditionExpression>

</sequenceFlow>

<endEvent id="TerminateProcess"> <terminateEventDefinition id="TerminateEvent"/>

</endEvent>

<parallelGateway id="OrderAndShipment" gatewayDirection="Diverging"/>[

<sequenceFlow sourceRef="OrderAndShipment" targetRef="OrderHandling"/> <sequenceFlow sourceRef="OrderAndShipment" targetRef="ShipmentHandling"/>

<task id="OrderHandling" name="Order Handling"/>

<task id="ShipmentHandling" name="Shipment Handling"/>

<sequenceFlow sourceRef="OrderHandling" targetRef="OrderAndShipmentMerge"/> <sequenceFlow sourceRef="ShipmentHandling" targetRef="OrderAndShipmentMerge"/>

<parallelGateway id="OrderAndShipmentMerge" gatewayDirection="Converging"/>

<sequenceFlow sourceRef="OrderAndShipmentMerge" targetRef="ReviewOrder"/>

<userTask id="ReviewOrder" name="Review Order"> <potentialOwner>

<resourceRef>tns:departmentalReviewer</resourceRef>

170

Business Process Model and Notation (BPMN), v2.0.2