Hello Community,
We are building an enterprise-grade BPM platform using Appian to manage various distributed banking processes such as loan applications, KYC, onboarding, and more. One of our architectural goals is to ensure flexibility and scalability, especially when dealing with multiple business domains and product types (e.g., Car Loan, House Loan, Personal Finance).
In our design, we have a universal process registry (PROCESS_MASTER) that links to all BPM activities. However, each product and process can introduce different sets of business-specific fields. We want to allow for product/process-specific data entry without creating a separate CDT or database table per product.
We want to future-proof our platform without over-customizing for each new product.
Any feedback or real-world experience would be much appreciated!
Thanks,Ahmad BaghdadiSolution Architect (Banking BPM)
Discussion posts and replies are publicly visible
1. As a general rule, I would say no.
2. I don't know of any.
3. I would use config maps to store field configs/groupings. I would not store in the database.
4. Nothing particular but reporting becomes a bit of pain if you decide to go with #1.
5. It will work but Appian is not optimized for key/value data storage.
This doesn't mean that you can't use this type of design but there is nothing in Appian that is specifically optimized for it and like anything there are trade offs and compromises that need to be made. It depends on what your priorities are.
So, do you recommend creating a structured record type for each application or process type and developing its own interface while adhering to the same UI standards using the SAIL UI interface?
It obviously depends on your requirements but in general, that is what I would recommend.