Plz say whether it is good modelling practice or not?

IDCS6.bpmn (16.3 KB)

Hi @jauhari,

Could you please be a little bit more concrete? Do you have any specific question regarding your BPMN model?

Cheers,
Roman

Hi @roman.smirnov,
I am new to camunda and designed my first modler. But while executing process didn’t get started. So I want to check whether there is some problem with my modle or not.

cheers,
Jauhari

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.2.1">
  <bpmn:collaboration id="Collaboration_1keta0b">
    <bpmn:participant id="Participant_0sbjzus" processRef="Process_1" />
  </bpmn:collaboration>
  <bpmn:process id="Process_1" isExecutable="true">
    <bpmn:startEvent id="StartEvent_1" name="start">
      <bpmn:extensionElements>
        <camunda:formData>
          <camunda:formField id="StartIDCS6" label="StartIDCS6" type="string" defaultValue="true" />
        </camunda:formData>
      </bpmn:extensionElements>
      <bpmn:outgoing>SequenceFlow_1hp6lih</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:intermediateCatchEvent id="IntermediateThrowEvent_14qe11j">
      <bpmn:incoming>SequenceFlow_0je34xn</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0891prq</bpmn:outgoing>
      <bpmn:timerEventDefinition>
        <bpmn:timeCycle xsi:type="bpmn:tFormalExpression">0 0 11 * * ?</bpmn:timeCycle>
      </bpmn:timerEventDefinition>
    </bpmn:intermediateCatchEvent>
    <bpmn:exclusiveGateway id="ExclusiveGateway_0hjp6fi" name="IsLastOrdrProcessed?">
      <bpmn:incoming>SequenceFlow_1o6zovq</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_1io2on3</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_1gwxth5</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:serviceTask id="Task_0ec7j7h" name="Auto Process Order" camunda:class="cts.pmoss.AutoProcessOrder.java">
      <bpmn:incoming>SequenceFlow_0dr1sjn</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_0891prq</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_01f3f7s</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0eb81rx</bpmn:outgoing>
      <bpmn:dataOutputAssociation id="DataOutputAssociation_07ox4t1">
        <bpmn:targetRef>DataStoreReference_01elwz0</bpmn:targetRef>
      </bpmn:dataOutputAssociation>
    </bpmn:serviceTask>
    <bpmn:dataStoreReference id="DataStoreReference_01elwz0" name="Engine/External DB" />
    <bpmn:exclusiveGateway id="ExclusiveGateway_0kwfoor" name="running instance of same order?">
      <bpmn:incoming>SequenceFlow_0eb81rx</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_1egsxtb</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_04gj5ny</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:intermediateCatchEvent id="IntermediateThrowEvent_0j2f1h7">
      <bpmn:incoming>SequenceFlow_04gj5ny</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_01f3f7s</bpmn:outgoing>
      <bpmn:timerEventDefinition>
        <bpmn:timeCycle xsi:type="bpmn:tFormalExpression">0 0 11 * * ?</bpmn:timeCycle>
      </bpmn:timerEventDefinition>
    </bpmn:intermediateCatchEvent>
    <bpmn:exclusiveGateway id="ExclusiveGateway_1axtbf5" name="IsDBOrderstatus=100?">
      <bpmn:incoming>SequenceFlow_1egsxtb</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0je34xn</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_1h4gri7</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:userTask id="Task_07g7vuy" name="Data Exp" camunda:formKey="embedded:app:forms/DataExt.html" camunda:assignee="${currentUser()}" camunda:dueDate="${dateTime().plusDays(2).toDate()}">
      <bpmn:incoming>SequenceFlow_16w2kob</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0721phg</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:userTask id="Task_1h3ym3b" name="QC Validate" camunda:formKey="embedded:app:forms/QCValidate.html" camunda:assignee="${currentUser()}" camunda:dueDate="${dateTime().plusDays(2).toDate()}">
      <bpmn:incoming>SequenceFlow_1sgq02c</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_16w2kob</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:userTask id="Task_1lj15hc" name="Operator Validate" camunda:formKey="embedded:app:forms/OperatorValidate.html" camunda:assignee="${currentUser()}" camunda:dueDate="${dateTime().plusDays(2).toDate()}">
      <bpmn:incoming>SequenceFlow_136tgfu</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_1sgq02c</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:exclusiveGateway id="ExclusiveGateway_1x7rqlw">
      <bpmn:incoming>SequenceFlow_1h4gri7</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_1gwxth5</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_136tgfu</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:userTask id="Task_0tqpfjx" name="create order" camunda:formKey="embedded:app:forms/createOrder.html" camunda:assignee="${currentUser()}" camunda:dueDate="${dateTime().plusDays(2).toDate()}">
      <bpmn:incoming>SequenceFlow_1hp6lih</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0dr1sjn</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:endEvent id="EndEvent_08pv3y2" name="end">
      <bpmn:incoming>SequenceFlow_1io2on3</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:userTask id="Task_0gfzoma" name="Delete Order" camunda:formKey="embedded:app:forms/DeleteOrder.html" camunda:assignee="${currentUser()}" camunda:dueDate="${dateTime().plusDays(2).toDate()}">
      <bpmn:incoming>SequenceFlow_0721phg</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_1o6zovq</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:sequenceFlow id="SequenceFlow_1hp6lih" sourceRef="StartEvent_1" targetRef="Task_0tqpfjx" />
    <bpmn:sequenceFlow id="SequenceFlow_0je34xn" name="no" sourceRef="ExclusiveGateway_1axtbf5" targetRef="IntermediateThrowEvent_14qe11j" />
    <bpmn:sequenceFlow id="SequenceFlow_0891prq" name="wait some time" sourceRef="IntermediateThrowEvent_14qe11j" targetRef="Task_0ec7j7h" />
    <bpmn:sequenceFlow id="SequenceFlow_1o6zovq" sourceRef="Task_0gfzoma" targetRef="ExclusiveGateway_0hjp6fi" />
    <bpmn:sequenceFlow id="SequenceFlow_1io2on3" name="yes" sourceRef="ExclusiveGateway_0hjp6fi" targetRef="EndEvent_08pv3y2">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${IsLastOrdrProcessed="yes"} ]]></bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="SequenceFlow_1gwxth5" name="no" sourceRef="ExclusiveGateway_0hjp6fi" targetRef="ExclusiveGateway_1x7rqlw">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${IsLastOrdrProcessed!="yes"} ]]></bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="SequenceFlow_0dr1sjn" sourceRef="Task_0tqpfjx" targetRef="Task_0ec7j7h" />
    <bpmn:sequenceFlow id="SequenceFlow_01f3f7s" name="wait for some time" sourceRef="IntermediateThrowEvent_0j2f1h7" targetRef="Task_0ec7j7h" />
    <bpmn:sequenceFlow id="SequenceFlow_0eb81rx" sourceRef="Task_0ec7j7h" targetRef="ExclusiveGateway_0kwfoor" />
    <bpmn:sequenceFlow id="SequenceFlow_1egsxtb" name="no" sourceRef="ExclusiveGateway_0kwfoor" targetRef="ExclusiveGateway_1axtbf5" />
    <bpmn:sequenceFlow id="SequenceFlow_04gj5ny" name="yes" sourceRef="ExclusiveGateway_0kwfoor" targetRef="IntermediateThrowEvent_0j2f1h7" />
    <bpmn:sequenceFlow id="SequenceFlow_1h4gri7" name="yes" sourceRef="ExclusiveGateway_1axtbf5" targetRef="ExclusiveGateway_1x7rqlw" />
    <bpmn:sequenceFlow id="SequenceFlow_16w2kob" sourceRef="Task_1h3ym3b" targetRef="Task_07g7vuy" />
    <bpmn:sequenceFlow id="SequenceFlow_0721phg" sourceRef="Task_07g7vuy" targetRef="Task_0gfzoma" />
    <bpmn:sequenceFlow id="SequenceFlow_1sgq02c" sourceRef="Task_1lj15hc" targetRef="Task_1h3ym3b" />
    <bpmn:sequenceFlow id="SequenceFlow_136tgfu" sourceRef="ExclusiveGateway_1x7rqlw" targetRef="Task_1lj15hc" />
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1keta0b">
      <bpmndi:BPMNShape id="Participant_0sbjzus_di" bpmnElement="Participant_0sbjzus">
        <dc:Bounds x="-422" y="-224" width="1440" height="530" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="-372" y="-12" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-399" y="24" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ExclusiveGateway_1axtbf5_di" bpmnElement="ExclusiveGateway_1axtbf5" isMarkerVisible="true">
        <dc:Bounds x="115" y="-19" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="104" y="-48" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_08pv3y2_di" bpmnElement="EndEvent_08pv3y2">
        <dc:Bounds x="882" y="148" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="855" y="124" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ServiceTask_1u2vrbu_di" bpmnElement="Task_0ec7j7h">
        <dc:Bounds x="-153" y="-34" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="UserTask_1hcw57i_di" bpmnElement="Task_1lj15hc">
        <dc:Bounds x="191" y="126" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="UserTask_1hbusvv_di" bpmnElement="Task_1h3ym3b">
        <dc:Bounds x="318" y="126" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="UserTask_0dxqx7u_di" bpmnElement="Task_07g7vuy">
        <dc:Bounds x="452" y="126" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="UserTask_1tvhpkh_di" bpmnElement="Task_0gfzoma">
        <dc:Bounds x="583" y="126" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="DataStoreReference_01elwz0_di" bpmnElement="DataStoreReference_01elwz0">
        <dc:Bounds x="-128" y="-140" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-148" y="-166" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="IntermediateCatchEvent_1ijy71l_di" bpmnElement="IntermediateThrowEvent_14qe11j">
        <dc:Bounds x="284" y="-12" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="257" y="24" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ExclusiveGateway_0hjp6fi_di" bpmnElement="ExclusiveGateway_0hjp6fi" isMarkerVisible="true">
        <dc:Bounds x="718" y="141" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="709" y="117" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ExclusiveGateway_0kwfoor_di" bpmnElement="ExclusiveGateway_0kwfoor" isMarkerVisible="true">
        <dc:Bounds x="-3" y="-19" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-23" y="-46" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_1hp6lih_di" bpmnElement="SequenceFlow_1hp6lih">
        <di:waypoint xsi:type="dc:Point" x="-336" y="6" />
        <di:waypoint xsi:type="dc:Point" x="-301" y="6" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-363" y="-19" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1egsxtb_di" bpmnElement="SequenceFlow_1egsxtb">
        <di:waypoint xsi:type="dc:Point" x="47" y="6" />
        <di:waypoint xsi:type="dc:Point" x="115" y="6" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="31" y="-13" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0je34xn_di" bpmnElement="SequenceFlow_0je34xn">
        <di:waypoint xsi:type="dc:Point" x="165" y="6" />
        <di:waypoint xsi:type="dc:Point" x="284" y="6" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="182" y="-13" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1io2on3_di" bpmnElement="SequenceFlow_1io2on3">
        <di:waypoint xsi:type="dc:Point" x="768" y="166" />
        <di:waypoint xsi:type="dc:Point" x="882" y="166" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="765.0923076923077" y="146" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0dr1sjn_di" bpmnElement="SequenceFlow_0dr1sjn">
        <di:waypoint xsi:type="dc:Point" x="-201" y="6" />
        <di:waypoint xsi:type="dc:Point" x="-153" y="6" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-222" y="-19" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0891prq_di" bpmnElement="SequenceFlow_0891prq">
        <di:waypoint xsi:type="dc:Point" x="302" y="-12" />
        <di:waypoint xsi:type="dc:Point" x="302" y="-83" />
        <di:waypoint xsi:type="dc:Point" x="-66" y="-83" />
        <di:waypoint xsi:type="dc:Point" x="-66" y="-34" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="74" y="-108" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0eb81rx_di" bpmnElement="SequenceFlow_0eb81rx">
        <di:waypoint xsi:type="dc:Point" x="-53" y="6" />
        <di:waypoint xsi:type="dc:Point" x="-3" y="6" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-73" y="-19" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="DataOutputAssociation_07ox4t1_di" bpmnElement="DataOutputAssociation_07ox4t1">
        <di:waypoint xsi:type="dc:Point" x="-102" y="-34" />
        <di:waypoint xsi:type="dc:Point" x="-101" y="-90" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1sgq02c_di" bpmnElement="SequenceFlow_1sgq02c">
        <di:waypoint xsi:type="dc:Point" x="291" y="166" />
        <di:waypoint xsi:type="dc:Point" x="318" y="166" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="260" y="141" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_16w2kob_di" bpmnElement="SequenceFlow_16w2kob">
        <di:waypoint xsi:type="dc:Point" x="418" y="166" />
        <di:waypoint xsi:type="dc:Point" x="452" y="166" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="390" y="141" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_0721phg_di" bpmnElement="SequenceFlow_0721phg">
        <di:waypoint xsi:type="dc:Point" x="552" y="166" />
        <di:waypoint xsi:type="dc:Point" x="583" y="166" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="522.5" y="141" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1o6zovq_di" bpmnElement="SequenceFlow_1o6zovq">
        <di:waypoint xsi:type="dc:Point" x="683" y="166" />
        <di:waypoint xsi:type="dc:Point" x="718" y="166" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="655.5" y="141" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_04gj5ny_di" bpmnElement="SequenceFlow_04gj5ny">
        <di:waypoint xsi:type="dc:Point" x="22" y="31" />
        <di:waypoint xsi:type="dc:Point" x="22" y="90" />
        <di:waypoint xsi:type="dc:Point" x="22" y="90" />
        <di:waypoint xsi:type="dc:Point" x="22" y="148" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-13" y="48" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="IntermediateCatchEvent_130m7b9_di" bpmnElement="IntermediateThrowEvent_0j2f1h7">
        <dc:Bounds x="4" y="148" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-23" y="184" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_01f3f7s_di" bpmnElement="SequenceFlow_01f3f7s">
        <di:waypoint xsi:type="dc:Point" x="4" y="166" />
        <di:waypoint xsi:type="dc:Point" x="-103" y="166" />
        <di:waypoint xsi:type="dc:Point" x="-103" y="46" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="-94" y="141" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ExclusiveGateway_1x7rqlw_di" bpmnElement="ExclusiveGateway_1x7rqlw" isMarkerVisible="true">
        <dc:Bounds x="115" y="141" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="95" y="191" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_1h4gri7_di" bpmnElement="SequenceFlow_1h4gri7">
        <di:waypoint xsi:type="dc:Point" x="140" y="31" />
        <di:waypoint xsi:type="dc:Point" x="140" y="142" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="110" y="77" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_136tgfu_di" bpmnElement="SequenceFlow_136tgfu">
        <di:waypoint xsi:type="dc:Point" x="164" y="166" />
        <di:waypoint xsi:type="dc:Point" x="191" y="166" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="133" y="141" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="UserTask_0h9n79y_di" bpmnElement="Task_0tqpfjx">
        <dc:Bounds x="-301" y="-34" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_1gwxth5_di" bpmnElement="SequenceFlow_1gwxth5">
        <di:waypoint xsi:type="dc:Point" x="743" y="191" />
        <di:waypoint xsi:type="dc:Point" x="743" y="252" />
        <di:waypoint xsi:type="dc:Point" x="140" y="252" />
        <di:waypoint xsi:type="dc:Point" x="140" y="191" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="708" y="203" width="90" height="20" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>

