Java spring boot full explanation of Camunda 7, building a workflow platform from 0 to 1 - Section 1: Comparison of various open source frameworks

insert image description here

Introduction: Recently, the company is doing something related to workflow, and I am one of the main technical leaders. Thinking that since I am doing it in the company, I use the open source framework to do the second open, anyway, it does not involve the company's confidentiality agreement, nor does it involve other related legal issues, so I will disclose the part I made here, so that latecomers can learn from it One or two, or correct me one or two.

1. Introduction to Camunda

Camunda is a free, open source workflow engine and business process management (BPM) platform. Using Camunda, you can define, execute, and monitor a wide variety of business processes, including workflows, decision flows, and other types of automated processes. Camunda provides rich functions and tools, such as process modeling, task assignment, rule engine, etc., enabling users to easily configure and manage their business processes.
Camunda's biggest advantage over other commercial BPM platforms is its open source and flexibility. It adopts the popular BPMN 2.0 standard, seamlessly integrates with other enterprise IT systems, and supports cloud and on-premises deployments. In addition, Camunda provides extensive integration and extension mechanisms to help users customize their workflow solutions to meet their specific business needs.

2. Camunda Selection Instructions

The well-known open source process engines on the market include osworkflow, jbpm, activiti, flowable, camunda, n8n, etc. Among them, activiti is the most famous and the most widely used. activiti is a product derived from the jbpm framework, and flowable, camunda, and n8n are activiti extensions.

2.1 osworkflow

OSWorkflow is a process engine framework that defines the basic building blocks of a workflow and task management system. However, OSWorkflow has not been updated and maintained for some time, the last version was released in 2011, which may be a major reason for its unpopularity.
In addition, compared with other popular BPM platforms and workflow engines, the functions of OSWorkflow are relatively simple, and it is difficult to meet the needs of complex business processes and task management. It also lacks graphical modeling tools and some other advanced features, which makes it not as easy-to-use and user-friendly compared to other BPM platforms.
In general, OSWorkflow is a mature process engine framework, but due to its lack of some advanced features and ease of use, as well as the lack of update and maintenance for a long time, it is now not very popular with developers.


Portal:

  1. OSWorkflow GitHub repository: https://github.com/osworkflow/osworkflow
  2. Open Source Software Foundation's OSWorkflow page: https://sourceforge.net/projects/osworkflow/

2.2 jbpm

jBPM is an open source business process management (BPM) system and workflow engine. Although jBPM has many powerful functions, including process modeling, task assignment, workflow control and visual management interface, etc., there are some problems in use.
On the one hand, compared with other commercialized BPM systems, jBPM is relatively poor in ease of use and user experience, requiring a certain learning curve and professional knowledge for development and management. On the other hand, jBPM has relatively little documentation and community support, which can be a challenge for newbies.
At the same time, jBPM also has some limitations in some aspects, such as insufficient support for certain business scenarios, or high complexity in integration with other systems. All these may lead developers to choose other BPM systems in practical applications or manually develop process management systems by themselves.
Overall, jBPM is considered a powerful open source BPM system, but it is relatively underpopular due to some ease-of-use and practical application challenges, as well as the existence of competitors.


Portal: https://www.jbpm.org/


2.3 Activities

Introduction to Activiti

Activiti is an open source BPM platform and workflow engine that supports various types of business process management and automation processes. During the development of Activiti, multiple versions have been released. The following is a brief introduction to each version of Activiti:

  1. Activiti 5.x: This is the earliest stable release, which provides the basic BPMN 2.0 engine and workflow capabilities. Activiti 5.x version supports Java and REST API, as well as graphical management tools created based on process models. Its main advantages are stability and performance, but relatively few features.
  2. Activiti 6.x: This is a brand new version, based on Activiti 5.x, introducing many new features and improvements. Activiti 6.x version includes Activiti Cloud (provides a set of microservice tools and infrastructure), Activiti Core (based on BPMN 2.0, can easily define, execute and manage workflow), Activiti Designer (graphical process modeling and editing tool), Activiti Admin (manage and monitor workflow applications), etc. Its main advantages are comprehensiveness and flexibility, but it still needs to be improved and perfected in some aspects.
  3. Activiti 7.x: This is the latest version under development, and the industry generally agrees that it will include many new features and improvements. These include the introduction of a completely rewritten Activiti Engine, which has greatly improved performance and stability, and enhanced the ability to integrate with other systems. In addition, Activiti 7.x will also introduce Activiti Cloud Hyperledger (a blockchain-based workflow solution), and Activiti Cloud Connectors (connectors and adapters that can integrate with other enterprise systems and cloud services).

