Workflow definition and jbpm

Source: Internet
Author: User
Tags jboss jbpm
Workflow definition
A workflow is the computing model of a workflow. It refers to the logic and rules of how work in a workflow is organized together and expressed in an appropriate model on the computer and computed. According to the definition of WfMC, a workflow is a part or whole of the automatically operated business process. It is manifested by the participants taking actions on files, information or tasks according to the procedures, and it is transferred between participants. Simply put, a workflow is a series of interconnected and automatic business activities or tasks. We can regard the entire business process as a river, where the flow is a workflow.
The main problem to be solved in a workflow is that, to achieve a certain business goal, documents, information, or tasks are automatically transmitted between multiple participants based on certain predefined rules using a computer.
The main function of the workflow management system is to define, execute, and manage workflows with the support of computer technology, coordinates information interaction between jobs and group members during workflow execution. Workflows must be implemented by the workflow management system.

A workflow is part of a computer-supported collaborative work. The latter generally studies how a group can work collaboratively with the help of computers.

Workflow development history:
The concept of workflow can be traced back to the office automation system developed by people in the 1970 s, such as the officetalk system developed by the Office research team at the Xerox Palo Alto Research Center, at that time, people were very optimistic about the application prospects of the workflow management system. However, as few actual systems were successful, the basic concepts were not uniform and various technical conditions were not yet mature, throughout 1980s, the development of the workflow system was at a halt. After the 1990s S, the related technical conditions gradually matured, and the development and research of workflow systems entered a new upsurge, but the related basic concepts were still not unified. According to the survey, as of 1995, a total of more than 200 types of software claimed to support workflow management or have workflow features. The workflow technology standardization Industrial Organization-Workflow Management Alliance (WfMC) was also established in 1993. They provided workflow reference models and successively formulated a series of industrial standards.

Jbpm, short for Java Business Process Management (http://www.jbpm.org/), is a lightweight workflow management system based on J2EE. Jbpm is a public source code project that follows Apache license. Jbpm released version October 18, 2004 in 2.0 and joined JBoss on the same day. It became an integral part of the JBoss Enterprise middleware platform and its name was changed to JBoss jbpm. As jbpm joins the JBoss organization, jbpm will enter a new era of development, with bright prospects.

The biggest feature of jbpm is that its business logic definition does not use some of the current specifications, such as WfMC's xpdl, bpml, ebXML, and BPEL4WS, instead, it uses the JBoss jbpm Process Definition Language (jpdl) defined by itself ). Jpdl considers a business flow as a UML state chart. Jpdl defines each part of the state chart in detail, such as the starting, ending status, and switching between States.

Another characteristic of jbpm is that it uses hibernate to manage its database. Hibernate is currently the best data persistence layer solution in the Java field. Through hibernate, jbpm separates data management functions and focuses on business logic processing.

The general process for developing a workflow using jbpm is as follows:

1) The jbpm operation requires database support. Therefore, you must select the database to be used during system design. Jbpm supports databases supported by hibernate. The initialization of the database can be completed automatically by jbpm, or an SQL statement can be generated through the ant generate. DDL task to create the required tables outside jbpm.

2) use jpdl to define the workflow and generate the processdinination. xml file. You can use the GUI tool gpdl, but currently only jbpm1.0 is supported, and there are many bugs. The xml dtd definition file is in the jbpm download package.

3) Ant create. PVDF generates the working directory of the pdpdpackage. Put the processdinination. xml file and other required files in the specified directory, and use ant build. precess. Archives to generate the PVDF package. The format of the partial code package is jar.

4) modify the relevant properties of the working directory/src/config/jbpm. properties of the apsaradb for PPAs, mainly to set the relevant database connection information. Note that you should place the JDBC driver of the database in the lib directory of the working directory of the apsaradb for MongoDB.

5) Ant deploy. process. Archives: deploy the generated PDE to the database. In fact, it is to insert some related data into the database.

6) Use jbpm API functions to develop corresponding workflows.

(To) more details...

Http://www.blogjava.net/chengang/category/12967.html

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.