Hello, friend!
Let’s see changes between CUBA and Jmix.
First of all, in CUBA bpmn engine was BProc. Right now, in Jmix there is Flowable. So, platform did same methods and services for internal logics, but in fact, the most of business rules inside BPM provided by it’s BPM platform.
The most difference would be in Flowable/Bproc API. For example, Flowable using Unit of Work pattern for all common APIs like:
RepositoryService, TaskService, etc
Flowable tends to offer a more extensive set of APIs and extension points for customizing and extending the platform’s functionality. BProc’s customization options may be limited to what the community provides or requires more effort to implement customizations.
API common
If you check flowable api docs, you would see they are really similar. Example:
- BProc
List<TaskData> tasks = bprocTaskService.createTaskDataQuery()
.taskAssignee("kermit")
.processVariableValueEquals("orderId", "0815")
.desc()
.list();
- Flowable
List<Task> tasks = taskService.createTaskQuery()
.taskAssignee("kermit")
.processVariableValueEquals("orderId", "0815")
.desc()
.list();
TaskData
and Task
models are not the same, but very similar.
About your ask
-
bprocTaskService
and bpmTaskService
are not the same. bpmTaskService
is inheritor of TaskService
that come From Flowable.
- In case of writing business logics inside your applications they are pretty common.
Regards, Dmitry