Скачиваний:
25
Добавлен:
28.01.2021
Размер:
7.15 Mб
Скачать

Patient

Send Doctor

Receive

Send

Receive

Send

Receive

Prescription

Medicine

Request

Appointment

Symptoms

Medicine

Pickup

Request

 

Illness

 

 

 

 

 

 

Occurs

 

 

 

 

 

Orchestration

Process

I want to see

I feel sick

 

I need my

the Doctor

 

medicine

 

 

Doctor

Handle

Handle

Handle

Request

Symptoms

Prescription

Medicine

 

Go see the

Pickup your

Here is your

 

medicine, then

 

Doctor

medicine

 

leave

 

 

 

Office

Receive

Send

Receive

Send

Receive

Send

Doctor’s

Doctor

Prescription

Medicine

Appointment

Symptoms

Medicine

Request

Pickup

Request

 

 

 

 

 

 

 

 

 

Figure 11.51 – An example of a Choreography Process combined with Pools that contain Processes

Choreography Task in Combined View

Sub-Choreography in Combined View

11.9 XML Schema for Choreography

Table 11.9 – Choreography XML schema

<xsd:element name="choreography" type="tChoreography" substitutionGroup="collaboration"/> <xsd:complexType name="tChoreography">

<xsd:complexContent>

<xsd:extension base="tCollaboration">

<xsd:sequence>

<xsd:element ref="flowElement" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

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

363

Table 11.10 – GlobalChoreographyTask XML schema

<xsd:element name="globalChoreographyTask" type="tGlobalChoreographyTask" substitutionGroup="choreography"/>

<xsd:complexType name="tGlobalChoreographyTask"> <xsd:complexContent>

<xsd:extension base="tChoreography">

<xsd:attribute name="initiatingParticipantRef" type="xsd:QName"/> </xsd:extension>

</xsd:complexContent>

</xsd:complexType>

Table 11.11 – ChoreographyActivity XML schema

<xsd:element name="choreographyActivity" type="tChoreographyActivity"/> <xsd:complexType name="tChoreographyActivity" abstract="true">

<xsd:complexContent>

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

<xsd:element name="participantRef" type="xsd:QName" minOccurs="2" maxOccurs="unbounded"/>

<xsd:element name="correlationKey" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute name="initiatingParticipantRef" type="xsd:QName" use="required"/> <xsd:attribute name="loopType" type="tChoreographyLoopType" default="None"/>

</xsd:extension>

</xsd:complexContent>

<xsd:complexType>

<xsd:simpleType name="tChoreographyLoopType"> <xsd:restriction base="xsd:string">

<xsd:enumeration value="None"> <xsd:enumeration value="Standard"> <xsd:enumeration value="MultiInstanceSequential"> <xsd:enumeration value="MultiInstanceParallel">

</xsd:restriction>

<xsd:simpleType>

Table 11.12 – ChoreographyTask XML schema

<xsd:element name="choreographyTask" type="tChoreographyTask" substitutionGroup="flowElement"/> <xsd:complexType name="tChoreographyTask">

<xsd:complexContent>

<xsd:extension base="tChoreographyActivity">

<xsd:sequence>

<xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="1" maxOccurs="2"/> </xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

364

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

Table 11.13 – CallChoreography XML schema

<xsd:element name="callChoreography" type="tCallChoreography" substitutionGroup="flowElement"/> <xsd:complexType name="tCallChoreography">

<xsd:complexContent>

<xsd:extension base="tChoreographyActivity">

<xsd:sequence>

<xsd:element ref="participantAssociation" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence>

<xsd:attribute name="calledChoreographyRef" type="xsd:QName" use="optional"/> </xsd:extension>

</xsd:complexContent> </xsd:complexType>

Table 11.14 – SubChoreography XML schema

<xsd:element name="subChoreography" type="tSubChoreography" substitutionGroup="flowElement"/> <xsd:complexType name="tSubChoreography">

<xsd:complexContent>

<xsd:extension base="tChoreographyActivity">

<xsd:sequence>

<xsd:element ref="flowElement" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence> </xsd:extension>

</xsd:complexContent>

</xsd:complexType>

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

365

366

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