What Is BPM?
In many cases, the services provided by an enterprise are not completed by a distributed business process. The provision of the entire service requires an organic combination of multiple distributed processes. Therefore, BPM emerged. To configure and orchestrate existing services (the differences between configuration and orchestration will be described later) to meet specific business processes, you have to use the relevant content of the workflow. After all, the cooperation between various services is to provide a reasonable business process. In this way, you must design the process. To put it bluntly, it is the question of who goes first and then who goes after each service.
What BPM needs to do literally is to manage the entire business process. This includes many aspects, such as analyzing businesses, implementing business functions, detecting business processes, and establishing tools for corresponding operational processes. Before getting started, we usually need to break down the business into small modules that can be processed by existing underlying services.
Implementation ideas
After the process is decomposed, the underlying activities are services. A service is an integral part of a business process. To make the service take effect, you must first consider the business process. From the business process perspective, whether these services are basic services or composite services does not matter. What is important is that the Service star provides necessary business functions. However, process services are different because the purpose of process services is to reflect the entire business process (or a part ).
You can use a top-up method to break down a problem, system, or process into smaller content until it reaches the service level. Or use a bottom-up approach to build business processes by integrating the underlying service groups into more common blocks. Of course, the method is not the only one. It just provides a reference. Each method has its own advantages and disadvantages. From the bottom up, unnecessary services or services that cannot meet business needs will be generated. However, top-down systems may encounter technical difficulties or implement complicated services.
For example, to implement a new business flow. This business process is the process we need to implement at the top level, and the existing system or service is the bottom layer of this business process. There is no doubt that the bottom layer is responsible for providing some basic business functions embodied by services. The following work is to use a top-down approach to break down the entire process into small blocks and break down complicated processes into small modules that can be processed by lower-level services.
Specific technology-BPM tools and engines
Generally, the process is related to the workflow layer. To be more specific, you need to describe the entire process using BPEL. BPEL is an abstract concept. Different Process engines have different expressions. For example, when jbpm is used, jpdl provided by jbpm is used as the descriptive part, when you use the BPS platform of Puyuan, the language that describes the process that Puyuan comes. However, the implementation method is similar: bind the process node with the existing service, finally release the definition, start the process, and execute the process. The core idea is to use existing services to produce new services that meet requirements through orchestration or configuration. Business process modeling tools or engines can be used to combine ("Configure") new combined services or process services from existing services.
Jbpm is only one of the implementation methods of BPM, so if you have some knowledge of jbpm before, it will help you understand and use bpm. Similar to jbpm, what BPM needs to do is to divide complex businesses into simple services, and then identify which ones must be involved, which can be automatically completed by using it, then configure and orchestrate. After the process is customized, you can start to execute the entire business. Of course, a central controller is required to coordinate all activities.
"Configuration" and "orchestration"
By combining existing services to design higher-level services and processes, this method is called "configuration ". During configuration, a central controller usually coordinates all activities of the process. The entire combination can be used as a service.
The other method is "orchestration", where no one is subject to the concept of WHO, and each part is responsible for one or more steps in the process. It is difficult to understand the entire process in the process. "Orchestration" is easier to scale because it does not have the constraints of the central controller. However, a major drawback of no managers is that they do not know how to handle problems.
Other details
There are still many details to consider in the relationship between BPM and SOA, similar to integrating jbpm into a single system. The relationship between roles and organizations and BPM needs to be considered. Permission-related content needs to be involved, or the system foreground and background issues. These problems will be described in the subsequent articles.