@roman.smirnov; @thorben
Please guide me on the above model.

cheers,
Jauhari

what where your expectations and what exactly happened?

my requirement is to monitor the db and after getting a specific condition trigger some work.

I took a look at your model and you haven’t added execution parameters to a lot of the elements.
The timers don’t have any duration and the service task has no no implementation criteria. So this model would not deploy.

You should follow the getting started guide to help you create a working model .

@Niall
plz help me in doing that. I am totally new to camunda and this is my first trial. I need to check db every 5 min and after getting certain condition some task need to be executed.

cheers,
Jauhari

There is still a lot you need to know before being able to achieve what you’re looking for.
I strongly suggest following the get started guide and if you want to know how to execute a event or activity you could always read the reference guide.

We’ve implemented something like you’re talking about. It’s really a generic set of functions:

  • Taken an input such as a measurement
  • Evaluate that input against some rules (perhaps stored in DMN tables)
  • Branch to an appropriate action (a Java class or service invocation)
  • Execute the action and retrieve the response
  • Evaluate the response and decide what to do next

So, on a practical level, you might do this:

  • Create the basic “parent” workflow that contains the logic of your over design (i.e. get response, evaluate, do something, evaluate response, do something else).
  • Create a DMN table that has values representing thresholds for whatever you measuring as its inputs. The response would be the action to be taken based upon the DMN table evaluation. For example, if you were measuring index efficiency and it dropped below a certain percent, you might want to send a message. If dropped further, you might want to issue a command to fix the problem on the database.
  • Create a separate process that executes the actions you want to take. In our case, we have a process that allows you to issue commands to a host via SSH (we use the JCraft Jsch library). This isn’t strictly necessary, but if you do it this way, you can reuse it with other processes. Make sure the parent and called process share all process variables.
  • From the parent you can use a Call Activity and pass the appropriate parameters to the separate task, which then executes the commands and returns the result. You can evaluate the result in the separate process on in the parent.
  • Decide what to do based upon the response received from the command process. Depending upon the complexity of possible responses and the actions to be taken, you can decide what to do next in the parent process itself or use another DMN table (Business Rule Task) to allow you more flexible rules.

The real challenge here will be getting the Jsch stuff working and unfortunately I can’t help you there. If the actions to be taken can be executed via a web service, then the Java class isn’t necessary. You can use Camunda’s HTTP and SOAP connectors. You just need to provide the correct parameters and payload.

I hope this helps.

1 Like