Component-based workflow systems development

https://doi.org/10.1016/S0167-9236(02)00127-6Get rights and content

Abstract

Component-based development is a promising way to promote the productivity of large workflow systems development. This paper proposes a component-based workflow systems development approach by investigating the following notions, mechanisms, and methods: workflow component, workflow component composition, reuse–association relationship between workflow components, and workflow component repository. The proposed approach is supported by a set of development strategies and a development platform. Through application and comparison, we show the advantages of the component-based workflow systems and the effectiveness of the proposed approach.

Introduction

A workflow is the computerised facilitation or automation of a business process, in whole or part [10], [23]. A workflow can be abstracted as a network with task (i.e., activity) nodes and flows (i.e., transitions between task nodes). Domain business processes can be modelled through the execution of the network, and thus can be controlled and managed by incorporating the domain business application into the execution process of the network. The benefits of workflow-based applications, like flexibility, integration, and reusability, were discussed in Ref. [11].

Research works on workflow mainly concern the following aspects: (1) the extensions of workflow models [30], [37], e.g., topics on incorporating more application-relevant factors such as time restriction, resources scheduling, and cost-effective evaluation into the existing workflow model; (2) the establishment and updating of the workflow model standard [23], [24], [25], [26], [27], [28], [29], [30], so as to build a common language and to improve the interoperability and the interchange between workflow products; (3) semantic research [1], [6], [8], [21], e.g., topics on checking the deadlock and the loop of workflow execution, workflow equivalence, workflow optimisation, etc.; and (4) the workflow application system development [5], [11], [12] and application-relevant research, e.g., topics on transactional workflow, agent-based workflow, reflexive workflow, workflow interoperation, and enhancing the quality and productivity of large workflow systems development. The research scope of this paper is on the fourth aspect and focuses on the reuse-based workflow development methodology.

A good workflow is not only a simple image of domain business process but also the abstraction of it. The current workflow system development approaches lack a built-in development methodology. The current WfMC standard only provides a workflow definition language [23], but it does not provide business analysis tools and the development methodology. To employ software development methodologies like OOM [18] (including UML [17]) for domain business analysis is a way to complement the lack of workflow development methodology [30]. OOM supports inheritance mechanism, but the class-based inheritance needs to be adjusted so as to meet the needs of the workflow process reuse. On the other hand, workflow system development is an experience-dependent process. To realise effective experience reuse, we need to use the abstraction and analogy method. Unfortunately, the existing workflow development approaches do not support abstraction and analogy. Each new workflow system development has to carry out from scratch and follows the stringent development steps even though the developers can fully understand the domain business and have the development experience. The efficiency and quality of workflow development vary with different developers' development skills and experiences. It is still troublesome to dealing with the correctness and the complexity in composing different workflows designed by different designers even though they are in a cooperative development team and work for the same project.

Component technology is a way to raise the efficiency and quality of system development. It is an interesting topic to apply the software component concept and method to workflow development so as to promote its development efficiency and quality. On one hand, the component-based development encourages the developers to make domain business analysis by referring to the analysis experience of similar domain business. On the other hand, the component-based reuse provides a possibility of reusing the existing workflow components to compose a new workflow. The motivation of this paper is to investigate the concept and mechanism of workflow components and to propose an approach that supports the component-based workflow development.

To realise the motivation, three main problems need to be solved: (1) the definition of workflow component, an ideal workflow component should have an interface for encapsulating the workflow process and be able to be executed and used through the interface; (2) the approach for composing workflow components; and, (3) the establishment of an effective reuse mechanism, a set of reuse strategies, and the reuse-based workflow development process.

The semantic of event-driven workflow execution based on reactive components was investigated in Ref. [6], where the reactive component refers to the task (activity) entity that takes part in the workflow, and a broker mechanism is used to represent the component. The issue of the modular and the shared transactional workflow was discussed in Ref. [15]. However, the current research has neither given a complete definition of workflow component that has the advantages of a software component, nor a complete approach for component-based workflow systems development. The commercial workflow management products do not support the component-based workflow development.

