AnsweredAssumed Answered

How to allow each tenant to customize business processes?

Question asked by jasonw on May 22, 2015
Latest reply on May 28, 2015 by martin.grofcik
I am building a SaaS product and each tenant will probably have different business processes (from slight to dramatic variations).

I have several ideas in mind and would like feedback from the group on viability, pros/cons, etc.

a.) Our SaaS product will have out-of-the-box, "canned" business processes.  So, it will just work for the tenant without the need for customization.
b.) During integration of the tenant, our consultants (e.g., process modelers) will do business process discovery and configure the customizations for the tenant.

Customization Options so far:
1. Complete Customization - We would expose BMPN 2.0 to the fullest.  This allows our process modelers to completely deploy a different process for each tenant.  Allows custom Java, Web Service calls, and even Scripts to be deployed in the BAR (scary to me and seems hard to manage custom code deployments with 99.999% uptime to all SaaS tenants.)

2. Controlled Customization - Our modelers could use only certain the BPMN 2.0 notations and change the out-of-the-box models within a set of guidelines (e.g., no custom scripts, >>> which could cause a security breach to other customers, etc.).

3. Limited Customization - In this option, we would not even expose BPMN 2.0 to the end users even though we are running Activiti Process Engine.  We'd just provides hooks into our out-of-the-box processes to allow them to do certain things.    This is similar to SaaS giant, Workday.  It takes user inputs and "generates" the process model, but does not allow process modeling directly. Perhaps, after a step, you can:
- call a web service of your choice with the process instance variables available
- send an notification to X people
- etc.

However, we'd limit the ability to call completely new sub-processes, or run custom scripts, etc.