GithubHelp home page GithubHelp logo

study06's Introduction

Study06 README Contents

Research the Camunda Platform

The sections of this project:

  1. Docker Build
  2. Models
  3. SpringBoot Application with Spring Zeebe Client
  4. Workflow

Java source code. Packages:

application sources :  kp
test sources :  kp.decisions


Java API Documentation ●  Java Test API Documentation


❶ Docker Build

Action:

1. With batch file "01 Docker create Camunda.bat" create Camunda in Docker.

1.1. The Camunda in Docker is created with Docker configuration docker-compose-core.yaml.


The screenshot of the created Docker containers.

Back to the top of the page


❷ Models

Action:

1. In "Camunda Modeler" open
business-process-diagram-01.bpmn and decision-requirements-diagram-01.dmn
2. In "Camunda Modeler" deploy business-process-diagram-01.bpmn to local Docker 'http://localhost:26500'.

2.1. The business process model and the decision model were created with Camunda Modeler. This modeler was downloaded and locally installed. The screenshot of the deployment dialog in "Camunda Modeler".

2.2. The business process diagram file business-process-diagram-01.bpmn.

The business process diagram in "Camunda Modeler".

2.3. The decision requirements diagram file decision-requirements-diagram-01.dmn.
From 'impact' and 'urgency' it is computed 'priority'.


The decision requirements diagram in "Camunda Modeler".

2.4. Priority Matrix

impact
highmediumlow
urgency high 1008040
urgency medium 705020
urgency low 30100

2.5. Condition Matrix

Flow From Service TaskFlow To Service Task Flow TypeCondition Expression
TriageHigh Priority Sequence Flowpriority >= 80
TriageMedium Priority Sequence Flowpriority > 20 and priority < 80
TriageLow Priority Default Flow

Back to the top of the page


❸ SpringBoot Application with Spring Zeebe Client

Action:

1. With batch file "02 MVN clean install run.bat" run the SpringBoot application with the enabled Zeebe client.

Back to the top of the page


❹ Workflow

Action:

1. Start workflow with batch file "03 Zeebe start instances.bat".

4.1. The workflow results from the Zeebe CLI client.

Console log from the execution of the batch file "03 Zeebe start instances.bat".

4.2. The workflow results from the SpringBoot application.

Console log from the SpringBoot application.

4.3. The Zeebe workers are the components that subscribe to Zeebe to execute available jobs:

4.4. Assigning the workers (SpringBoot components) to the service tasks (from the business process diagram).

Service task "Triage" has the task definition type "service-triage".
This type is set in method kp.workers.impl.TriageWorker::handle on 'JobWorker' annotation.
In method kp.workers.impl.TriageWorker::initialize is created 'DmnDecision' from parsed decision requirements diagram file decision-requirements-diagram-01.dmn.
This 'DmnDecision' is evaluated in 'kp.workers.impl.TriageWorker::handle' method.

Service task "High Priority" has the task definition type "service-priority-high".
This type is set in method kp.workers.impl.HighPriorityWorker::handle on 'JobWorker' annotation.

Service task "Medium Priority" has the task definition type "service-priority-medium".
This type is set in method kp.workers.impl.MediumPriorityWorker::handle on 'JobWorker' annotation.

Service task "Low Priority" has the task definition type "service-priority-low".
This type is set in method kp.workers.impl.LowPriorityWorker::handle on 'JobWorker' annotation.

Service task "Approve" has the task definition type "service-approve".
This type is set in method kp.workers.impl.ApproveWorker::handle on 'JobWorker' annotation.
This worker sets unconditionally the value "approved".

4.5. The workflow results in "Camunda Operate" on Docker http://localhost:8081/.
The screenshot of all three process instances
The screenshot of the process instance triaged to high priority
The screenshot of the process instance triaged to medium priority
The screenshot of the process instance triaged to low priority

Back to the top of the page


Process Optimization

There is a possibility to install "Camunda Optimize" with an alternative docker configuration docker-compose.yaml. The screenshot of the optimization heat map for the "Defect's Triage Process".

Dictionary

Camunda Platformworkflow and decision automation platform
Camundaprocess orchestrator
Zeebeworkflow engine for microservices orchestration
BPMNBusiness Process Model and Notation
DMNDecision Model and Notation
DRDDecision Requirements Diagram
COTSCommercial Off-The-Shelf Software
RPARobotic Process Automation

Back to the top of the page


study06's People

Contributors

k1729p avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.