Workflow Engine Product
The workflow engine provides a cost-effective, quickly pluggable process component for application software solutions across various industries. It serves as the power source for adding process services to application software systems, shortening software delivery time, and improving delivery quality. It can also serve as a unified process service for the technical platform in a private cloud architecture, providing process services for various applications, thereby achieving business process integration and optimization, as well as digital process operation.
1. Comprehensive Process Engine Functions
The workflow engine provides a highly flexible, open, stable, and reliable enterprise-level business process middleware that can meet the business process needs of users in various industries. It includes the following components:
- Process Engine: Drives and supports workflow execution, serving as the core of the workflow system;
- Rule Engine: Edits and parses rule scripts, interfaces with the process engine through the JSR94 specification, enabling flexible definition of process business rules;
- Management Tools: Provides process management, process statistics, and process monitoring functions, facilitating centralized business process management;
- Design Tools: Provides process design tools for users to model, define, and debug business processes;
- Application Tools: Provides process task lists, proxy settings, and other functions for user convenience;
2. Mature Process Business Models
Supports 42 process operation modes, providing 4 types of start nodes, 6 types of task nodes, 5 types of event nodes, 2 types of gateway nodes, 2 types of end nodes, and 4 types of special nodes, totaling 23 types of process nodes, ensuring 99% coverage of process business requirements across industries.
3. Architecture Design Features
The workflow engine follows a layered design architecture and is designed in a componentized manner, with the following design features:
| No. | Category | Description |
|---|---|---|
| 1. | Continuous Service Capability | Business (process, rule) designs can be dynamically loaded and upgraded without system restart |
| 2. | Data Consistency | Equipped with transaction processing capabilities to ensure consistency between business data and process data |
| 3. | External Services | Provides RESTful service interfaces, facilitating integration of business process running status and results with external systems |
| 4. | Rule Engine | Loosely coupled with the rule engine, capable of using third-party rule engines |
| 5. | Component Adaptation | Supports integration of third-party organization permission components through synchronous or asynchronous invocation |
| 6. | Form Integration | Loosely coupled with the form system, can integrate business forms from other systems |
| 7. | Extensibility | Provides core engine extension mechanisms, allowing secondary development for special requirements |
| 8. | Adaptability | Adapts to process changes, separates business logic from process logic, enabling zero-programming process adjustments |
4. Flexible Process Business Support
Supports starting processes for testing at any time during process customization.
Supports operations on process instances such as version restoration, process suspension, process resumption, process termination, handler replacement, instance deletion, process update, and list printing.
Supports visual modification of instance flowcharts: graphical editing tools can be used to open process instances and modify allowed properties, taking effect only for the current instance.
Supports version updates for running process instances: after process definition updates, matching updates for instances can be applied through instance upgrades to achieve timely updates.
5. Supports Both Embedded and Service Deployment
- Embedded Deployment: Can be embedded as a workflow engine component into various business systems, providing customized process capabilities for the host system;
- Microservice Deployment: Deployed as an independent microservice architecture on the PaaS platform, building a unified process service center. Based on multi-tenant isolation capabilities, it provides centralized process services for multiple business systems across the entire chain.
6. Multi-Tenant Management
Divides the centrally deployed unified process service into multiple tenant spaces for management, providing process application services for multiple business systems or subsystems, with each subsystem's management and applications achieving virtual independence within its tenant space.
Tenant space management uses independent data sources for each tenant space. Data sources can point to different users in the same database to achieve logical isolation at the database level, or to different databases in different locations to achieve physical isolation at the database level, avoiding the risk of cross-access to business data. Each tenant space can use the design tools and management tools of the unified process service.
7. Rich API Interfaces
The process platform provides both Rest and Dubbo service interfaces, supporting cross-platform and cross-language invocation. The specific interfaces are as follows:
Instance Operation Calls
- Create instance;
- Open instance;
- Close instance;
- Get instance history records;
- Restore instance data;
- Instance creation permission verification;
- Open instance permission verification;
- Get maximum version number of instance;
- Delete restored instance business data processing;
- Delete instance;
- Update instance;
- Suspend/Resume instance;
- End instance.
Flow Operation Calls
- Submit;
- Collaborative submit;
- Internal submit;
- Countersign;
- Countersign submit;
- Reject;
- Arbitrary reject;
- Retrieve;
- Save draft;
- Withdraw;
- Jump;
- Add sign;
- Resubmit;
- Branch resubmit;
- Transfer;
- Suspend;
- Replace handler;
- Terminate;
- Acknowledge;
- Acknowledged;
- Urge;
- Start sub-process;
- Claim;
- Route rule judgment;
- Node entry rule;
- Node exit rule;
- Rule script execution.
User Operation Calls
- Work transfer;
- Receive work transfer;
- Activate process;
- Get types of participants selectable for nodes;
- Replace handler;
- Query user pending tasks;
- Query user pending task count;
- Query user completed tasks;
- Query user completed task count;
- Query user pending readings;
- Query user pending reading count;
- Query user completed readings;
- Query user completed reading count;
- Query user claimed tasks;
- Query user claimed task count;
- Query user readable documents;
- Query user readable document count;
- Query process instances started by user;
- Query count of process instances started by user;
- Query allowed urge records;
- Organization information retrieval;
- Send messages beyond pending tasks and readings;
- Permission verification related;
- Get message title.
System Operations
- Process information output format;
- Log tracking records;
- Associated storage of business data and process data;
- Current language type retrieval for multi-language support;
- Memory management;
- JMS message processing;
- Scheduled task related processing;
- Date judgment;
- Persistence implementation;
- Overdue node retrieval.
8. Easy Expansion
1. Product Function Level
- Supports extension of process event functions such as process entry, exit, and activation;
- Supports extension of handler relationship setting functions;
- Supports extension of process handling time limit and urging functions;
- Supports extension of process global variables, node variables, and other functions;
- Supports personalized extension of process operations.
2. API Level
- Opens API interfaces for process-related organization structure, permissions, operations, and events;
- Opens service interfaces for pending tasks, emails, SMS, instant messaging, and mobile access;
- Opens standard function source code for intelligent mobile access APPs.
3. System Configuration Level
- Supports extending system loading items through web.xml;
- Supports setting process global configuration through hzwf_config.properties series configuration files;
- Supports configuration of application-level logs, workflow sessions, etc.
4. Database Level
- Supports CRUD operations on business through SQL configuration;
- Supports business expansion under multi-data source management.