Advantages and disadvantages of each version

  • The advantages of Activiti 5.x versions are stability and performance, but relatively few functions. The disadvantage is that the function is not perfect enough, and some advanced features are missing.
  • The advantages of Activiti 6.x versions are comprehensiveness and flexibility, as well as stability and performance. The disadvantage is that some details still need to be improved and perfected, and the development and management experience of workflow needs to be simplified and optimized.
  • The advantage of Activiti 7.x version is that the performance and stability have been significantly improved, and the integration ability and scalability have also been greatly improved. At the same time, it has deepened in the fields of blockchain and cloud integration. The disadvantage is that this version is still under development, and there may still be certain risks and unresolved problems.

Portal: https://www.activiti.org/


2.4 flowable

Flowable is a lightweight Java BPMN (Business Process Model and Notation) engine, which is a branch of the Activiti engine. Flowable fully complies with the BPMN 2.0 standard, and provides a user-friendly and easy-to-use process designer, while supporting graphical modeling and management of various workflows. Flowable includes workflow engine, process designer, form designer, decision engine and other modules.
The main features of Flowable are as follows:

  1. Fully compatible with the BPMN 2.0 standard: Flowable is fully compatible with the BPMN 2.0 standard and supports process flow nodes, events, gateways, and more than 20 other types of building elements.
  2. Easy-to-Use Process Designer: Flowable provides a user-friendly process designer to easily create and modify flowcharts.
  3. High adaptability: Flowable can adapt to various environments, from a single server to a highly distributed cloud solution, which can be easily implemented.
  4. Flexible architecture: Flowable's separated architecture enables the data stored in the entire database to be independently deployed on different machines.
  5. Support for multiple languages ​​and platforms: Flowable can support other languages ​​and platforms such as Java, .NET, Ruby, PHP and Python through REST API.
  6. Scalability: Flowable's core technologies such as traffic, encryption, and security can be easily extended, and can be easily used with various technologies, libraries, and frameworks.

Overall, Flowable is a powerful yet easy-to-use BPMN platform. It provides a process engine and a graphical designer that fully comply with the BPMN 2.0 standard, and provides various extension and integration methods, providing developers with a more flexible, efficient and high-quality workflow engine and management experience.


Portal: https://www.flowable.com/


2.5 camunda

Introduction to camunda

Camunda is an open source BPM (Business Process Management) platform that supports the BPMN 2.0 standard. It provides a user-friendly process designer and process engine, enabling developers to easily create, manage and monitor business processes. At the same time, Camunda also provides a wide range of Workflows, Decisioning and RPA (Robotic Process Automation) tool integration capabilities, which can help developers build flexible and scalable applications to meet the complex and dynamic business process needs of enterprises.
Here are the key features of Camunda:

  1. Reliability, High Performance: Camunda is a reliable and high performance platform that can handle a huge number of transactions and processes.
  2. BPMN standard compatibility: Camunda supports the BPMN 2.0 standard, including process modeling, simulation and execution.
  3. Separate Workflow and Decisioning engines: Camunda provides Workflow and Decisioning engines respectively, which can be managed and optimized separately.
  4. Highly visual and user-friendly: Camunda provides a user-friendly process designer and a visual data dashboard, enabling developers and business personnel to better track and manage business processes.
  5. Extensible and highly integrated: Camunda can be easily integrated with other organizational systems such as user authentication, messaging, web services, and more.
  6. Open source, high flexibility: Camunda is an open source project, free to use and modify, and also has strong scalability.

Overall, Camunda provides a highly reliable, high-performance, scalable, and user-friendly BPMN platform with extensive Workflows, Decisioning, and RPA tool integration capabilities to help developers create more intelligent and efficient business processes.

Mainstream version introduction

Camunda has the following major versions:

  1. Free BPM 5.x

Camunda BPM 5.x is an early version of Camunda, mainly including Activiti and JBoss JBPM engine upgrades. This release provides a complete BPMN 2.0 process engine and supports many workflow and BPMN features.

  1. Free BPM 6.x

Camunda BPM 6.x is an important updated version of Camunda, which redesigns the internal architecture of the process engine, improves performance and scalability, and introduces new features. This version introduces the support of the CMMN (Case Management Model and Notation) specification, which supports more complex case management and solutions.

  1. Free BPM 7.x

Camunda BPM 7.x is a major upgrade of the Camunda orchestration workflow engine. This version improves the user experience, introduces the user-friendly interface of Camunda Cockpit, and improves the support for process monitoring and business rule management.

  1. Free BPM 8.x

