The business process automation platform consists of a cluster of application servers and database servers. Each of the five application servers have different responsibilities which are given below:
- Auth. Server: The authentication server is for doing the authentication and authorization. We have a unique multi-layered parameterized role based access control in our system which is managed through this server.
- Process Server: The business process automation platform has a core process engine for process execution which runs in this server. All user interactions related to process execution are routed to this server through the BPM application server. The process server interfaces are not directly exposed for user interaction.
- BPM App Server: The BPM application server is the primary middleware through which almost all the user requests are served. The GUI based dynamic workflow modeller is also hosted on this server.
- Reporting Server: The reporting server, as the name suggests, is responsible for generating the various reports on the process instances, live or completed.
- External Server: The external server is the EAI component through which the process instances can either fetch data from an external application or can update data into an external app or both. The server contains a framework of bi-directional communication and specific services need to be developed and attached to the framework.
The system involves different types of data. Their access patterns, as well as the performance requirements are also different. Depending on these considerations, the data are stored in three different data storages. These are briefly described below:
- Model Store: The model store is used by the process server and the BPM app server. The process models are stored along with the information of the instances.
- Document Store: The document store is for storing the data associated with the instances. This is updated by the process server and BPM app server whereas mainly queried by the reporting server for generating various reports.
- Membership Store: The membership store is for storing the data related to the users, roles and access rules.