Flexibility and Robustness of Process-aware Information Systems
Process optimization, service-oriented architectures and business process management have been prevailing topics in professional IT journals for many years. This is not surprising at all considering the fact that corresponding business areas show a significant potential for growth when compared to already established information technologies (e.g., database systems). Additionally, a number of other drivers exist that stimulate companies to deal with issues related to “Business Process Mangement":
- Companies need to be able to quickly react on emerging opportunities and trends in order to stay competitive in their market; i.e., products and service need to be developed and introduced to market more quickly than in the past.
- Global competition more and more forces companies to develop and introduce new ways of interacting with partners and customers (e.g., using the Internet and Web 2.0 techniques).
- Legal regulations are frequently changed forcing companies to adapt their processes in an ad-hoc manner.
These trends have significant effects on business processes and the information systems supporting them. In particular, both need to be quickly adaptable to changing needs. Thus, it will be fundamental for the success of future BPM technology whether it increases enterprise flexibility or causes the opposite effect (i.e., leads to rigid and inflexible process implementations). Current vendors of BPM technology have recognized this need, and the notion of "flexibility" can found as buzz word in almost every booklet. However, in order to enable "true flexibility", more advanced functions are needed than offered by contemporary workflow technology (including BPEL engines):
Flexibility regarding the implementation of new processes
How quickly can a new process be implemented and deployed? I.e., how much effort is needed to model the control flow and data flow of the process, to assign executables to process steps, and to check all possible execution sequences the process model allows to ensure that no execution problems may occur at runtime. These checks must comprise, e.g., the absence of intra-process blocking situations (deadlocks), the compliance of control and data flow, and that no process activity may be invoked although mandatory input parameter values are not provided. - The less system support is provided to ensure the absence of such errors, the more testing effort is required, which in turn leads to longer delays until new processes can be deployed.
Flexibility regarding the execution of process instances
In business it is not possible to anticipate all possible situations and exceptional cases which may occur. Therefore, each process management system which tries to force its users to follow the pre-modelled process although it does not meet the requirements of the given situation will be faced with significant acceptance problems. In simple cases it may be sufficient to insert a single activity or to replace an activity by another one (or a sub process), but in general, it must be possible to perform also significant ad hoc changes at process instance level. However, this must not lead to the consistency and robustness problems mentioned above.
Flexibility regarding changes at process type level
Repeatedly performed ad hoc changes of the same kind related to the same process schema, changes in the organization, in legislation or other reasons may make it necessary to change the process schema. I.e., to create a new version which contains the required changes. In general, in case of short-running processes it will be sufficient to allow the already running process instances to continue their execution according to the old schema while newly created instances base on the new schema. In case of long-running processes or if there are severe problems with the old schema then this is not sufficient. Clearly, one could use ad hoc modifications to adapt the process instances accordingly where applicable. But this would be cumbersome and error-prone, especially if many process instances of the old schema are in execution. Therefore, it is very important to provide support on system level for process schema evolution, i.e., the migration of running instances to the new schema. Aand this should also include ad hoc modified instances, if these changes are not conflict with each other. And, as above, also process schema evolution must not violate correctness and robustness.
It is not hard to predict that only a BPM technology which is offering all these flexibility aspects in an integrated fashion will lead to sustainable success and will allow to use BPM systems on a broad basis.
According to the features listed above, the ADEPT technology is significantly more powerful than the other available BPM products. It offers features which one does not find there in such an integrated form:
- Very simple and quick implementation of processes, e.g., by inserting new activities by drag & drop
- Comprehensive evaluations on system level regarding structural correctness (e.g., absence of deadlocks, correct data flows, parameter provision)
- Support of (also significant) ad hoc deviations at process instance level. (Again by applying correctness checks and by logging all applied changes for evaluation and control purposes.)
- Support of process schema evolution. I.e. the migration of running process instances (including ad hoc modified ones) on system level to the new schema (by obeying again the correctness criteria outlined above).
- Semantically high level application program interfaces which make all this functionality very easy to use.
The AristaFlow BPM is based on the ADEPT technology and is available as a product in the meantime (www.AristaFlow.com). This software does not only allow the very quick implementation of robustly executable process-aware applications, it also opens the opportunity for completely new kinds of applications. Examples are the execution of only partially specified processes which are completed during run-time, the removal of exception handling from the standard process, realization of highly flexible processes, etc. The AristaFlow system has been successfully used in application domains requiring a high degree of flexibility, like, e.g., the support of clinical pathways, disaster management, or e-business applications.
Being implemented in a service-oriented fashion and by offering all its functionality via corresponding interfaces, the AristaFlow technology is also well suited to serve as integrated component in other systems.
The following paper gives insights into the evolution of the BPM technology we have developed as well as its current state:
- Dadam, Peter and Reichert, Manfred (2009) The ADEPT Project: A Decade of Research and Development for Robust and Flexible Process Support - Challenges and Achievements. Springer, Computer Science - Research and Development, 23(2): 81-97 (pdf)
Furthermore, comprehensive surveys on issues related to process flexibility are provided by the following two papers:
- Weber, Barbara and Sadiq, Shazia and Reichert, Manfred (2009) Beyond Rigidity - Dynamic Process Lifecycle Support: A Survey on Dynamic Changes in Process-aware Information Systems. Computer Science - Research and Development, 23 (2) (pdf)
- Weber, Barbara and Reichert, Manfred and Rinderle-Ma, Stefanie (2008) Change Patterns and Change Support Features - Enhancing Flexibility in Process-Aware Information Systems. Data and Knowledge Engineering, 66 (3). pp. 438-466 (pdf)