-->

KMWorld 2024 Is Nov. 18-21 in Washington, DC. Register now for Super Early Bird Savings!

Are Microservices the Stuff of Business Application Development Dreams?

Process automation has traditionally been driven around improving efficiency, ensuring control, and increasing worker productivity. Today, though, competitive advantage is king; companies need to be able to quickly implement new processes and customer experience improvements where unstructured data processing is the rule, not the exception.

As a result, business process architects don’t just want to automate; they want to capture business intelligence, make it repeatable and then flex it on demand. Instead of monolithic systems, they are starting to create independent functional components that map closer to business functions and can later be combined to create complex systems.

The key to this complexity? A modern microservices model.

A microservice is a well-encapsulated component that can function without external functional dependencies and handles all the details regarding its own operational data storage and transactions. These services are meant to expose high-level entry points in technology-agnostic data formats.

Microservices are ideal for modernizing applications/projects/services that will grow and evolve with complexity. The most important incentive for moving to a microservices approach is operational cost optimization. Companies are using this new type of process modeling to:

  • Significantly reduce the complexity of client applications by acting as the coordinator of multiple microservices.
  • Empower users by allowing them take care of the business rules that govern execution flows they know best.
  • Expand business with a task driven experience that allows business users to better manage their priorities and workloads.

The idea behind microservices is nothing new, really. When big projects are broken down into smaller pieces and the services are able to communicate on a standard protocol, development and maintenance is easier. Individual services can introduce a level of sophistication that would be difficult to integrate in a single, larger system.

Given that microservices are truly independent, it is just natural to pack them as containers. As a result, it is really easy to allocate resources as needed per microservice, allowing organizations to fine-tune where they spend their hard-earned dollars to support their operations.

So This is Business Application Development Nirvana?

Well, not quite. The benefits of microservices come from their natural independence—but they are not meant to be run in isolation. Microservices need to work together to achieve the capabilities of the large, complex, monolithic systems that they are meant to replace.

Most of the innovation around the microservice era comes from the consumer space, where building an iOS application that can interact with a server application built in Node.js, and then talk with four or five systems can happen rapidly. But for the enterprise organization, the scope of the applications that need to manage is much, much larger and with many more requirements. This is why finding efficient ways to bring microservices together become a relevant subject. Just mushing all these microservices together does nothing to solve the bigger challenge—unless you have a clear process.

Microservices expose entry points that map at high level to business functions, but the reality is that during your application assembling phase you will end up dealing with excess functional granularity and writing code to fill the gaps or maintain coherence.

In addition, managing the state of microservices is primary concern. Without careful attention to state and process, you might find yourself writing large pieces of code to maintain state among calls of different microservices. That kind of defeats the point of them in the first place.

Finally, there’s long-term execution. Enterprise applications need to be prepared to handle business transactions that span long periods of time and manage exceptions that could occur during this information lifecycle. You may end up having to deal with an increase of the complexity of your architecture to manage long-term execution.

Enter BPM

You have all these awesome individual microservices. All good and well—but they aren’t replacing that application behemoth just yet. How do you get them to play well with each other? Business process management.

Intelligent business process management software acts as the coordinator among different elements to achieve a well-defined goal. It’s the conductor of the microservices orchestra that points a baton at the various microservices and tells them when to enter, when to exit, and how long and how loud to play. BPM is the conductor, the leader—and outward facade for your client applications.

Applying BPM to your microservices-rich environment allows the organization to aggregate multiple services to provide further functional abstraction, implement different interaction patterns with consumers and effortlessly implement long term processes.

BPM should be the orchestration solution for a microservices approach to business applications by integrating easily with XML or JSON services exposed over HTTP/S or JMS. From there, a smart user interface can interact with the processes just as they work with other available services.

It’s More Than BPM, Really

Of course enterprises typically don’t have only one application to consider—nor are many able to fully refactor a large system in one go.

Strategically applying BPM allows an organization to work toward orchestrating processes that consume microservices from different applications, while still interacting with the parts of a system that still are in an old architecture. By working in tandem with other BPM capabilities like audit trails, recovery options for long-term processing, smart routing and visual implementation of business rules and business activity monitoring, organizations can start modeling processes without being limited by their existing applications or content states.

As the dust from the microservices development race settles, it’s clear that microservices can’t do it all alone. Modern complex process don’t just power microservices architectures—they turbocharge them.

Leveraging your microservice architecture with an intelligent business process management system allows your organization to gain all the benefits from the modern microservices approach—and more.


Everteam connects people, processes, and content to automate and streamline business workflows, which would otherwise be time-consuming, error-ridden, and non-compliant.

KMWorld Covers
Free
for qualified subscribers
Subscribe Now Current Issue Past Issues