Workflow status (original) (transfer)

xiaoxiao2021-03-06  94

If the database system (Database Systems) is a clear story, Workflow is like a group of milk odor, and there is a big "philosophie". The reason why I said, I want to point out that Workflow Management Systems is still in technology development curves (

The primary phase on the Technology Hype Curve. We will face an exciting stage in this area. To describe this, you can make a contrast with the relational database system (RDBMS). When talking about RDBMS in the Software Development Team, most people have a clear concept. When you communicate with them, people will recognize or understand what you said by slight nod. They can shook their heads when discussing workflows using a workflow language, because everyone has a different understanding of workflow.

Figure 1: Workflow vs. rdbms positioned in the Hype-Curve

One of the reasons why this condition is formed is to use too much concepts in the workflow. There are no more similar specifications and tools in this field. Of course, they have overlap with each other and will reference each other. There is a topic when introducing the workflow, that is, the relationship between workflow and business process management (BPM). The term "workflow" usually describes a series of related interactions with computer systems. Among the developers, workflows are often mentioned. Sometimes, workflow does mean some different UI interfaces. Business process management has a wide range, compared to most of the workflows are limited in the technical field. Business process management also involves non-technical issues, such as analyzing, and organizational efficiency.

In this article, I first explain what is a workflow management system and then introduces the advantages of business process management. Next, it describes why the workflow market looks so confusing. The main conclusion given in this paper is: Selecting a workflow system is the most difficult thing to face with a workflow system. To this end, the core part of this article describes four levels of process definition, providing a foundation for you to choose a workflow. This article also describes the universal concept of workflow and bpm in neutral language. Finally, some guidance descriptions of some specification and tools are given.

What is a workflow management system (WFMS)

definition

The workflow system is based on a normalized process description as an input software component, which maintains the running status of the process and assigns activities between people and applications.

For later description, we first define some basic terms: process definition and process instances. A process definition is a specificized description of a business process or process. A process instance is a running entity defined by the process. So far, the concept is also a clearer? But when we go deep into step, we must use the text. How to explain the steps in the process, and there is no unified way. This is the main difference between various workflow specifications and tools.

Why should I use the term "activity" ... process definitions usually use some active expressions. I think this is the main reason for all chaos in the workflow field. I tell you why: because the term "activity" confuses the difference between state (state) and action. In the process, the status (or waiting state) represents a dependency of the external participant (actor). At the process of running, this means that the process engine must wait until the external participant notifies the workflow system specified by the system. For example, you will wait for further operation. The action is during the process running, the workflow system is a program logic that responds to the specified event (Event). The workflow system starts and performs these actions when the event specified during the process run occurs. For example, when the status is assigned to a participant, an email is issued. You can also see that the status and actions are so different, so the same terms will be used to describe these concepts is a bad habit. My suggestion is to avoid using the term "activity", use "status" or "action" instead of it. Another important responsibility of the workflow system is to maintain context information that runs every process. Process context variable, or abbreviated variable, is a variable related to the process instance. For example, the start date of the vacation application, the key value of a record in the database, an index of a document in the document management system. These variables are usually declared in the process definition, and then these flow variables are instantiated when the process instance is generated. All mature workflow management systems support customized variable types.

Target area (Target usage)

One of the purposes of using a workflow management system is a platform for enterprise application system integration (EAI). In most of the current enterprise IT architecture, a variety of heterogeneous applications and databases run in the enterprisenet. When these systems are applied to the organization, there is a clear goal. For example, customer management, document management, supply chain, order, payment, resource plan, etc. Let us call these systems for Dedicated Applications. Each special application contains the domain knowledge of their supported business processes. The automation processes in these specialized applications are assembled into a larger non-automation process in the enterprise. Whenever a special application is installed and put into use, there will be new features involving many applications. Enterprise Application System Integration (EAI) is a method of meeting software new demand by using multiple dedicated applications. Sometimes it only needs to provide data communication between two applications. Special applications How many business processes are hardly encoded in the software. It can be said that when you purchase a special application, you have purchased a set of fixed automation business processes. The workflow management system does not have to know about the problem in advance. The workflow system describes the execution of the business process as an input and manages the process instance, which makes it more flexible than dedicated applications (of course, you also have to write a specificized description of business processes). That's why the workflow system and a specialized system complement each other. Workflow systems can be used to manage global business processes. If dedicated to support the business process you need, use specialized applications. The first way of use of the workflow system discussed herein is: combined with all special applications, build an EAI platform using a workflow system.

The workflow system can play a large value for the second way to use: assistance involving multi-person related task workflow software development. In order to achieve this, most of the workflow systems have a convenient mechanism to generate a form that performs tasks. For organizations focusing on ISO or CMM certification, using this way to use a workflow system can significantly increase productivity. Don't write the process in the form of the text, the workflow system allows you to automate the model implementation process (such as using web-based applications). The third use of the workflow system is to embed the workflow engine into other applications. In the previous we talk about the special application to cure the business process related to the specified problem domain in the software. Developed specialized companies can also embed the workflow engine into their software. Here, the workflow engine is just as a software component, which is invisible for the end user of the application. The main reason for embedding the workflow engine into the application is to reuse (not repeating the invention) and the maintenanceability of the application software.

The Case for Workflow

For organizations introduced to workflow, it is possible to benefit from two levels of software development and business.

Convenient development

Workflow management systems can simplify enterprise software development and even maintenance.

Reduce development risks - use the terms such as use and action, business analysts and developers use the same language. Such developers do not have to convert users demand into software design. The achievement of centralized unified - business processes often change, the maximum benefit of using the workflow system is: the implementation code of the business process is no longer scattered in a wide variety of systems. Accelerate application development - your software doesn't have to pay attention to the participants of the process, develop faster, and the code is easier to maintain.

Business Process Management (BPM)

Before the automation business process, analyze and make them a hard but have a good return. E-Workflow.org has a good elaboration for the benefits that can be taken by the analysis process:

Improve efficiency - Many processes will remove some unnecessary steps during automation - through standard working methods and tracking audits, improve customer service management improvement customer service - due to process consistency, improvement The predictable flexibility of the customer response - software control across the process, so that the process can be redesigned according to the needs of the business. Business process improvement - focus on processes so that they tend to be smooth and simple

I think they also miss the most important factor using the workflow system: raise support for iterative development. If the business process part in the software is not easy to change, organizations will spend great effort in business process analysis before the development, hoping to succeed. But sadly, this is very minus implementation in any software project development. Workflow systems make new business processes easy to deploy, business processes related software can be developed in an iterative manner, so the development of workflow systems is more effective and risky.

Missing Link

I do think that the workflow system is a loop of the company's application development. The default way of logic implemented in enterprise business process is dispersed. This means that business process logic spreads in various systems, such as EJB, database triggers, message agents, and more. The software thus obtained is difficult to maintain, as a result, the company can only change the business process software as the last choice. What they often do is, changing processes to adapt to software. The above problems also apply to companies that use large external ERP software packages. Further, suppose we recognize this problem and intend to focus on a process-related code. This is very good for a process, but when you want to implement multiple processes, you will see the code of the management status and process variables being copied everywhere. Finally, we will organize these code to put it in a centralized library. Ok, ... this is a workflow management system, you don't have to pay yourself, you can choose one from the list later in this article.

A Closer LOOK

WFMS Interfaces

A workflow management system uses a process definition as an input. Here, the process definition can be regarded as a UML activity diagram, a UML state diagram, or a limited state machine. After submitting a fee document, apply for a break, require a quote, ..., the workflow system is responsible for maintaining the execution status and context of these process definitions. To this end, it is necessary to notify the current state of the workflow system. The status change of the runtime can be recorded for monitoring management. Figure 2: Interfaces of A WFMS

Defining the definition interface of the workflow system allows process developers to deploy process definitions. Note that "process developers" here can be a combination of business analysts and software developers.

Pitfall Many workflow management systems developers want you to believe that by using their graphical process development tools, as long as business analysts can generate process definitions. This fantasy stems from the fact that "programming is difficult". Developers' salesperson like to say "see, you don't have to write a line of code." Don't write code is a good thing, but most developers are too far from this, ignoring the mechanisms that provide a code integration into the process definition in some occasions. When the workflow system is used as an EAI platform, you must integrate code in the process. Development process definition requires business analysts and software developers. A good graphics process design tool should be able to support this cooperation.

Execute an execution interface enabled and system can operate the flow instance. Process instance is the execution of process definitions. The flow defined control stream is described by the state machine. Two main ways to perform interfaces are to start a process instance and notifying a status of a workflow system. The application application interface represents interactions between workflow systems and external systems initiated by a workflow system. When a user or system operates a process instance run, some events (such as a migration) are generated. Process definitions You can specify an executable code logic that responds to an event, and this code is derived from other systems outside the organization. The monitoring manager obtains the exact data of the process run through the monitoring interface. Sometimes running logs can also be used for audits.

These are four of the five interfaces defined in the WFMC reference model (Reference Model of the WFMC).

Four levels of process definition

In this section, I tried to answer such a question "What is the contents of the process definition included?". This is concluded from the principles and concepts of various specifications and tools, reflecting the basic idea of ​​common in most models. The content of the process definition can be divided into four different levels: State, context, program logic, and user interface (UI).

State layer

The representation of all states and control flows is a state layer of the business process. The control flow in the standard programming language is derived from the Von Neuman system. The control flow defines the order of the instructions that must be executed, the control flow is determined by the command, if statement, and cycle statement, etc. The control flow in the business process is basically consistent. However, in the business process is not using the command but use status as basic elements.

In the process, the status (or waiting state) represents a dependency of the external participant (actor). The meaning of state is like "Now the X system or someone must make some things, waiting until the participants notify these tasks". " The status defines a dependence on external providing results. A typical example of the state is an approval step (Step).

The state in the process definition also specifies which participator in execution. In the active diagram, Swimlanes's label represents the name of these participants. Workflow systems use this information to build a list of task, which is a function of a general workflow system. As mentioned earlier, participants can be a person or a system. For states that require people to participate, the workflow system must calculate the specific individual at runtime. Such calculations make the workflow system must depend on organizational structure information. One of this very interesting article is "Organizational Management In Workflow Applications" mentioned in Further Reading Section. The control stream defined by the process contains a set of status and the relationship between them. The logical relationship between states describes which execute paths can be executed simultaneously, those can't. Synchronous execution path and JOINS model modeling, asynchronous execution path Decision and Merges modeling. Note that in most models, there is an implicit merge before each state.

UML activity diagrams are often used to model business processes. As an intuitive and general expression, the activity map has a major problem in the graphical expression, that is, there is no distinction state and action, which use activities to represent. Lack of this distinction (deletion of state concepts) is the primary criticism of the academic UML activity map. The second problem of the UML activity diagram is introduced in the UML2.0 version. When multiple migrations arrive at an activity, the previous version specifies that this is a default merge (MERGE), which specifies that this is a default combination that needs to be synchronized (JOIN). In my opinion, the graphic part of the UML activity map can still be used to model the business process status hierarchy, as long as used, the two build speech is as follows:

Only the state layer (status and control flow) is molded with a graphic statement, and do not include action. This means that the rectangles in the graph are state instead of activity. If multiple migration reaches a state, the default is defined as a combination that does not require synchronization (MERGES)

During the process of operation, the workflow system uses a token as a state of the pointer to the pointer. This is equivalent to the program counter in the Von Neuman system. When the token reaches a state, it is assigned to the workflow system waiting for external participants. External participants can be personal, organized or computer systems. We define the executive or system of the process run as "actor". The organizational structure information is required only if the workflow system is assigned to a participant. The workflow system builds a task list by assigning a token.

Context layer

Process context variable, or abbreviated variable, is a variable related to the process instance. Process developers can store data across the flow instance using process variables. Some workflow management systems have a fixed number of data types, and others can define their own data types.

Note that variables can also be used to store references. A variable can reference the records in the database, files on the network. When using references, depending on other applications that use reference data.

Another aspect of another interested aspect relating to process variables is: how the workflow system is converted to information. Workflow is used to organize interior across a variety of heterogeneous systems to achieve tasks and data collaborations. For artificial executive tasks in business processes, the workflow system is responsible for collecting data from other related systems, such as SAP, database, CRM system, and document management system. Each artificial step in the business process, only the associated data items are collected and calculated from the heterogeneous system. In this way, data from different systems is converted and displayed as information. Program logic layer

As mentioned earlier, the action is a program logic that the workflow system is executed during the process running, and a programming logic executed by the Event. Program logic can be in binary or source code, with software written in any language or script. The program logic layer is a combination of all of these software pieces and information that calls them when incident. Examples of program logic include email, send messages from the ERP system through the message proxy, and update the database.

User interface layer

A participant triggers an end one state by popping data from the flow variable. For example, in the example of a holiday, the boss provides "consent" or "disagree" data to the process. Some workflow systems allow specified which data can be filled into the process, and how they store them in process variables. By this information, you can generate a UI form that collects information from the user. The web application example of the user submitting a form is generated based on the process definition, and you can access the JBPM Online Demo.

Workflow panorama

Comparison of executable processes and workflow management systems (Executional Processes Versus A WFMS)

Currently in the BPM domain, specifications on executable business processes tend to be a generalized trend. XLANG, WSFL, and BPML are combined into a BPEL based on interaction (message exchange). BPEL is defined in the large background of the service architecture (SOA). One of its prerequisites is that the services involved must be declared with a WSDL. BPEL specifies a set of XML syntax, which can be seen as a programming language that describes the control flow that includes service calls defined for WSDL.

In the method used by the executive business process and the state-based workflow management system, I noticed three main differences:

Based on state and directional message: State-based workflow system is centered on state (or activity) concept. The workflow engine maintenance state and calculates the migration from one state to another. On the other hand, the executable flow like BPEL is defined by the input message response. A group of these responds can be considered as a business process. This also explains why BPEL can be regarded as a supplement to certain aspects of a stateful workflow system. A BPEL OnMessage event processor that responds to the input message can be executed in the migration between the workflow state. Process instance ID and message related processing: One of the complexities that can perform business processes from message-dependent processing. A part of the process description must indicate how the BPEL engine determines the identity of the specific process from the input message. This must be based on an input message. The workflow system generates an instance ID at the same time in each process instance, and the client uses this ID when the engine API is called. Workflow Engine API and Abstract Services Endpoint (endpoint): The workflow system provides a set of sets of APIs, and the client is completed with all process instances by calling the API. In executable business processes, each process is characterized by a service. This means that there is a different access point for each process definition.

academia

The study of workflows can be traced back to the 1970s. At present, the research area tends to think that the PETR network is the mother of all process definition languages. About Petri Net has a large number of advanced analysis technology, last year I greeted Press Professor Petri on 2003 Conference on Business Process Management. One of the best research on most people can access and understand is Workflow Patterns. The workflow mode compares a large number of workflow management systems and expressed general flow modeling concepts in Petri.com. Open source code project

Finally, let's take a look at the workflow management system in the real world. Choosing a workflow management system is a difficult thing, but there is always better than choosing. :-) This article describes one of the purpose of the basic concept of workflow, which is to make you better choice. But I also realized that for the current software architect, choosing a workflow system is the most challenging job.

The following list comes from three places: My Previous Article, The List of Carlos E PeRez, and List by Topicus.

JBPM - JBPM is a flexible scalable workflow management system written by the author. As a business process entered by JBPM runtime, the business process is used to express and package in the process file. JBMP combines the convenience of workflow application development and outstanding enterprise application integration (EAI) capabilities. JBMP includes a web application and a schedule program. JBMP is a set of J2SE components that can be deployed as a J2EE application cluster. OpenEBXML - OpenebXML project is committed to providing an EBXML framework, mainly supporting the EBXML specification version 2.0 that will be released by UN / CEFACT and OASIS. Werkflow - Werkflow is a flexible scalable process and stateful workflow engine. Its goal is to meet all of the workflows that can be imagined, from an enterprise business process to a small range of user interactions. By using pluggable and hierarchical structures, it is convenient to accommodate various workflow. Osworkflow - OSWORKFLOW is absolutely flexible. Wfmopen - WFMopen is a J2EE implementation of WFMC and Workflow Facility (Workflow Engine) in WFMC and OMG. Workflow through extended XPDL description. The OFBIZ - OFBIZ Workflow Engine Based on WFMC and OMG specification, using XPDL as a process definition language. ObjectWeb Bonita - Bonita is a WFMC specification, a flexible workflow system. A comprehensive integrated graphics tool is provided for various actions such as process concept modeling, definition, instantiation, process control, and user interaction. 100% browser-based web services WEB Services using SOAP and XML data binding technology, encapsulates existing workflow business methods and publishes them in J2EE-based Web Service. Third Generation Workflow Engine Based on Activity Prediction Model. Bigbross BOSSA - The speed is very fast, the lightweight engine, defines the workflow with the expression of the expression, does not require relational database, easy to use Java application. In fact, it is based on embedded design. Xflow - Xflow is running in EJB and Servlet containers. The TAVERNA - TAVERNA project is the goal of providing a language and software tool for easy access to workflow and distribution computing technology in Escience. ENHYDRA Shark - Shark is completely based on WFMC and OMG standards, using XPDL as a workflow definition language. Flow and active storage use ENHYDRA DODS. PowerFolder - PowerFolder includes the Studio, the management environment, and a runtime engine used by developers. Breeze - Breeze a lightweight, cross-platform, component-based workflow engine prototype. Open Business Engine - Open Business Engine is an open source Java workflow engine that supports WFMC specification, including interface 1 (XPDL), interface 2/3 (WAPI), and interface 5. OBE provides a controlled centralized environment for the operational run. OBE is mainly based on J2EE. OpenWFE - OpenWFE is an open source Java workflow engine. It includes three components that can be upgraded: engines, work lists, and web interfaces. Its process definition language is used in XML format, which is inspired by Scheme, a LISP dialect. FreeFluo - FreeFluo is a WSDL Web Service Call using the WSDL WSDL WSDL. Supports two XML format workflow languages: IBM's WSFL and XSCUFL. Freefluo is very flexible, and its core is not reusable to reused collaboration with any workflow language or execution architecture. FreeFluo includes running runs that can perform a workflow described using a subset of WSFL. Zbuilder - Zbuilder3 is the second generation of workflow development management system, as well as an open source product.

It defines a set of standard JMX management interfaces for different workflow engines and workflows. Twister - Twister's goal is to provide a new generation, easy integration, the latest results in the Java field, and the B2B workflow solution. The process engine is based on the BPEL business process specification and the Web Service standard. Con: Cern - Con: CERN Workflow Engine Based on the extended case (CASE) processing method, the process consists of a set of activities with the front and rear conditions. Business software provider

Bea's WLI Carnot Dralasoft Filenet Fujitsu's i-Flow IBM's holosofx tool Intalio Joinwork (plus translator :-)) Lombardi Oakgrove's reactor Oracle's integration platform Q-Link SAP's NetWeaver Savvion Seebeyond Sonic's orchestration server Staffware Ultimus Versata WebMethod's process modeling

Tool catalog

Http://dmoz.org/computers/software/workflow/products/ a Collection of Links to Tools for Modelling Business Processes and Workflows Maintained by Bart-Jan Hommes At Tu Delft, The Netherlands.

specification

Michael Zur Muehlen made a introductory slide with all workflow-related specifications, very good.

I agree with John Pyke and Wil Van Der Aalst: Workflow standard is still in the formulation phase. There are now a large number of nuts to each other.

In my opinion, the reason why the norms is so many applications is very limited. It is very few consensus on the most basic concept of workflow. Workflow is the most likely to make you feel upset, because the concept of workflow itself is confused with other related concepts and technologies. A specific example can be given, for example, the workflow is completely supplemented with Web Service. You can access a workflow management system in Web Service by exposure interface, but you can't assume that you always have access to the workflow system interface through the Web Service interface. Some specifications have caused this hypothesis. In addition to Web Service, other easiest confusing concepts and techniques include: Email, communication, web applications, and organizational structures.

The first work in the workflow field is Workflow Management Coalition (WFMC), starting from 1993. The reference model published by the WFMC is very good, which defines the interface between the workflow management system and other related parts. Another result of WFMC is the XPDL specification. XPDL defines the XML structure that describes the Declarative Part portion. I personally think that reference models and XPDL are the best specifications.

JSR 207: Java process definition - is initiated by Java Community Process (JCP), how to implement business process automation in the J2EE application server. Its basic model is to define a special type of EJB Session Bean as an interface of a business process. JSR207 Standardized a set of XML meta tags as part of JSR175 metadata. The JSR 207 uses the session bean and metadata as the input of the EJB container, then generates the code of the binding method, which is described in metadata. This specification is still in the primary stage, and no content is issued. The expert team was established in March 2003. WFMC's XPDL - WFMC is an organization that is involved in approximately 300 members, which defines a series of standards based on the reference model. Reference Model The relationship between the workflow system and other related parts is described in the form of use case. XPDL is an XML format specification for WFMC development description business process control streams (CONTROL Flow). EBXML's BPSS - EBXML is a standard set of collaborative processes, mainly focusing on communication between different company processes. It can be seen as the successor of EDI. EBXML is initiated by OASIS and UN / CEFACT. BPSS is the specification of EBXML, which is very close to this paper. BPMI's BPML & WSCI - (Intalio, Sun, SAP, ...) BPMI also defines a specification (bpmn) that describes how to perform "executable" business process visualization. BPEL - (Microsoft, BEA, IBM, SAP & SIEBEL) BPEL is generated by a series of messaging-based specifications (XLANG, WSFL, BPML). There is also a proposal to introduce this specification to Java: BPELJ. This specification describes how to handle the input messages, not the process state. As mentioned herein, it is not a specification for business process specificization definitions. Simply put it as a programming language in XML, providing the ability to combine WSDL-Services into control flow. As the name suggests, this specification focuses (nor limited to the web service. OMG's Workflow Management Facility - Based on the WFMC specification, define how to convert to CORBA. UML - UML defines 9 type diagrams of modeling and design software systems. Each type of diagram includes visual representation and semantics. The purpose of these activities is to visualize the performance business process. Note that in a process definition contains four levels of content, I want to point out that a process definition is far more than its visual part. UML only involves the visual part. RosettaNet - RosettaTAnet mainly defines a set of Partner Interface Processes (PIP). A PIP describes a process with two trading participants, including message formats. UBL - The Universal Business Language (UBL) Defines the XML Document Standard Library for Different Organization Communication. It can be seen as an addition to EBXML, because EBXML only defines the basis for establishing an organization. The competitor of this specification is a subset in the RosettaNet standard. in conclusion

I pointed out that the workflow market is still in the stage of young and wild, but there is already a reliable tool:

To current, the mature integrated platform like J2EE and .NET is available. Running a workflow management system on such a platform can truly play the added value of the workflow system. This is why only the workflow system is resembled today. In 'The Case for Workflow' section, we introduce the introduction of workflow management systems, how to bring investment returns in technology and business. Workflow in technology development curves indicate that the concepts used in BPM and workflows need to be clear. Tools in the Open Source Project and the Business Software Provider list allow you to get the benefits of workflow and business process management. The conclusions that can be obtained from all above are:

The norms are still not mature, no standards are widely used in companies that want to apply BPM, and the comparative workflow system is an extremely difficult challenge. Although the standardization work is slow, the good workflow management system is still there. This is a good news for organizations that have selected workflow systems.

I hope this article can stimulate your interest in workflow and provide the right background knowledge for you to effectively compare you.

Further Reading

Workflow Patterns -wil Van Der Aalst Professor Workflow Mode Academic Research Website Ebpml.org - Website for Business Process Management and Workflows, Big BUSINESSMENT GROUP - The Business Process Management Group (Founded in 1992) IS a global business club exchanging ideas and best practice in business process and change management Enix -. UK process management consulting firm, have good content on the site ebizq.net - Commercial community that has booths, webinars and other interesting stuff put together in a nice website An introduction to petri nets -. The title says it all Organizational Management in Workflow Applications- An interesting article that discusses the relation between business processes and the organisational data involved Web services orchestration -.. an HP-paper that reviews the emerging technologies .

转载请注明原文地址:https://www.9cbs.com/read-96506.html

New Post(0)