Practical Process Automation
Orchestration and Integration in Microservices and Cloud Native Architectures
Paperback Engels 2021 1e druk 9781492061458Samenvatting
In today's IT architectures, microservices and serverless functions play an increasingly important role. But how can you create meaningful, comprehensive, and connected business solutions if the individual components are decoupled and independent by design? This book provides a framework through examples and practical advice, and reveals how you can design complex processes in such an environment to deliver true business value.
Systems that become more distributed, asynchronous, and reactive usually require state handling to deal with long-running interactions. Author Bernd Ruecker demonstrates how to use process automation technology to apply typical long-running patterns around resiliency, messaging, orchestration, or consistency without forcing your service implementation to become stateful itself.
With this guide, you'll discover how process automation compares to business process management, service-oriented architecture, batch processing, event streaming, and data pipeline solutions.
- Learn how to utilize process automation in cloud-scale or low-latency scenarios
- Explore options for designing architecture that facilitates process automation
- Learn methods for modeling processes properly to avoid potential pitfalls
- Understand the difference between orchestration and choreography and how to balance both
- Examine process automation use cases to learn viable solutions and appreciate the possibilities
Specificaties
Lezersrecensies
Inhoudsopgave
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
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
I. Fundamentals
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
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
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
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
II. Process Automation in the Enterprise
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
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
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
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
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
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
III. Get Going!
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
13. Parting Words
Current Architecture Trends Influence Process Automation
Rethinking Business Processes and the User Experience
Where to Go from Here
Index
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan