PROCEED (PROCess EnginE in a Distributed environment) is a research project with the goal of developing a process engine with a decentralized architecture.
Unlike the currently established Business Process Management Systems (BPMS), PROCEED aims to enable its execution component to run on parallel, heterogenous devices with a distributed organisation of the process flow. This concept is aligned with the recent evolution of IT systems to switch from a centralized client-server architecture to a decentralized peer-to-peer network, whereby devices of all sizes and operating systems in the vicinity are connected and exchange data in order to fulfill a task.
The process execution on many different resources enables the individual actors to use context information. This has many advantages for the end users and for the industries:
- Offline Execution: Running a process step directly on a machine and sending the next process step to the next machine, does not require the connection to a central (cloud) server. This can be very interesting for projects where there is no stable network connection.
- Network load: Sending vast amounts of data over a network (potentially across continents to cloud service providers) causes latency and congestion. By pre-processing the data close to the user these effects are reduced.
- Use of resources: The “Fog Computing” approach makes sure that resources close to the user are used instead of delegating calculation tasks to a central cloud instance. This helps to ensure an effective use of the available resources and better end user experience.
- Privacy: If sensible data is processed close to the user and not sent to a centralized server, possible misuse of data is avoided and data protection is enhanced.
- Easy Integrations: We offer a Process Engine that can be installed on many different devices. By adhering to the BPMN standard, it is easy to transform existing processes, distribute the execution to different Machines and let them work together. Moreover, we are able to use the capabilities of a Machine in the execution steps, so you don’t need to connect to a heavy or proprietary API.
- Reliability: Instead of having one central point of failure that potentially influence the execution of multiple processes, PROCEED distributes the execution to many Machines. If there is a critical error this can only affect the processes that are currently also executed on the same Machine, and can not influence all other processes.
With the PROCEED project, we have the research goal of evaluating the capabilities of a distributed process engine, comparing it to traditional implementations and developing a prototype which will take advantage of the above mentioned points.
The project is currently developed at the SNET chair. The code is publish as an open source project on Gitlab. You can find instructions, the current status and executables on our project documentation site. You can also test a part – the Management System – here: https://proceed-server.snet.tu-berlin.de
There, it is possible to create processes, even with multiple people working on the same process in parallel, and to deploy & monitor the execution of a process (if you are running some PROCEED Engines).
PROCEED has been chosen by the Federal Ministry of Education and Research (BMBF) to be funded within the Software Campus initiative. The Software Campus program integrates research and practical management experience in order to train researcher to become managers and entrepreneurs with an excellent IT background.
Project Title: PROCEED (PROcess EnginE in a Distributed environment)
Project Coordinator: Kai Grunert
Academic Partner: Technische Universität Berlin, Service-centric Networking (SNET).
Industrial Partner: Scheer GmbH
Duration: 03/2018 – 10/2021
Research Program: Software Campus
Funding Identifier: 01IS17052