Chapter 6. Solution Architecture

By now you should have a better understanding of how to design and execute process models, and what problems a workflow engine solves. It’s time to think about its place in your architecture.

This chapter:

  • Gives some guidance on when to use a workflow engine

  • Covers the most important questions to ask to define your architecture

  • Helps you start your own evaluation endeavor

When to Use a Workflow Engine

Now is a good time to come back to a question that I skipped in Chapter 2: when does it make sense to use a workflow engine?

The way I think about it is visualized in Figure 6-1.

The two main advantages of a workflow engine are that it adds long-running capabilities to your application or service, and that you make the process logic visible. Depending on what you want to do with the workflow engine, these capabilities are of different value for you.

For example, if you want to orchestrate an end-to-end business process (maybe as part of your microservices endeavor), you will definitely benefit very much from long-running capabilities and visibility. If you need to implement business transactions in distributed systems, as will be described in “Transactions and Consistency”, these will also be of value, although maybe slightly less so. When you simply leverage the long-running capabilities to solve very technical challenges, as will be described in Chapter 9, there is limited value in visibility, but still this use case makes a lot of sense. ...

Get Practical Process Automation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.