Every programmer may have such a question when he or she comes into contact with a workflow-I can implement it in a general way. Why should I use a workflow? I once asked this question, but now I understand it a little bit. Don't worry about the answer. You may understand the following example.
This is a simple business-ordering process:
- The customer submits the purchase order
- Salesman executes order processing
- If the product is out of stock, it will be transferred to the factory for production.
- Warehouse shipment
- Logistics delivery
|
|
If you do not use the workflow technology, you need:
- Interaction pages and background processing programs must be developed for each activity point.
- You must determine the next activity node and its operator for each activity flow.
- Each operation requires maintenance of business data and process-related data.
The final result is as follows:
This does not include monitoring, control, and analysis processes.
However, if we use a Workflow
This looks much simpler. The workflow management system on the right takes over the definition and execution of all ordering businesses in terms of processes. This method has many advantages:
- Use a dedicated process data system to maintain all data involving process flow.
- The "Process Design" tool is provided to help you define the ordering process model, and a visual interface is generally provided.
- All processes are handled by the Process Engine, avoiding conflicts between demand changes and hard coding.
- The workflow engine also provides a number of APIs that can easily combine workflow management with business operations.
Therefore, introducing workflow technology in a suitable project is very beneficial for basic development:
By using terms such as activity, flow, status, and behavior, business analysts and developers can talk in the same language. An excellent process design modeling tool can even make developers not necessarily translate user requirements into detailed design documents.
- Centralized Process Implementation
To cope with frequent changes in business processes, the biggest advantage of using workflow technology is that the implementation code of business processes is no longer scattered in a variety of business systems.
Developers no longer need to pay attention to Process participants, linkage of activity nodes, and flow control ...... Many of these tasks are taken over by the workflow framework. Therefore, developers can develop faster, with fewer code errors and easier system maintenance.
- Improved support for iterative development
If the business process in the system is hard-coded, it will not be easy to change. The demand analyst will spend a lot of energy in the pre-development business analysis and want a success. Sadly, this is rarely implemented in any software project development. The workflow management system makes it easy to deploy and re-orchestrate business processes. Application Development related to business processes can be promoted in an "iterative/progressive" manner, that is to say, the workflow technology supports "requirement analysis does not have to be completely successful once" to some extent ".