Original Title - not accepted by posting engine: "Is it possible to Access the “MultiSchemaMultiTenantProcessEngineConfiguration” from within a script task? "
Hi all, apologies in advance, very new to Flowable.
Short question: Is it possible to get access to the MultiSchemaMultiTenantProcessEngineConfiguration in a [groovy] task via the spring context?
Longer question:
I’m looking at trying to integrate Flowable as the workflow engine for the FOLIO open library platform (https://www.folio.org/). FOLIO is an open source project currently targetted at the academic library ecosystem and trying to challenge some of the big business forces consolidated in that space. FOLIO is a microservice based architecture, but currently, any orchestration of those services is done at the code level inside specific modules. We are looking at the possibility of using a workflow engine to automate service orchestration tasks… however…
FOLIO uses a dynamic tenant registration and initialization system - so we don’t know when the system is deployed what tenants might be initialized. We would like to use a schema-per-tenant isolation mechanism and for our Proof of Concept Work we’re using the flowable/all-in-one docker image.
As a part of normal system operation, microservices are enabled for specific tenants which cause a schema to be created and initialised for the module on the tenant.
I am interested to know if we could create a default-tenant task “registerTenant” which will sit in a default-tenant process called “initialiseTenant” that will dynamically provision a flowable engine for a tenant. I’ll be researching this some more, but if anyone is able to offer advice or insight I would be really interested. We did some PoC work about 6 months ago based on Camunda, but my sense is that Flowable has the edge in orchestrating web-based microservices. I’ve been looking at https://blog.flowable.org/2018/09/11/multitenancy-in-flowable/ but I think what I’m really interested in is calling the functions defined there from a process itself - so using the engine to manage the engine.
Any pointers or suggestions would be very welcome - we’re very new to this and on a learning curve, so please be gentle. is this a dumb question?
Thanks in advance,
Ian.