Architectural Considerations in Systems Supporting Dynamic Workflow Modification
چکیده
One of the major limitations of current workflow technology is the lack of flexibility necessary to support the dynamic nature of most business processes today. We present dynamic modification of workflows as a means of providing the technological support necessary for adapting workflows to changes in process requirements. In this paper we propose software architecture for a workflow system that supports dynamic modification. We identify required additional components, increased functionality of existing components, and interfaces between the components and agents external to the workflow system. The proposed architecture is based upon a three-phase modification methodology, which we also briefly describe. 1 Scope of Workflow Changes Due to the continually accelerating pace of technological advancements, changing requirements and regulations, and introduction of new methods, business process models are being constantly reviewed, improved and adapted to the changing environment. Change can arise due to three main reasons. First is process improvement, which involves performing the same business process with increased efficiency [Dav93]. Secondly, process innovation, which involves performing the business process in a radically different way. Business process reengineering would generally fall in this class of change, since it is "a new conceptualization of the business process" [Ham90]. And finally, process adaptation, which involves adapting the process to unforeseen change. Before taking the discussion further, we briefly introduce basic concepts to clarify terminology. The workflow model or process model is a definition of the tasks, ordering, data, resources, and other aspects of the process. Most, if not all, workflow models are represented as graphs [CCP+95], [RD97], [SO97], [AHH94] where nodes in the graph represent process activities or tasks, and edges depict the flow or ordering of the tasks involved in the process. For example, we can define an admission workflow that handles admission applications in a university. Ideally the workflow model is intended to completely achieve process goals with maximum efficiency. Workflow instance is a particular occurrence of the process, for example, a particular application for admission represents an instance of the admission workflow. Different instances of the same workflow may perform a different subset of workflow tasks, i.e. they may follow different paths * The work reported in this paper has been funded in part by the Cooperative Research Centres Program through the Department of the Prime Minister and Cabinet of the Commonwealth Government of Australia.