[Introduction to JBPM in JAVA]

JBPM, the full name of Java Business Process Management (Business Process Management) , is an open source, flexible and easily extensible executable process language framework covering business process management, workflow, service collaboration and other fields. jBPM is an open source project, and its use is subject to ASL (Apache License Version 2.0) and EULA (JBoss End User License Agreement) agreements.

jBPM released version 2.0 on October 18, 2004, and joined JBoss on the same day as an integral part of the JBoss Enterprise Middleware Platform, and its name was changed to JBoss jBPM.

 

 

What is jBPM?

jBPM is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. Traditional BPM engines have a focus that is limited to non-technical people only. jBPM has a dual focus: it offers process management features in a way that both business users and developers like it.

What does jBPM do?

A business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart. This greatly improves the visibility and agility of your business logic, results in higher-level and domain-specific representations that can be understood by business users and is easier to monitor.

The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification. It can run in any Java environment, embedded in your application or as a service.

On top of the core engine, a lot of features and tools are offered to support business processes throughout their entire life cycle:

  • Eclipse-based and web-based editor to support the graphical creation of your business processes (drag & drop).
  • Pluggable persistence and transactions based on JPA / JTA.
  • Pluggable human task service based on WS-HumanTask for including tasks that need to be performed by human actors.
  • Management console supporting process instance management, task lists and task form management, and reporting.
  • Optional process repository to deploy your process (and other related knowledge).
  • History logging (for querying / monitoring / analysis).
  • Integration with Seam, Spring, OSGi, etc.

BPM makes the bridge between business analysts, developers and end users, by offering process management features and tools in a way that both business users and developers like it. Domain-specific nodes can be plugged into the palette, making the processes more easily understood by business users.

jBPM supports adaptive and dynamic processes that require flexibility to model complex, real-life situations that cannot easily be described using a rigid process. We bring control back to the end users by allowing them to control which parts of the process should be executed, to dynamically deviate from the process, etc.

jBPM is also not just an isolated process engine. Complex business logic can be modeled as a combination of business processes with business rules and complex event processing. jBPM can be combined with the Drools project to support one unified environment that integrates these paradigms where you model your business logic as a combination of processes, rules and events.

work process

1) The operation of jBPM requires the support of the database, so the database to be used should be selected during system design. As long as it is a database supported by Hibernate, jBPM supports it. The initialization of the database can be done automatically by jBPM, or you can generate SQL statements through the ant generate.ddl task, and create the required tables by yourself outside jBPM.

2) Use jPdl to define the workflow and generate the processdinination.xml file. The GUI tool jPdl can be used, but only jBPM1.0 is currently supported, and there are many bugs. The XML DTD definition file is in the jBPM download package.

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

4) Change the relevant properties of the pde working directory /src/config/jbpm.properties, mainly to set the relevant database connection information. Note that the JDBC driver of the database should be placed in the lib directory of the pde working directory.

5) Ant deploy.process.archives deploys the pde just generated to the database. In fact, it is to insert some relevant data into the database.

6) Use the jBPM API function to develop the corresponding workflow.

 

 

 

 

Classification of Workflow Management Systems

There are hundreds of commercial software or prototype systems that claim to have workflow management capabilities. In order to have a clear understanding of the functions and characteristics of these systems, they can be determined according to the characteristics of the workflow process itself, the method of system modeling, the underlying supporting technology used, and the execution method of the workflow process. The corresponding classification is as follows:

structured and ad hoc

Structured workflow refers to a business process that will be repeated repeatedly and strictly follow certain fixed steps in the actual work process. The various types of information required to define such a workflow can be obtained through a detailed analysis of the business process, so that a complete process definition can be obtained and reused in subsequent application processes. A large number of office procedures, such as document processing, approval, etc. belong to this category. Ad hoc workflows are aimed at those workflows that are not very repetitive or have no repeatability. The relevant parameters (such as participants, etc.) required for the execution of such processes cannot be determined in advance, and must be postponed until the process instance runs. OK, and some unexpected situations may occur in the middle of the execution process. This dynamic and changeable feature provides more flexibility, but also brings more complexity to the modeling and execution of the process.

Document Oriented vs Process Oriented

The former focuses on distributing documents, images, etc. in electronic form among relevant personnel so that they can be processed and reviewed by different people. Existing document management and image management systems fall into this category. In a process-oriented WfMS, a workflow is described as a sequence of execution steps. Corresponding to each link, there are data objects to be processed. The data objects of each link can be distributed to other links in different ways, for example, the value of the data object can be used as a control condition, or other data objects can be assembled according to this data object. High-end WfMS generally belong to such systems.

Mail-based and database-based

The former uses e-mail to complete the message delivery, data distribution and event notification during the execution of the process instance. This method is often used in low-end systems. It can fully utilize the data distribution function of the e-mail system in a wide-area environment, but the entire system will run in a loosely coupled mode. In database-based WfMS, all data are stored in some type of DBMS, and the execution of the process is actually the query and processing of these data. High-end large-scale systems generally use this method.

task-push and goal-pull

The former refers to the step-by-step execution of a link from the beginning of the process. When an activity instance is processed, subsequent related activities will be created and activated until the entire workflow is completed. This is the implementation used by most process-oriented WfMSs today. In goal-pulled WfMS, a business process is seen as a goal. When the process instance is executed, the target will be decomposed to obtain a plurality of executable links that are associated with each other according to certain constraints, and each link can be further decomposed as a sub-goal. After all the steps are completed, the whole process is completed. Target pulling is a new way of execution, and the next generation of WfMS will have this feature. It should be noted that the above classifications are only from different perspectives. Generally speaking, the latter features will bring better flexibility to WfMS, and will also become indispensable features of mission-critical WfMS that can support large-scale complex workflow management across organizations.

 

 

 

 

Workflow Management System Advantages

1. Fast, efficient and stable process engine, the engine supports large concurrent access.

2. It has both manual and automatic processes, and has a flexible workflow with obvious "Chinese process" characteristics.

3. Flexible deployment methods, support centralized deployment and distributed deployment.

4. Efficient process integration and integration framework; support embedded process development at the same time.

5. Dozens of domestic industries, with nearly 1,000 successful customer cases.

 

 

Significance of Workflow Management System

Due to the development of information technology and increasingly fierce business competition, people are no longer satisfied with independent and fragmented office automation and computer applications, but need comprehensive and integrated solutions. As a technology to manage and integrate routine affairs, the emergence of WFMS is inevitable. It can bring the following benefits:

1. Improve and optimize business processes and improve business efficiency;

2. To achieve better business process control and improve customer service quality;

3. Improve the flexibility of business processes, etc.

4. Standardize behavior and implement the system;

5. Collaborate inside and outside, respond quickly;

6. Comprehensive monitoring and improved execution.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327042303&siteId=291194637