Camunda BPM 8.x is a version of Camunda that only supports JDK8+. This version introduces many new features, such as support for DMN 1.2, extended CMMN support, simplification and enhancement of BPMN, etc. Additionally, this release introduces many new features for developers and system administrators to improve scalability and performance. Since Camunda 8.x, it has been Saasized and supports cloud services.
At the level of technical architecture, the underlying process engines of Camunda BPM 7.x and 8.x are different. Camunda BPM 8.x introduces a new event-flow based process engine called Camunda Run. Camunda BPM 7.x uses a traditional process engine based on the thread pool model.


Portal: https://camunda.com/


2.6 n8n.io

n8n is a free, open source workflow automation tool that allows users to create workflows (Worflow) between multiple services, automate repetitive operations, link web applications and APIs, and manage the entire process from a central location. =
n8n provides a visual workflow designer that can build custom workflows by dragging and dropping, and supports a large number of integrations, including more than 200 commonly used applications and services such as Google Drive, Slack, Trello, and Salesforce. In addition, n8n also provides some predefined templates and examples to facilitate users to quickly create and set up workflows.
n8n requires no coding and provides a simple graphical interface that helps users automate their daily business processes. At the same time, n8n also provides other useful functions, such as scheduling, branch judgment, loop, custom script, etc., as well as error handling and troubleshooting functions to ensure high reliability and maintainability of the workflow.
Overall, n8n is a powerful automation tool with high flexibility and scalability that helps users easily build custom workflows and automate their daily tasks and business processes. At the same time, as an open source project, n8n also provides extensive community support and contributions to help users better understand and use the tool.


Portal: https://n8n.io/


2.7 Why choose camunda? Camunda7.x or camunda 8.x?

Why choose camunda?

Because compared to other process engines, Camunda has the following advantages:

  1. Powerful BPMN standard support
    The BPMN engine adopted by Camunda is one of the best at present, and it supports the BPMN 2.0 standard. Compared with other competitors, it has better scalability, reliability and accuracy. BPMN is also more convenient and readable, and can provide very detailed and clear information for the process visualization part.
  2. Flexible process design
    Camunda's workflow designer supports multiple view modes, including flowchart and tree diagram, etc., which can help users better define their own business processes and customize their process definitions. Camunda also supports multiple complex process settings such as multi-level sub-processes, task routing, and parallel processing approvals, so that users can better design their own business processes.
  3. Extensibility of the process engine
    Camunda provides an open API and includes the required tools and libraries so that developers can easily expand and customize the process engine. These APIs allow other applications to integrate with Camunda.
  4. Efficient Execution Engine
    Camunda's process execution engine is high-speed processing with extremely high concurrency. In addition, it also has a better compromise mechanism to ensure high availability and high performance of business processes.
  5. Open source, free usage model
    Camunda is a free, completely open source workflow engine, whether it is an individual or an enterprise user, can easily carry out process management and workflow automation projects without installing any special software or paying costs.

Why? Because the camunda community is more active, the construction cost is relatively low, it supports cloud deployment, and there is a wealth of experience to learn from.


camunda7.x or camunda 8.x?

Because camunda 8.x is already a product of Saas-based transformation, it supports cloud deployment, multi-party synchronization, and so on. However, these services require the use of foreign servers and require fees. Moreover, camunda 8.x is already equivalent to a product middle platform, which requires an independent team to maintain and deploy, and a lot of data needs to be managed by a third-party company (camunda development company), which is easy to leak data. (Gringos, I understand everything) To sum up, the cost is high, and third-party service access is required, and the platform is not completely autonomous.

For camunda7, most of the components are open source and free to use, the technology ecology is good, and it is easy for programmers to get started. In summary, it is simple enough, and there is no additional third-party service cost included.


Is it camunda 7 or camunda 8 Here are a few of my own ideas:

  1. If the company's business needs are large, and you have money, and you don't care about data leakage, strong stability, etc., don't hesitate, camunda 8 is worth having.
  2. If the company's business needs are large and the data is strictly controlled, it is recommended to do secondary development and maintenance of the camunda 7 platform.
  3. If the company's business needs are small, but the data is strictly controlled, it is recommended not to use camunda. Because access also requires a certain cost, it is better to do hard-coded programming directly.

Of course, the summary is that using camunda8 is equivalent to outsourcing services. Many things are in the hands of others, but it is easy to use and has professional technical support. camunda7 is equivalent to the company's self-development, it just introduces a set of open source framework, but all technical problems need to be solved by ourselves.


The next article will introduce how camunda is developed collaboratively in actual production. Portal

Guess you like

Origin blog.csdn.net/qq_44503987/article/details/131153482