Practical Process Automation: Orchestration and Integration in Microservices and Cloud Native Architectures

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

In today's IT architectures, microservices and serverless functions play increasingly important roles in process automation. But how do you create meaningful, comprehensive, and connected business solutions when the individual components are decoupled and independent by design? Targeted at developers and architects, this book presents a framework through examples, practical advice, and use cases to help you design and automate complex processes. As systems are more distributed, asynchronous, and reactive, process automation requires state handling to deal with long-running interactions. Author Bernd Ruecker demonstrates how to leverage process automation technology like workflow engines to orchestrate software, humans, decisions, or bots. • Learn how modern process automation compares to business process management, service-oriented architecture, batch processing, event streaming, and data pipeline solutions • Understand how to use workflow engines and executable process models with BPMN • Understand the difference between orchestration and choreography and how to balance both

Author(s): Bernd Ruecker
Edition: 1
Publisher: O'Reilly Media
Year: 2021

Language: English
Commentary: Vector PDF
Pages: 294
City: Sebastopol, CA
Tags: Microservices; Decision Support; Automation; Software Architecture; Business Processes; Collaboration; Business Model; Service-Oriented Architecture; Workflows

Copyright
Table of Contents
Preface
Process Automation Tools and Techniques
The Scope of This Book
Who This Book Is For
The Architect Always Implements
Accompanying Website and Code Examples
Feedback
How to Read This Book
Conventions Used in This Book
O’Reilly Online Learning
How to Contact Us
Acknowledgments
Chapter 1. Introduction
Process Automation
Wild West Integrations
Workflow Engines and Executable Process Models
A Business Scenario
Long-Running Processes
Business Processes, Integration Processes, and Workflows
Business–IT Collaboration
Business Drivers and the Value of Process Automation
Not Your Parents’ Process Automation Tools
A Brief History of Process Automation
The Story of Camunda
Conclusion
Part I. Fundamentals
Chapter 2. Workflow Engines and Process Solutions
The Workflow Engine
Core Capabilities
Additional Features of Workflow Platforms
Architecture
A Process Solution
An Executable Example
Applications, Processes, and Workflow Engines
Typical Workflow Tools in a Project’s Life Cycle
Graphical Process Modeler
Collaboration Tools
Operations Tooling
Tasklist Applications
Business Monitoring and Reporting
Conclusion
Chapter 3. Developing Process Solutions
Business Process Model and Notation (BPMN)
Start and End Events
The Token Concept: Implementing Control Flow
Sequence Flows: Controlling the Flow of Execution
Tasks: Units of Work
Gateways: Steering Flow
Events: Waiting for Something to Happen
Message Events: Waiting for a Trigger from the Outside
Combining Process Models and Programming Code
Publish/Subscribe to a Process
Referencing Code in Process Models
Using Prebuilt Connectors
Model or Code?
Testing Processes
Versioning of Process Solutions
Running Versions in Parallel
Conclusion
Chapter 4. Orchestrate Anything
Orchestrate Software
Service-Oriented Architecture (SOA) Services
Microservices
Serverless Functions
Modular Monoliths
Deconstructing the Monolith
Orchestrate Decisions
Decision Model and Notation (DMN)
Decisions in a Process Model
Orchestrate Humans
Task Assignment
Additional Tool Support
The User Interface of User Tasks
Orchestrate RPA Bots
Orchestrate Physical Devices and Things
Conclusion
Chapter 5. Championing Workflow Engines and BPMN
Limitations of Other Implementation Options
Hardcoded Processes
Batch Processing
Data Pipelines and Streaming
The Actor Model
Stateful Functions
Process Modeling Languages
Workflow Patterns
Benefits of Graphical Process Visualizations
Textual Process Modeling Approaches
Typical Concerns About Graphical Modeling
Graphical Versus Textual Approaches
Process Automation with Blockchain?
Conclusion
Part II. Process Automation in the Enterprise
Chapter 6. Solution Architecture
When to Use a Workflow Engine
Architecture Trade-Offs
Running the Workflow Engine
Decentralized Engines
Sharing Engines
Ownership of Process Models
Using the Workflow Engine as a Communication Channel
In-House Workflow Platforms
Performance and Scalability
Developer Experience and Continuous Delivery
Evaluating Workflow Engines
Conclusion
Chapter 7. Autonomy, Boundaries, and Isolation
Strong Cohesion and Low Coupling
Domain-Driven Design, Bounded Contexts, and Services
Boundaries and Business Processes
Respect Boundaries and Avoid Process Monoliths
Foster Your Understanding of Responsibilities
Long-Running Behavior Helps You Defend Boundaries
How Processes Communicate Across Boundaries
Call Activities: Handy Shortcuts Only Within the Boundary
Crossing Boundaries Is an API Call
Decentralized Workflow Tooling
Conclusion
Chapter 8. Balancing Orchestration and Choreography
Event-Driven Systems
Emergent Behavior
Event Chains
The Risk of Distributed Monoliths
Contrasting Orchestration and Choreography
Introducing Commands
Messages, Events, and Commands
Terminology and Definitions
Avoiding Event Chains by Using Commands
The Direction of Dependency
Finding the Right Balance
Deciding Whether to Use Commands or Events
Mixing Commands and Events
Designing Responsibilities
Evaluating Change Scenarios to Validate Decisions
Debunking Common Myths
Commands Do Not Require Synchronous Communication
Orchestration Does Not Need to Be Central
Choreography Does Not Automatically Lead to More Decoupling
The Role of Workflow Engines
Conclusion
Chapter 9. Workflow Engines and Integration Challenges
Communication Patterns for Service Invocation
Synchronous Request/Response
Asynchronous Request/Response
BPMN and Being Ready to Receive
Aggregating Messages
Poisoned and Dead Messages
Synchronous Facades Hiding Asynchronous Communication
Transactions and Consistency
Eventual Consistency
Business Strategies to Handle Inconsistency
The Saga Pattern and Compensation
Chaining Resources by Using the Outbox Pattern
Eventual Consistency Applies to Every Form of Remote Communication
The Importance of Idempotency
Conclusion
Chapter 10. Business–IT Collaboration
A Typical Project
The Moral of the Story
Including All the People: BizDevOps
Development
Business
Operations
The Power of One Joined Model
From a Process Pyramid to a House
Who Does the Modeling?
Creating Better Process Models
Extracting (Integration) Logic into Subprocesses
Distinguishing Between Results, Exceptions, and Errors
Increasing Readability
Conclusion
Chapter 11. Process Visibility
The Value of Process Visibility
Getting the Data
Leverage Audit Data from Your Workflow Engine
Model Events to Measure Key Performance Indicators
Status Inquiries
Understanding Processes That Span Multiple Systems
Observability and Distributed Tracing Tools
Custom Centralized Monitoring
Data Warehouses, Data Lakes, and Business Intelligence Tools
Process Mining
Process Event Monitoring
Current Market Dynamics
Setting Up Process Reporting and Monitoring
Typical Metrics and Reports
Allowing for a Deeper Understanding
Conclusion
Part III. Get Going!
Chapter 12. The Journey to Introduce Process Automation
Understanding the Adoption Journey
Failures You Want to Avoid
A Success Story
The Pattern of Successful Adoption Journeys
Different Journeys for Different Scenarios
Starting Your Journey
Bottom-up Versus Top-down Adoption
Proofs of Concepts
Presenting the Business Case
Don’t Build Your Own Platform
Dos and Don’ts Around Reuse
From Project to Program: Scaling Adoption
Perception Management: What Is Process Automation?
Establishing a Center of Excellence
Managing Architecture Decisions
Decentralized Workflow Tooling
Roles and Skill Development
Conclusion
Chapter 13. Parting Words
Current Architecture Trends Influence Process Automation
Rethinking Business Processes and the User Experience
Where to Go from Here
Index
About the Author
Colophon