Hi,
I am evaluating Camunda and I will be really grateful if you could answer my questions.
We have an JSF based application with an Oracle database as backend. The application has forms, tasklist and security enabled and we would like to integrate without much changes to the existing application. Does Camunda offer the following?
Embed Camunda as a jar file into the existing application;
Get a task list and task details via an API call
When I say task details, I mean task state, approvers and actions, which are available at the current task state.
If this is possible, is there a documentation/blog post on how to embed Camunda?
Well, yes and no. The application servers listed in the supported environments are mostly relevant when using a container-managed, shared process engine. Embedded engine should be fine nevertheless.
Hi @thorben, there is one thing which I would like know. There is an application module feature with Oracle ADF framework, on which my application is based. Basically it means that when the load is increased, the framework start additional instances of the application module.
The BPM process is initialized in the application module impl class and I am afraid, that when pooling occurs I might have several instances of engine created, unless there is some kind restriction (singleton pattern) built in into the initiation classes. The question is, is there such a restriction? How can we ensure that the only one engine instance is created per application?
Yeah, but if I would like to use java api to communicate with the embedded engine, then how I make sure that I am talking to the right engine from the transaction perspective. And having multiple engines running does not seem to be right
Every API interaction is its own transaction, so that should be fine.
A plain engine object is rather lightweight. Having one job executor per such engine may be not, because for an embedded engine this creates one job acquisition thread and execution thread pool per job executor. Maybe you can configure those engines with deactivated job executor and then have one dedicated engine with activated job executor that is not managed by Oracle. I have no idead if that makes sense in your scenario, though.