In this next article, I will illustrate key benefits of using a BPMN engine when it comes to orchestration of interactions involving not only microservices — but any kind of service (including monoliths)…and people.
In my previous article about orchestration of microservices, monoliths, people and robots, I introduced the idea that orchestration is a well-adapted solution for managing applications based on microservices, perhaps better-adapted than choreography — as discovered by Netflix, among others with growing business needs and complexity. I also covered some of the different orchestration technologies, and the benefits of using a BPMN (Business Process Model and Notation)-based technology to graphically define and automate orchestration between multiple microservices.
Let’s look at the hypothetical use case that I used in my previous article to illustrate orchestration of microservices: the MobileBank. We can imagine that new, automated MobileBank services and products for its customers are working well, calling on a set of microservices nicely orchestrated using a BPMN-based engine.
But MobileBank is itself a unit of BigBank, which has an impressive array of legacy information systems (IS) that it’s not ready or able to let go of. In addition, BigBank’s MobileBank services are intended to be highly customer-friendly, and in today’s environment of chatbots and automated systems, that means a real person needs to be available when a real person is needed.
Employees and customers are all human elements involved in MobileBank operations. We can’t forget them when we talk about orchestration and automation.
Let’s consider a variety of systems (IS): legacy, monoliths, REST APIs accessible services…and then, the humans!
Orchestration and coordination of information systems and services
Banking today is offered by a variety of financial structures, from brand-new, 100% on-line disruptive fintech players, to established “big-names” in the banking and finance industry. The latter are faced with a double challenge — keeping up with the flexible, agile competition and not having to toss out their foundational legacy IS. Legacy systems in banks worldwide are still supporting such critical functions such as deposit accounting, policy administration, loan servicing, and payment processing.
The established financial players who are up to these challenges are successfully integrating a mix of legacy systems (yep, Cobol still running on mainframes), modern technologies (platforms to apply data science and analytics) and the use of open APIs.
Financial institutions like BigBank need to deal with this complexity as they shift into digital transformation, that is, to transform their information systems. Orchestration technologies are an essential piece of this. There are multiple systems that need to participate in processes to deliver new/better services to customers. For example, consider digital onboarding for MobileBank, where a new customer uses their phone to go through the entire “new customer” process.
An orchestration engine manages those interactions — between new microservices, such as biometric authentication services, and those legacy processing systems. Here is where BPMN-based orchestration brings advantages:
- The overall orchestration involving different services can also be modeled graphically.
- Most BPMN-based orchestration technologies include native connectors to both legacy and modern services, as well as generic connectors such as REST and Java connectors to call APIs.
- Transaction management services, compensation capabilities, synchronous and asynchronous services calls, and more are also native.
Orchestration of human interactions
It’s pretty clear that the majority of customer-facing systems or applications will involve interactions between people and systems. People participate in business processes in two different ways: employees manage backend operations, and customers are the ultimate end users of customer-facing processes. Orchestration can help link them in the right ways, along with the mix of systems and services, so MobileBank offers up superior customer service.
BPMN based engines often provide capabilities to manage human interactions, such as work assignment rules, delegation capabilities, management of deadlines, prioritisation of work, multiple validation levels, and so on.
Consider also that those technologies are also easily integrated with user interfaces (web forms), that present to the customer all two-way communications with MobileBank. A smooth back-end operation invisibly fetches customer data from the legacy user database, calls the appropriate bank employee(s) into the process when needed, coordinates all the necessary calls to and from the newest microservices, and ends with a customer who has obtained what they needed, when they needed it, through a pleasant and satisfying interaction.
BPMN modeling is expressly designed for the orchestration of human and automated IS tasks, creating a mix of what people and systems need to act on in a process.
Now that we’ve seen how orchestration technologies can handle a much broader mix than just microservices, in my next article I will call in the robots. MobileBank has discovered Robotic Process Automation, and I’ll tell you what mistakes they made and how they found the right way to orchestrate a functionally excellent mix of services, people, and robots.
A version of this article was published in Forbes on March 24 2020.