توسعه سیستم های جریان کار مبتنی بر اجزا
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|21728||2003||20 صفحه PDF||سفارش دهید||محاسبه نشده|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Decision Support Systems, Volume 35, Issue 4, July 2003, Pages 517–536
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.
A workflow is the computerised facilitation or automation of a business process, in whole or part  and . 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. . Research works on workflow mainly concern the following aspects: (1) the extensions of workflow models  and , 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 , , , , , ,  and , so as to build a common language and to improve the interoperability and the interchange between workflow products; (3) semantic research , ,  and , 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 ,  and  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 , but it does not provide business analysis tools and the development methodology. To employ software development methodologies like OOM  (including UML ) for domain business analysis is a way to complement the lack of workflow development methodology . 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. , 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. . 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 . 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.
نتیجه گیری انگلیسی
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 analogy strategies, and a component-based development process. The approach provides a methodology, a tool, and the guidelines for different developers either in different teams or in the same team to design and to reuse workflow components in a more effective and efficient way. Compared with traditional workflow development approaches, the proposed approach emphasizes on the accumulation of reusable experiences (i.e., the business analysis experiences) and the reusable resources (i.e., the workflow components and the application support components) during the development process, so its development effectiveness will keep on improving with the increasing number of the developed projects. The development efficiency will be better than the traditional approaches when the reusable experience and resources can overlap a bigger percentage of the new domain business. It is especially effective when used in similar domains or used for resource sharing in team development. Besides, the component-based workflow has the following advantages: lower complexity, reusability, adaptability, connection ability, maintainability, error localization ability, and users acceptability. The ongoing work concerns two aspects. The first is to develop a tutorial mechanism that can help developers understand the concept of workflow components, the method of workflow composition, the workflow component repository, and the development strategies before carrying out the development. The second is to apply the proposed approach to develop the knowledge flow management mechanism based on the Knowledge Grid VEGA-KG , ,  and  and to develop the service flow management mechanism based on the Service Grid. Up-to-date progress is shown at http://kg.ict.ac.cn.