Hello,
I have a question about some business case .
Now , I am designing process work flow for : system will do the following steps:
1) Initialize the resources
2) call activity which try to call backed system if success then normal end the process
3) if the back end call failed , the business error fired
4) after certain time the system back to try again to call back end
5) after defined number of retries of this timer if still the system can not call the back end service the process is terminated
Please find the the process definition file . i can not attached the process diagram .
Is this definition meets the requirements ?
Please find attached process definition
<startEvent id="startevent1" name="Start"></startEvent>
<serviceTask id="InitializeService" name="Initialize" activiti:class="me.ffusion.bpm.javaDelegates.InmaDelegate">
<documentation>Initialize logger and create working directory</documentation>
<extensionElements>
<activiti:executionListener event="start" class="me.ffusion.bpm.javaDelegates.InmaDelegate"></activiti:executionListener>
</extensionElements>
</serviceTask>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="InitializeService"></sequenceFlow>
<callActivity id="callactivity1" name="Call activity"></callActivity>
<sequenceFlow id="flow2" sourceRef="InitializeService" targetRef="callactivity1"></sequenceFlow>
<boundaryEvent id="boundaryerror1" name="Error" attachedToRef="callactivity1">
<errorEventDefinition></errorEventDefinition>
</boundaryEvent>
<serviceTask id="servicetask1" name="Service Task"></serviceTask>
<sequenceFlow id="flow3" sourceRef="boundaryerror1" targetRef="servicetask1"></sequenceFlow>
<boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="servicetask1" cancelActivity="true">
<timerEventDefinition></timerEventDefinition>
</boundaryEvent>
<sequenceFlow id="flow4" sourceRef="boundarytimer1" targetRef="callactivity1"></sequenceFlow>
<endEvent id="errorendevent1" name="ErrorEnd">
<errorEventDefinition></errorEventDefinition>
</endEvent>
<sequenceFlow id="flow5" sourceRef="servicetask1" targetRef="errorendevent1"></sequenceFlow>
<endEvent id="endevent1" name="End"></endEvent>
<sequenceFlow id="flow6" sourceRef="callactivity1" targetRef="endevent1"></sequenceFlow>