Camunda
1. BPMN (Business Process Model and Notation)
Process Definition: A visual representation of the business process using BPMN 2.0. It defines the flow of tasks, events, and gateways.
Tasks: Different types of work units within a process (e.g., user tasks, service tasks).
Events: Something that happens during the process (e.g., start event, end event, intermediate events).
Gateways: Control the divergence and convergence of sequence flows (e.g., exclusive gateways, parallel gateways).
2. Process Engine
Deployment: The process of uploading BPMN diagrams and associated resources to the Camunda engine.
Process Instances: Runtime instances of a process definition.
Execution: Represents the token that traverses through the process model.
3. Task Management
User Tasks: Tasks that require human interaction.
Service Tasks: Automated tasks executed by the system (e.g., calling a REST API, executing business logic).
4. Forms
Used in user tasks to collect or display information to users.
Can be created using HTML, embedded forms, or external forms.
5. External Tasks
Tasks that are handled by external workers (e.g., microservices).
Useful for decoupling the process engine from the execution logic.
6. Event Handling
Message Events: Allow communication between different process instances or external systems.
Timer Events: Used to model delays or periodic actions.
Signal Events: Broadcast signals within the process engine to trigger actions.
7. Scripting and Delegates
Delegates: Java or Kotlin classes that implement the
JavaDelegate
orExecutionListener
interfaces to execute custom business logic.Scripting: Use scripts (e.g., Groovy, JavaScript) within BPMN models for dynamic behavior.
8. Process Variables
Data that is used and manipulated throughout the process.
Can be of various types (e.g., string, integer, custom objects).
9. Camunda Modeler
A desktop application to create and edit BPMN process diagrams.
10. Camunda REST API
Allows interaction with the Camunda engine from external applications.
Useful for starting process instances, querying tasks, and completing tasks programmatically.
11. Camunda Cockpit
Web application for monitoring and managing process instances.
12. Camunda Tasklist
Web application for managing and completing user tasks.
Integrating Camunda with Kotlin
To integrate Camunda with Kotlin, you'll typically:
Define BPMN Processes: Use Camunda Modeler to create BPMN diagrams.
Deploy Processes: Deploy BPMN processes to the Camunda engine.
Implement Business Logic: Use Kotlin to write delegate classes or external task workers.
Configure Forms: Create forms for user tasks if needed.
Monitor and Manage: Use Camunda Cockpit and Tasklist for process management.
Last updated