Customer Management Software

Do business process management systems become less important in the era of popular microservice architectures?

Although Amazon, Netflix, and Twitter use microservices, employees often use business process management systems (BPMS). Microservice architectures strive for a high rate of change to meet the dynamic needs of applications. A centralized BPMS like from here https://www.bpmonline.com/page/customer-management-software can become a bottleneck and limit application variability as large parts of the application logic are connected. Point-to-point communications between microservices make process maintenance more complex and difficult to control the order of service calls. Pioneers like Netflix are complementing their microservice architecture with BPMS for long-running processes.

-twitter
-facebook
-Xing
-LinkedIn

In the past, it was common practice to design IT applications as large monolithic blocks after extensive design. One of the problems with these application architectures was that once developed functions were difficult to use in other applications. With Service Oriented Architecture (SOA), this should change at the beginning of the current millennium. The goal was to divide applications into manageable large services, which can then be assembled (assembled for reuse). Now companies such as Amazon, Netflix and Twitter are launching a new level of modern architecture: microservices.Microservices vs SOAFirst of all, microservice architectures strive for a high rate of change to meet the dynamic requirements of modern applications. While in SOA architectures, high service dependency is often a problem, independence is the main goal of microservice architectures (build to replace).

In order to provide an independent service life cycle, it is necessary to create stable versioned interfaces (mainly asynchronous REST APIs, Representational State Transfer, application programming interface). High fault tolerance and local data management additionally support separation and provide independent scaling of individual services.

In general, decentralized microservices provide high flexibility and speed. At the same time, fine-grained, constantly changing services also lead to new complexity.

BPMS lose importance Business Process Management Systems (BPMS) or Workflow Process Engine are used in SOA architectures to provide comprehensive service coordination to support business processes. On the other hand, the basic idea of ​​microservices is to provide free choreography of services, not complex orchestration. Thus, central architectural components, such as BPMS, at least at first glance unlike the architectural concept of independent microservices.

A centralized BPMS can become a bottleneck and limit application variability, since most of the application logic is connected there. Therefore, for changes, the BPMS must be adjusted and tested. In this case, the local data storage in microservices can no longer be completely stored, since at least part of the data must be stored in BPMS.

BPMS also brings together expertise from several areas, further complicating the task. These and other aspects ultimately lead to a closer connection of microservices with each other, which contradicts several basic principles of microservice architectures. or are they still useful?However, BPM solutions also solve many problems that arise, in particular, against the background of lengthy business processes. For example, in large systems, it is hardly possible to create transparency about which microservices provide a particular function or business process. The automatic creation of dead charts shows calls between services, but does not provide any information about the process chains. It also makes it difficult to communicate with the department when it comes to defining requirements.

Even when performing processes, problems are encountered in microservice architectures. For example, the status of a single process instance (for example, order status) cannot be called up without further action. This is due to the fact that the process instance is “transferred” point-to-point between microservices.

Therefore, a status request must be made for each service. It is these point-to-point connections that simplify service processes and complicate the management of the order of service calls. If, for example, an order that has already been placed needs to be canceled, the microservices encounter two conflicting messages.