A workflow system usually consists of two parts. First, a set of data definitions about: the workflow control data, the role model data, the work list, and the application invocation definition data. Second, a set of software components including: a process definition component, an enactment component (Engine), a work list handler, the user interface components, and the application components. Five kinds of interfaces between these components are defined by WfMC [23]. We define the workflow component by considering both the conceptual level and the system level. The conceptual level is separated from the system level by establishing an execution interface, which consists of the following four parts (subinterfaces): (1) an access interface, the input flow and the output flow of the workflow component by viewing the workflow component as a single task; (2) the process (control) interface; (3) the role interface; and (4) the restrictions.

To meet the needs of diverse application domains like e-commerce, we enable the flows of the discussed workflow model to reflect not only the execution dependence (i.e., control flow), but also the data dependence (i.e., data flow) and the temporal order relationship between tasks. Task execution can only be triggered by the condition satisfaction. To simplify the discussion of workflow component composition, we assume that the data structures of the corresponding interfaces of all the workflow components are the same. This implies that all the discussed components are developed under the same standard.

In the following section, we first discuss the time order and the time restriction, and then define the concept of workflow component based on the investigation of its characteristics. An implementation model for workflow component is presented. In Section 3, the basic composition approaches of workflow components are investigated. Based on the definition of workflow component and the method of workflow component composition, Section 4 defines the reuse–association relationship between the workflow components and then the workflow component repository. To promote the effectiveness of workflow component reuse, the repository incorporates the domain business abstraction architecture (i.e., inheritance hierarchy) as well as the mapping between the domain business and the workflow components as the development experience. Section 5 presents the strategies for business abstraction and establishes the analogy relationship between the new business and the previously developed business in the repository (i.e., business analysis reuse). Section 6 presents the workflow system development process based on the component repository. Section 7 presents the application of the proposed approach, the development platform, and the application implication. Section 8 first presents the advantages of the component-based workflow compared with the traditional workflow, and then presents the related works on inheritance and component reuse as well as the comparison between these works and the proposed approach. Section 9 provides a summary of the work.

Section snippets

Time order and time restriction

Traditional workflow models mainly concern the execution dependence between tasks. In many real applications (especially in Internet-based e-commerce applications), workflow is also required to manage the data dependence and the time order dependence. Otherwise, inconsistencies may happen during the workflow execution process. For example, a task can only start to execute after receiving a required data flow from the preceding task, and the flow may take a long time to be transmitted from one

General

The composition of existing components means to compose their conceptual level (i.e., the process description, the input/output flows types, and the restrictions) and system level (i.e., the execution interface), respectively. The connection between the existing execution interfaces means to generate a new data structure for the new component based on the existing interfaces and to make necessary data updating. Since we assume that all the existing workflow components use the same data

Workflow component repository

Workflow component repository is a repository that stores and manages workflow components for reuse purpose. A new component can be defined by reusing a certain form of an existing component. We define a reuse–association relationship to reflect such a reuse relationship between workflow components.

Strategies for workflow component reuse

The experienced developers can use past experience to solve new problems. Similarly, the workflow component repository enables developers (i.e., repository users) to focus on: the understanding of the new domain business; the establishment of an analogy between the new domain business and a previously investigated domain business (i.e., repository business); and, the establishment of the link to the corresponding workflow components in the repository. Such an analogy determines the

Component-based workflow definition process

A workflow definition process can be regarded as a problem-solving process. The new domain business is regarded as the new problem to be solved, and the workflow system corresponding to the new problem is the solution. The problem-solving process for the new workflow definition as described in Fig. 7 consists of the following steps:

(1) Problem analysis through abstraction and analogy. This step establishes the ‘is–a’ business component inheritance hierarchy and the ‘is–part–of’ business

