We need to speed up our bank account opening.
1. A broken end-to-end automation Local automations are not integrated with one another, the end-to-end process is not fully automated. Lack of understanding The end-to-end process is not fully visible and key metrics are hard to track. 2. Lack of flexibility Changing the end-to-end process is difficult since it leads to potential changes in many different systems. 3.
No problem! Just code in Spring Boot!
Example
Runs anywhere Supports any programming language Available as a SaaS service Manage it yourself (in your own cloud, your datacenter, your laptop) Clients for Java, C#, NodeJS, Go, … available Natively integrates into your stack
Runs anywhere Multiple connector runtime options, including SaaS, self-managed, co- located, and local installations
Connectors Modeling Experience Low-code Forms Human Task Orchestration CAMUNDA Low-code Pro-code Process Orchestration Kopfhörer
Local automations or individuals automating parts of their job No IT project Organizations automate their most critical core processes Full IT projects, Continuous Delivery Smaller, probably department internal processes IT project often hard to justify
or or or Just code in Spring Boot! Local automations or individuals automating parts of their job No IT project Organizations automate their most critical core processes Full IT projects, Continuous Delivery Smaller, probably department internal processes IT project often hard to justify
https://camunda.com/customer/goldman-sachs/ … easy workflows like “Approve access or entitlement” … … payment processing …
Developer experience – many possibilities Source Code Modeler Repository CI/CD Pipeline Desktop App Web API Runtime Platform API Local filesystem We are thinking about this… Normal app deployment
“Solution Acceleration” instead of “Low code”
We need to speed up our bank account opening.
A Typical Adoption Journey Human work Human task orchestration Backend integration e.g. via API Frontend integration e.g. via RPA More task automation e.g. using DMN or machine learning Task Automation Process Orchestration @berndruecker
Is this hipster enough?
Order Placed Payment Received Goods Shipped Notification Event-driven & Reactive @berndruecker Checkout Payment Inventory Shipment
Peer-to-peer event chains Checkout Payment Inventory Shipment Order placed Payment received Goods shipped Goods fetched @berndruecker
Peer-to-peer event chains Checkout Payment Inventory Shipment Order placed Payment received Goods shipped Goods fetched @berndruecker
Phil Calcado at QCon NYC 2019
Notification Checkout Payment Inventory Shipment @berndruecker Pinball Machine Architecture „What the hell just happened?“ @berndruecker
Checkout Payment Inventory Shipment Pinball Machine Architecture @berndruecker Task Automation Process Automation
1. A broken end-to-end automation Local automations are not integrated with one another, the end-to-end process is not fully automated. Lack of understanding The end-to-end process is not fully visible and key metrics are hard to track. 2. Lack of flexibility Changing the end-to-end process is difficult since it leads to potential changes in many different systems. 3.
Source: Talk at Camunda Con 2020 (https://blog.bernd-ruecker.com/process-automation-in-harmony-with-rpa-720effdb0513) @berndruecker
Source: Talk at Camunda Con 2020 (https://blog.bernd-ruecker.com/process-automation-in-harmony-with-rpa-720effdb0513) @berndruecker
What do those scenarios have in common?
Those scenarios lack oversight how the dots connect!
Orchestration @berndruecker
Processes are domain logic and live inside service boundaries @berndruecker
PaaS operations are centralized - Orchestration logic is not Microservice A Orchestration Engine Microservice B Microservice C Orchestration Engine Ideally SaaS (probably self-managed) Every microservice (process solution) owns its process model, glue code, and any additional artifacts Orchestration Engine
Summary
Thank you! @berndruecker

JavaLand 2023 - Process Oriented Integration