1
votes

I am looking for some tool capable of creating complex process of data manipulation which can be more or less easily modified by people who do not write code.

For example, my task is:

  1. fetch data from sourceA

2.1 if data is full - filter it by condition 45

2.2 if data is not full - fetch additional data from source B

  1. if result passes validation - return 1, otherwise 0

This should be described in some readable manner, best option is if one can modify this process in some UI tool.

What are the requirements?

Each process consists of two parts: steps, and a way to arrange them in a sequence.

(1) The process in each step should be able to 1. emit commands for fetching some data from data-sources and inserting this into process context 2. filter, enrich, transform datasets obtained Thus each step of this process should be described with some more or less simple DSL.

(2) The selection of the step to go, i.e. the consequence of steps should be described by some visual tool, or again, as in (1), with some simple dsl.

Can you advise something for this typical, from my point of view, task?

Meanwhile, here are my own ideas.

First think comes to mind is BPMN combined with Drools.

For steps I may use DRL rules: they can make only basic data manipulation themselves, but I can call Java functions from them if I need something complicated.

For steps consequence I may use standart BPMN diagramm.

Mat be, there is something better?

1

1 Answers

1
votes

The combination of BPMN with DMN would allow you indeed to describe with these visual standards, the execution of the process and decision logic to be applied, in order to achieve what in the "For example" paragraph.

In order to make it fully accessible by the business people, the BPMN task for fetching the data or performing any interaction with external system, should be prepared in advance and made available during the composition of the BPMN/DMN diagrams.

Alternatively to BPMN+DMN combination, you can look into Fuse or Fuse Online, it cannot describe all the semantics of the BPMN+DMN combination, but with Fuse Online for instance you can fully visually implement the steps you described in the "For example" paragraph.