Purpose and method

The proposed approach has been applied to the development of the MISs for a large number of different financial businesses in some cities of China [36] and the HISFLOW project in Singapore [37]. This application includes two purposes: one is to enhance the development efficiency of this particular application field, and the other is to test the effectiveness of the proposed approach through the application.

The financial businesses of this application field can be classified into several general

Advantages of the component-based workflow

Compared with the traditional workflow, the component-based workflow system has the following advantages:

(1) Decrease the complexity of workflow process. A complex workflow can be transformed to a workflow component hierarchy, where each workflow component has the lower complexity than the whole workflow, and the complexity of the low level is hidden at the higher level of the hierarchy.

(2) Increase the reusability and the connectivity. A workflow component can be safely reused by any other

Concluding remarks

The paper proposes a component-based workflow development approach for raising the efficiency of large workflow systems development through integrating the characteristics of software component, the component repository mechanism, and the problem-solving strategies. The approach includes: the definition of workflow component, the methods for workflow component composition, and the workflow component reuse–association relationship, a component repository mechanism, a set of abstraction and

Acknowledgements

The research work was supported by the National Science Foundation, the National Basic Research Plan and the National Hi-tech R&D Plan of China.

Hai Zhuge is a professor at the Institute of Computing Technology, Chinese Academy of Sciences. He received a PhD in computer science from Zhejiang University, China. His current research interests include: semantic-web-based grid and its application, knowledge flow management, problem-oriented model base systems, component reuse mechanism, intelligent process model, interoperation model for group decision, and web-based workflow model. He is now the leader of the China Knowledge Grid project

References (37)

  • H. Zhuge et al.

    A timed workflow process model

    Journal of Systems and Software

    (2001)
  • D. Batory et al.

    The design and implementation of hierarchical software systems with reusable components

    ACM Transactions on Software Engineering and Methodology

    (Oct. 1992)
  • CORBA, The OMG Management Architecture, The Object Management Group,...
  • S.H. Edwards

    Representation inheritance: a safe form of “White Box” code inheritance

    IEEE Transactions on Software Engineering

    (Feb. 1997)
  • D. Georgakopoulos et al.

    Customising transaction models and mechanisms in a programmable environment supporting reliable workflow automation

    IEEE Transactions on Knowledge and Data Engineering

    (Aug. 1996)
  • K. Jensen

    Colored Petri Nets

    (1991)
  • F. Leymann et al.

    Workflow-based applications

    IBM Systems Journal

    (1997)
  • Cited by (54)

    • Enabling effective workflow model reuse: A data-centric approach

      2017, Decision Support Systems
      Citation Excerpt :

      The model patterns (or model components) are also reusable. Zhuge [34] defines workflow components with four characteristics: independency, encapsulation, completeness and consistency. Thom et al. [35] classify workflow patterns into nine categories, and Altintas et al. [36] abstract workflows into several components according to their service functions.

    • Cyber-Physical-Social Intelligence: On Human-Machine-Nature Symbiosis

      2020, Cyber-Physical-Social Intelligence: On Human-Machine-Nature Symbiosis
    View all citing articles on Scopus

    Hai Zhuge is a professor at the Institute of Computing Technology, Chinese Academy of Sciences. He received a PhD in computer science from Zhejiang University, China. His current research interests include: semantic-web-based grid and its application, knowledge flow management, problem-oriented model base systems, component reuse mechanism, intelligent process model, interoperation model for group decision, and web-based workflow model. He is now the leader of the China Knowledge Grid project SVEGA-KG which has 20 team members. He is the author of one book and over 40 papers appeared mainly in leading international conferences and the following international journals: IEEE Transactions on Systems, Man, and Cybernetics; Information and Management; Decision Support Systems; Journal of Systems and Software; International Journal of Cooperative Information Systems; Knowledge-based Systems; Expert Systems with Applications; Information and Software Technology; and Journal of Software.

    View full text