The Activiti project is a new open source BPM platform based on the Apache license. This article will briefly describe the common Activiti classes. The details are as follows:
1. Why use workflow
Disadvantages of traditional design when processes change:
1. Process-related attributes and attributes of business objects are placed in business objects.
2. Process-related logic and business logic are all placed in the business logic
Activiti common classes:
ProcessEngineConfiguration process engine configuration object (configuring database connection information and table creation strategy)
ProcessEngine is the core object of the process engine (checks whether the environment is correct and manages various services)
RepositoryService warehouse service object (manage deployment information)
RuntimeService runtime service object (management process startup, transfer and other operations)
TaskService task service object (the data in the Task table is an extension of the Exeuction table, the creation time of the task and the person who handles it)
Deployment related classes:
DeploymentBuilder publishes configuration objects (aliases for published rule files, rule pictures and process displays)
ProcessDefinition process definition (used to describe the overall information of the release process)
ActivityImpl process activity (used to describe information related to each activity in a process)
Run related classes:
Execution execution object (used to describe the basic information of the current active node)
ProcessInstance process instance object (process instance always only wants Execution (root) object)
Task task object (task creation time and handler)
2. Use cases:
Process deployment information management:
1. Release process
2. View the process definition ProcessDefinitionQuery
3. Delete process
4. View process attachments
Process execution management:
1. Start the process
2. View tasks (private/public)
3. Claim Claim UserId and TaskId
4. Process task complete (taskId)
5. Check task status