SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Flowable Business Processing
from Kafka Events
Joram Barrez (@jbarrez)
Tijs Rademakers (@tijsrademakers)
07-11-2019@jbarrez @tijsrademakers
© 2019 Flowable AG. All rights reserved.
• Principle Software
Architect at Flowable
• Flowable core dev
• Ex-Co-founder of Activiti
• Ex jBPM developer
• VP of Engineering
at Flowable
• Flowable project lead
• Ex Activiti project lead
• Author of Manning Activiti in
Action and Open Source ESBs
in Action
Short introduction
7 November 2019@jbarrez @tijsrademakers
Joram Barrez Tijs Rademakers
2
© 2019 Flowable AG. All rights reserved.
Agenda & Goals
• Explaining all that Flowable can do in 45 mins is
… impossible
• A taste of what is possible … and focus on our
recent efforts:
• Case management engine (CMMN)
• Recent improved support for using Flowable in
event-driven architectures
• And hope to inspire you to look deeper!
7 November 2019@jbarrez @tijsrademakers 3
© 2019 Flowable AG. All rights reserved.
process instances
per second
1Benchmark details: https://blog.flowable.org
Speed, scalability and innovation
• Fastest engines available1
• Lightweight
Flowable Open Source Project
4
Native BPMN, CMMN and DMN engines
• High performance, high scale
• Years of real world use
Long heritage of Open Source BPM
• Origins since 2010 in Activiti and jBPM
• Established 2016 by Alfresco co-founder and
Activiti team
Community is key
• Credibility through engagement &
contributions
• Usage all over the world
and in all kind
of industries
jBPM
Flowable
Activiti2010
2016
7 November 2019@jbarrez @tijsrademakers
© 2019 Flowable AG. All rights reserved.
OMG (Object Management Group) standards
o BPMN (Business Process Model & Notation) 2.0 - 2011
o CMMN (Case Management Model & Notation) 1.1 - 2016
o DMN (Decision Model & Notation) 1.2 - 2019
Focused on visual representation
XML definition for engine execution
Flowable supports modeling and execution of BPMN, CMMN and
DMN
Open standards
7 November 2019@jbarrez @tijsrademakers 5
© 2019 Flowable AG. All rights reserved.
BPMNCMMN
DMN
6
Open
Standards
© 2019 Flowable AG. All rights reserved.
Model vs. Coding
• The hardest part about our job is translating requirements
• A picture says more than thousands words
• A visual model is the common meeting ground
7 November 2019@jbarrez @tijsrademakers 7
© 2019 Flowable AG. All rights reserved.
Modeling centric
• Visual representation of
business requirements
• Understood by analysts
and devs
• Orchestration logic not
hidden in code
7 November 2019@jbarrez @tijsrademakers 8
© 2019 Flowable AG. All rights reserved.
Runtime state
• Visual representation of
runtime state
• Current activities
• Completed activities
• State data (variables,
identity links, event
subscriptions) always
available
7 November 2019@jbarrez @tijsrademakers 9
© 2019 Flowable AG. All rights reserved.
REST API
BPMN
Engine
CMMN
Engine
DMN Engine Form Engine
Content
Engine
10
Persistence Service
Job Service
Variable Service
Task Service
Identity ServiceEngine specific services
Confidential
Flowable
Modeler
Flowable Task
Flowable Open Source Architecture
Flowable Admin Flowable IDM
© 2019 Flowable AG. All rights reserved.
Rich REST API
• REST API for all
engines (BPMN,
CMMN, DMN etc)
• On par with Java API
• Easy to built UIs against
the REST API
7 November 2019@jbarrez @tijsrademakers 11
© 2019 Flowable AG. All rights reserved.
Flowable Spring
Boot support
• Lots of starter modules
• Auto deployment of
process, case, decision
resources
• Creation and injection of
all engines and services
7 November 2019@jbarrez @tijsrademakers 12
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</artifactId>
<version>6.4.2</version>
</dependency>
© 2019 Flowable AG. All rights reserved.
BPMN in a Nutshell
7 November 2019@jbarrez @tijsrademakers 13
© 2019 Flowable AG. All rights reserved.
CMMN in a Nutshell
7 November 2019@jbarrez @tijsrademakers 14
Human task
Plan model
Stage
User event listener Exit sentry
Entry sentry
Process task
© 2019 Flowable AG. All rights reserved.
Event-Driven Architectures
• In the Flowable community, we have seen
• People experimenting with event-driven/event-sourcing architectures
(or more often architectures enriched with events)
• Demand for out-of-the-box
7 November 2019@jbarrez @tijsrademakers 15
© 2019 Flowable AG. All rights reserved.
Event-Driven Architectures
• A process/case fits naturally
• Can be the ‘Command’ of an event
(e.g. the C in CQRS)
• Have state to react properly on the change expressed in the event
(state is often the hard part of event-sourcing)
7 November 2019@jbarrez @tijsrademakers 16
© 2019 Flowable AG. All rights reserved.
Quick Demo
7 November 2019@jbarrez @tijsrademakers 17
© 2019 Flowable AG. All rights reserved.
Implementation – The event registry
7 November 2019@jbarrez @tijsrademakers 18
Flowable
Engine
EventRegistry
EventBus
EventDefinitionEventDefinitionEventDefinition
Consumers
Central repository of event metadata
Dispatches events to consumers
(default process/case behaviors are also a consumer)
Description of event structure:
- Payload
- Correlation
© 2019 Flowable AG. All rights reserved.
Implementation – Channels and Pipelines
7 November 2019@jbarrez @tijsrademakers 19
Flowable
Engine
EventRegistry
EventBus
Channel Adapter
Event Consumer
Inbound Channel
Inbound Pipeline
Deserialization
Event key detection
* All shown here on the slide are pluggable
Payload extraction
Event transformatio
n
© 2019 Flowable AG. All rights reserved.
Implementation – Channels and Pipelines
7 November 2019@jbarrez @tijsrademakers 20
Flowable
Engine
EventRegistry
EventBus
Channel Adapter
Event Producer
Outbound Chann
el
Outbound Pipelin
e
Serialization
Event transformatio
n
Demo
https://github.com/flowable/flowable-examples/tree/master/devoxx2019
© 2019 Flowable AG. All rights reserved.
• Fictional electrical kick-scooter
startup
• Customer satisfaction is
priority #1
Use Case
7 November 2019@jbarrez @tijsrademakers 22
© 2019 Flowable AG. All rights reserved.
• Customer can provide a review
• Review  Kafka
• A customer case
• Groups all reviews
• Kicks of a sentiment analysis process
• Analysis is done using a process that
calls out to AWS Comprehend
• Bad review  A task for an employee is
created to try to fix the relationship
Use Case
7 November 2019@jbarrez @tijsrademakers 23
© 2019 Flowable AG. All rights reserved.
Architecture
7 November 2019@jbarrez @tijsrademakers 24
* (5th service (Spring Cloud API gateway) not shown to simplify things)
UI for customers
Review Service
Customer
Relationship
Service
Flowable Task
Sentiment Analysis
service
UI for employees
AWS Comprehend
Review Event
Review Event Analysis
Result
Analysis
Result
Analysis
Request
Analysis
Request
© 2019 Flowable AG. All rights reserved.
Demo: The models explained
7 November 2019@jbarrez @tijsrademakers 25
© 2019 Flowable AG. All rights reserved.
Demo
• Simulating reviews
• Stepping through a bad user review
7 November 2019@jbarrez @tijsrademakers 26
© 2019 Flowable AG. All rights reserved.
Demo: Review Service
• Simple Spring Webflux REST API
• Reactive pushing of events from UI into Kafka
7 November 2019@jbarrez @tijsrademakers 27
© 2019 Flowable AG. All rights reserved.
Demo: Customer Case Service
• Spring Boot application
• Flowable Spring Boot starters
• Autodeploy cases and process models
• Register event channels and definitions
• Postgres DB
7 November 2019@jbarrez @tijsrademakers 28
© 2019 Flowable AG. All rights reserved.
Demo: Customer Case Service
• The sentiment process uses a triggerable service task
• Send-and-wait-for-response pattern
• Race condition problem
7 November 2019@jbarrez @tijsrademakers 29
© 2019 Flowable AG. All rights reserved.
Demo: Customer Case Service
• The sentiment process uses a triggerable service task
7 November 2019@jbarrez @tijsrademakers 30
• During execution (tx1)
• Create event subscription
• Create async job data (to send event)
• Post-commit (tx2)
• Trigger job executor (or other node)
• Send event asynchronously
• Go into wait state
• Event receival (tx3)
• Trigger for continuation
© 2019 Flowable AG. All rights reserved.
Demo: Customer Case Service
• Can this also be made reactive?
• Yes!
• Nicely scaling of message stream handling depending on load
• (insertion of async Flowable job at event receival using R2DBC)
7 November 2019@jbarrez @tijsrademakers 31
© 2019 Flowable AG. All rights reserved.
Demo: The Sentiment Analysis Service
• Spring Boot application
• Flowable Spring Boot starters
• Autodeploy process model
• Uses AWS SDK to call out to AWS Comprehend
7 November 2019@jbarrez @tijsrademakers 32
© 2019 Flowable AG. All rights reserved.
Demo: The Sentiment Analysis Service
• This service is effectively a function
• Can be run serverless
• Only boot up when an event is received
• Only pay for effective usage
• With all the benefits of using Flowable
• Visual models, audit/history, etc.
7 November 2019@jbarrez @tijsrademakers 33
© 2019 Flowable AG. All rights reserved.
Demo: The Sentiment Analysis Service
• This service is effectively a function
• Can e.g. be run as a serverless lambda on AWS, see
https://blog.flowable.org/2019/01/29/flowable-engine-as-a-
serverless-function/
• Flowable + Spring Cloud AWS
• Flowable + Spring Fu + GraalVM
• Flowable + Micronaut + GraalVM (13 ms bootup)
7 November 2019@jbarrez @tijsrademakers 34
© 2019 Flowable AG. All rights reserved.
Demo: Flowable Task
• Bad review  employee form
7 November 2019@jbarrez @tijsrademakers 35
© 2019 Flowable AG. All rights reserved.
Conclusions
• Flowable is a light-weight yet versatile open-source framework for
managing and executing processes/cases/business rules
• We’ve shown that using Flowable in event-driven architectures is
easy and powerful
• Today we’ve focused primarily on the event side of things, but
there’s plenty of more to discover!
• http://www.flowable.org
7 November 2019@jbarrez @tijsrademakers 36
Thank you.
https://flowable.com/flowfest2019/

Weitere ähnliche Inhalte

Was ist angesagt?

Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...
Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...
Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...confluent
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Jean-Paul Azar
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...HostedbyConfluent
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQAraf Karsh Hamid
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Servicesconfluent
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?Kai Wähner
 
A Kafka journey and why migrate to Confluent Cloud?
A Kafka journey and why migrate to Confluent Cloud?A Kafka journey and why migrate to Confluent Cloud?
A Kafka journey and why migrate to Confluent Cloud?confluent
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdService Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdKai Wähner
 
Migrating with Debezium
Migrating with DebeziumMigrating with Debezium
Migrating with DebeziumMike Fowler
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureAbdelghani Azri
 
Kafka Tutorial - basics of the Kafka streaming platform
Kafka Tutorial - basics of the Kafka streaming platformKafka Tutorial - basics of the Kafka streaming platform
Kafka Tutorial - basics of the Kafka streaming platformJean-Paul Azar
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsAraf Karsh Hamid
 
Linking Metrics to Logs using Loki
Linking Metrics to Logs using LokiLinking Metrics to Logs using Loki
Linking Metrics to Logs using LokiKnoldus Inc.
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
(BDT208) A Technical Introduction to Amazon Elastic MapReduce
(BDT208) A Technical Introduction to Amazon Elastic MapReduce(BDT208) A Technical Introduction to Amazon Elastic MapReduce
(BDT208) A Technical Introduction to Amazon Elastic MapReduceAmazon Web Services
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsLightbend
 

Was ist angesagt? (20)

Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...
Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...
Simplifying Distributed Transactions with Sagas in Kafka (Stephen Zoio, Simpl...
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Services
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
A Kafka journey and why migrate to Confluent Cloud?
A Kafka journey and why migrate to Confluent Cloud?A Kafka journey and why migrate to Confluent Cloud?
A Kafka journey and why migrate to Confluent Cloud?
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdService Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
 
Migrating with Debezium
Migrating with DebeziumMigrating with Debezium
Migrating with Debezium
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Kafka Tutorial - basics of the Kafka streaming platform
Kafka Tutorial - basics of the Kafka streaming platformKafka Tutorial - basics of the Kafka streaming platform
Kafka Tutorial - basics of the Kafka streaming platform
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Linking Metrics to Logs using Loki
Linking Metrics to Logs using LokiLinking Metrics to Logs using Loki
Linking Metrics to Logs using Loki
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
(BDT208) A Technical Introduction to Amazon Elastic MapReduce
(BDT208) A Technical Introduction to Amazon Elastic MapReduce(BDT208) A Technical Introduction to Amazon Elastic MapReduce
(BDT208) A Technical Introduction to Amazon Elastic MapReduce
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
 
Serverless
ServerlessServerless
Serverless
 

Ähnlich wie Flowable Business Processing from Kafka Events

Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceSAP HANA Cloud Platform
 
API's for innovative cloud and mobile apps
API's for innovative cloud and mobile appsAPI's for innovative cloud and mobile apps
API's for innovative cloud and mobile appsManmohan Gupta
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019AWS Summits
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Amazon Web Services
 
Why Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik RamasamyWhy Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik RamasamyStreamNative
 
Pulsar summit-keynote-final
Pulsar summit-keynote-finalPulsar summit-keynote-final
Pulsar summit-keynote-finalKarthik Ramasamy
 
The trial period is over - Microservices adoption gains momentum 
The trial period is over - Microservices adoption gains momentum The trial period is over - Microservices adoption gains momentum 
The trial period is over - Microservices adoption gains momentum Shahir Daya
 
Z api overview
Z api overviewZ api overview
Z api overviewbamadhu
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfAmazon Web Services
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019AWS Summits
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019Amazon Web Services
 
Serverless Patterns by Jesse Butler
Serverless Patterns by Jesse ButlerServerless Patterns by Jesse Butler
Serverless Patterns by Jesse ButlerOracle Developers
 
How data modelling helps serve billions of queries in millisecond latency wit...
How data modelling helps serve billions of queries in millisecond latency wit...How data modelling helps serve billions of queries in millisecond latency wit...
How data modelling helps serve billions of queries in millisecond latency wit...DataWorks Summit
 
FDUG October 2019 Virtual Launch Event Highlights
FDUG October 2019 Virtual Launch Event HighlightsFDUG October 2019 Virtual Launch Event Highlights
FDUG October 2019 Virtual Launch Event HighlightsJukka Niiranen
 
Faridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdfFaridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdfRohitSingh585124
 
BPM and Microservices: Opposites Attract?
BPM and Microservices: Opposites Attract?BPM and Microservices: Opposites Attract?
BPM and Microservices: Opposites Attract?Lykle Thijssen
 
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS SummitTwelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS SummitAmazon Web Services
 
Twelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS SummitTwelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS SummitAmazon Web Services
 
Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...
Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...
Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...confluent
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3Lari Hotari
 

Ähnlich wie Flowable Business Processing from Kafka Events (20)

Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experience
 
API's for innovative cloud and mobile apps
API's for innovative cloud and mobile appsAPI's for innovative cloud and mobile apps
API's for innovative cloud and mobile apps
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
 
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019
 
Why Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik RamasamyWhy Splunk Chose Pulsar_Karthik Ramasamy
Why Splunk Chose Pulsar_Karthik Ramasamy
 
Pulsar summit-keynote-final
Pulsar summit-keynote-finalPulsar summit-keynote-final
Pulsar summit-keynote-final
 
The trial period is over - Microservices adoption gains momentum 
The trial period is over - Microservices adoption gains momentum The trial period is over - Microservices adoption gains momentum 
The trial period is over - Microservices adoption gains momentum 
 
Z api overview
Z api overviewZ api overview
Z api overview
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdf
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019 Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
Let Your Business Logic go Serverless | AWS Summit Tel Aviv 2019
 
Serverless Patterns by Jesse Butler
Serverless Patterns by Jesse ButlerServerless Patterns by Jesse Butler
Serverless Patterns by Jesse Butler
 
How data modelling helps serve billions of queries in millisecond latency wit...
How data modelling helps serve billions of queries in millisecond latency wit...How data modelling helps serve billions of queries in millisecond latency wit...
How data modelling helps serve billions of queries in millisecond latency wit...
 
FDUG October 2019 Virtual Launch Event Highlights
FDUG October 2019 Virtual Launch Event HighlightsFDUG October 2019 Virtual Launch Event Highlights
FDUG October 2019 Virtual Launch Event Highlights
 
Faridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdfFaridabad MuleSoft Meetup Group (1).pdf
Faridabad MuleSoft Meetup Group (1).pdf
 
BPM and Microservices: Opposites Attract?
BPM and Microservices: Opposites Attract?BPM and Microservices: Opposites Attract?
BPM and Microservices: Opposites Attract?
 
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS SummitTwelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
 
Twelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS SummitTwelve-Factor serverless applications - MAD311 - Chicago AWS Summit
Twelve-Factor serverless applications - MAD311 - Chicago AWS Summit
 
Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...
Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...
Kafka Connect and KSQL: Useful Tools in Migrating from a Legacy System to Kaf...
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
 

Mehr von Flowable

Flowable on Kubenetes
Flowable on KubenetesFlowable on Kubenetes
Flowable on KubenetesFlowable
 
Creating a checklist engine with Flowable
Creating a checklist engine with FlowableCreating a checklist engine with Flowable
Creating a checklist engine with FlowableFlowable
 
How SAP uses Flowable as its BPMN engine for SAP CP Workflow
How SAP uses Flowable as its BPMN engine for SAP CP WorkflowHow SAP uses Flowable as its BPMN engine for SAP CP Workflow
How SAP uses Flowable as its BPMN engine for SAP CP WorkflowFlowable
 
FlowFest Welcome
FlowFest WelcomeFlowFest Welcome
FlowFest WelcomeFlowable
 
Using Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registryUsing Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registryFlowable
 
Low code with Flowable
Low code with FlowableLow code with Flowable
Low code with FlowableFlowable
 
Flowable 2019 What's New
Flowable 2019 What's NewFlowable 2019 What's New
Flowable 2019 What's NewFlowable
 
CMMN makes BPMN smarter and engaging
CMMN makes BPMN smarter and engagingCMMN makes BPMN smarter and engaging
CMMN makes BPMN smarter and engagingFlowable
 
BPMN and CMMN execution error analysis
BPMN and CMMN execution error analysisBPMN and CMMN execution error analysis
BPMN and CMMN execution error analysisFlowable
 
BpmNEXT2019 - The Case of Intentional Process
BpmNEXT2019 - The Case of Intentional ProcessBpmNEXT2019 - The Case of Intentional Process
BpmNEXT2019 - The Case of Intentional ProcessFlowable
 
Flowable: Life, death and all the other processes in between
Flowable: Life, death and all the other processes in betweenFlowable: Life, death and all the other processes in between
Flowable: Life, death and all the other processes in betweenFlowable
 
Flowable What´s coming next?
Flowable What´s coming next?Flowable What´s coming next?
Flowable What´s coming next?Flowable
 
Advanced process migration with Flowable
Advanced process migration with FlowableAdvanced process migration with Flowable
Advanced process migration with FlowableFlowable
 
Flowable: High wealth customer engagement through chat-driven case and process
Flowable: High wealth customer engagement through chat-driven case and processFlowable: High wealth customer engagement through chat-driven case and process
Flowable: High wealth customer engagement through chat-driven case and processFlowable
 
Flowable: Building a crowd sourced document extraction and verification system
Flowable: Building a crowd sourced document extraction and verification systemFlowable: Building a crowd sourced document extraction and verification system
Flowable: Building a crowd sourced document extraction and verification systemFlowable
 
Deploying Flowable at scale in AWS
Deploying Flowable at scale in AWSDeploying Flowable at scale in AWS
Deploying Flowable at scale in AWSFlowable
 
MongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with FlowableMongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with FlowableFlowable
 

Mehr von Flowable (17)

Flowable on Kubenetes
Flowable on KubenetesFlowable on Kubenetes
Flowable on Kubenetes
 
Creating a checklist engine with Flowable
Creating a checklist engine with FlowableCreating a checklist engine with Flowable
Creating a checklist engine with Flowable
 
How SAP uses Flowable as its BPMN engine for SAP CP Workflow
How SAP uses Flowable as its BPMN engine for SAP CP WorkflowHow SAP uses Flowable as its BPMN engine for SAP CP Workflow
How SAP uses Flowable as its BPMN engine for SAP CP Workflow
 
FlowFest Welcome
FlowFest WelcomeFlowFest Welcome
FlowFest Welcome
 
Using Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registryUsing Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registry
 
Low code with Flowable
Low code with FlowableLow code with Flowable
Low code with Flowable
 
Flowable 2019 What's New
Flowable 2019 What's NewFlowable 2019 What's New
Flowable 2019 What's New
 
CMMN makes BPMN smarter and engaging
CMMN makes BPMN smarter and engagingCMMN makes BPMN smarter and engaging
CMMN makes BPMN smarter and engaging
 
BPMN and CMMN execution error analysis
BPMN and CMMN execution error analysisBPMN and CMMN execution error analysis
BPMN and CMMN execution error analysis
 
BpmNEXT2019 - The Case of Intentional Process
BpmNEXT2019 - The Case of Intentional ProcessBpmNEXT2019 - The Case of Intentional Process
BpmNEXT2019 - The Case of Intentional Process
 
Flowable: Life, death and all the other processes in between
Flowable: Life, death and all the other processes in betweenFlowable: Life, death and all the other processes in between
Flowable: Life, death and all the other processes in between
 
Flowable What´s coming next?
Flowable What´s coming next?Flowable What´s coming next?
Flowable What´s coming next?
 
Advanced process migration with Flowable
Advanced process migration with FlowableAdvanced process migration with Flowable
Advanced process migration with Flowable
 
Flowable: High wealth customer engagement through chat-driven case and process
Flowable: High wealth customer engagement through chat-driven case and processFlowable: High wealth customer engagement through chat-driven case and process
Flowable: High wealth customer engagement through chat-driven case and process
 
Flowable: Building a crowd sourced document extraction and verification system
Flowable: Building a crowd sourced document extraction and verification systemFlowable: Building a crowd sourced document extraction and verification system
Flowable: Building a crowd sourced document extraction and verification system
 
Deploying Flowable at scale in AWS
Deploying Flowable at scale in AWSDeploying Flowable at scale in AWS
Deploying Flowable at scale in AWS
 
MongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with FlowableMongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with Flowable
 

Kürzlich hochgeladen

AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfSkillCertProExams
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...amilabibi1
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfMahamudul Hasan
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...David Celestin
 
Introduction to Artificial intelligence.
Introduction to Artificial intelligence.Introduction to Artificial intelligence.
Introduction to Artificial intelligence.thamaeteboho94
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityHung Le
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...ZurliaSoop
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIINhPhngng3
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lodhisaajjda
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoKayode Fayemi
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalFabian de Rijk
 
Zone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptxZone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptxlionnarsimharajumjf
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Baileyhlharris
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatmentnswingard
 

Kürzlich hochgeladen (17)

ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait Cityin kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
Introduction to Artificial intelligence.
Introduction to Artificial intelligence.Introduction to Artificial intelligence.
Introduction to Artificial intelligence.
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Zone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptxZone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptx
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 

Flowable Business Processing from Kafka Events

  • 1. Flowable Business Processing from Kafka Events Joram Barrez (@jbarrez) Tijs Rademakers (@tijsrademakers) 07-11-2019@jbarrez @tijsrademakers
  • 2. © 2019 Flowable AG. All rights reserved. • Principle Software Architect at Flowable • Flowable core dev • Ex-Co-founder of Activiti • Ex jBPM developer • VP of Engineering at Flowable • Flowable project lead • Ex Activiti project lead • Author of Manning Activiti in Action and Open Source ESBs in Action Short introduction 7 November 2019@jbarrez @tijsrademakers Joram Barrez Tijs Rademakers 2
  • 3. © 2019 Flowable AG. All rights reserved. Agenda & Goals • Explaining all that Flowable can do in 45 mins is … impossible • A taste of what is possible … and focus on our recent efforts: • Case management engine (CMMN) • Recent improved support for using Flowable in event-driven architectures • And hope to inspire you to look deeper! 7 November 2019@jbarrez @tijsrademakers 3
  • 4. © 2019 Flowable AG. All rights reserved. process instances per second 1Benchmark details: https://blog.flowable.org Speed, scalability and innovation • Fastest engines available1 • Lightweight Flowable Open Source Project 4 Native BPMN, CMMN and DMN engines • High performance, high scale • Years of real world use Long heritage of Open Source BPM • Origins since 2010 in Activiti and jBPM • Established 2016 by Alfresco co-founder and Activiti team Community is key • Credibility through engagement & contributions • Usage all over the world and in all kind of industries jBPM Flowable Activiti2010 2016 7 November 2019@jbarrez @tijsrademakers
  • 5. © 2019 Flowable AG. All rights reserved. OMG (Object Management Group) standards o BPMN (Business Process Model & Notation) 2.0 - 2011 o CMMN (Case Management Model & Notation) 1.1 - 2016 o DMN (Decision Model & Notation) 1.2 - 2019 Focused on visual representation XML definition for engine execution Flowable supports modeling and execution of BPMN, CMMN and DMN Open standards 7 November 2019@jbarrez @tijsrademakers 5
  • 6. © 2019 Flowable AG. All rights reserved. BPMNCMMN DMN 6 Open Standards
  • 7. © 2019 Flowable AG. All rights reserved. Model vs. Coding • The hardest part about our job is translating requirements • A picture says more than thousands words • A visual model is the common meeting ground 7 November 2019@jbarrez @tijsrademakers 7
  • 8. © 2019 Flowable AG. All rights reserved. Modeling centric • Visual representation of business requirements • Understood by analysts and devs • Orchestration logic not hidden in code 7 November 2019@jbarrez @tijsrademakers 8
  • 9. © 2019 Flowable AG. All rights reserved. Runtime state • Visual representation of runtime state • Current activities • Completed activities • State data (variables, identity links, event subscriptions) always available 7 November 2019@jbarrez @tijsrademakers 9
  • 10. © 2019 Flowable AG. All rights reserved. REST API BPMN Engine CMMN Engine DMN Engine Form Engine Content Engine 10 Persistence Service Job Service Variable Service Task Service Identity ServiceEngine specific services Confidential Flowable Modeler Flowable Task Flowable Open Source Architecture Flowable Admin Flowable IDM
  • 11. © 2019 Flowable AG. All rights reserved. Rich REST API • REST API for all engines (BPMN, CMMN, DMN etc) • On par with Java API • Easy to built UIs against the REST API 7 November 2019@jbarrez @tijsrademakers 11
  • 12. © 2019 Flowable AG. All rights reserved. Flowable Spring Boot support • Lots of starter modules • Auto deployment of process, case, decision resources • Creation and injection of all engines and services 7 November 2019@jbarrez @tijsrademakers 12 <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>6.4.2</version> </dependency>
  • 13. © 2019 Flowable AG. All rights reserved. BPMN in a Nutshell 7 November 2019@jbarrez @tijsrademakers 13
  • 14. © 2019 Flowable AG. All rights reserved. CMMN in a Nutshell 7 November 2019@jbarrez @tijsrademakers 14 Human task Plan model Stage User event listener Exit sentry Entry sentry Process task
  • 15. © 2019 Flowable AG. All rights reserved. Event-Driven Architectures • In the Flowable community, we have seen • People experimenting with event-driven/event-sourcing architectures (or more often architectures enriched with events) • Demand for out-of-the-box 7 November 2019@jbarrez @tijsrademakers 15
  • 16. © 2019 Flowable AG. All rights reserved. Event-Driven Architectures • A process/case fits naturally • Can be the ‘Command’ of an event (e.g. the C in CQRS) • Have state to react properly on the change expressed in the event (state is often the hard part of event-sourcing) 7 November 2019@jbarrez @tijsrademakers 16
  • 17. © 2019 Flowable AG. All rights reserved. Quick Demo 7 November 2019@jbarrez @tijsrademakers 17
  • 18. © 2019 Flowable AG. All rights reserved. Implementation – The event registry 7 November 2019@jbarrez @tijsrademakers 18 Flowable Engine EventRegistry EventBus EventDefinitionEventDefinitionEventDefinition Consumers Central repository of event metadata Dispatches events to consumers (default process/case behaviors are also a consumer) Description of event structure: - Payload - Correlation
  • 19. © 2019 Flowable AG. All rights reserved. Implementation – Channels and Pipelines 7 November 2019@jbarrez @tijsrademakers 19 Flowable Engine EventRegistry EventBus Channel Adapter Event Consumer Inbound Channel Inbound Pipeline Deserialization Event key detection * All shown here on the slide are pluggable Payload extraction Event transformatio n
  • 20. © 2019 Flowable AG. All rights reserved. Implementation – Channels and Pipelines 7 November 2019@jbarrez @tijsrademakers 20 Flowable Engine EventRegistry EventBus Channel Adapter Event Producer Outbound Chann el Outbound Pipelin e Serialization Event transformatio n
  • 22. © 2019 Flowable AG. All rights reserved. • Fictional electrical kick-scooter startup • Customer satisfaction is priority #1 Use Case 7 November 2019@jbarrez @tijsrademakers 22
  • 23. © 2019 Flowable AG. All rights reserved. • Customer can provide a review • Review  Kafka • A customer case • Groups all reviews • Kicks of a sentiment analysis process • Analysis is done using a process that calls out to AWS Comprehend • Bad review  A task for an employee is created to try to fix the relationship Use Case 7 November 2019@jbarrez @tijsrademakers 23
  • 24. © 2019 Flowable AG. All rights reserved. Architecture 7 November 2019@jbarrez @tijsrademakers 24 * (5th service (Spring Cloud API gateway) not shown to simplify things) UI for customers Review Service Customer Relationship Service Flowable Task Sentiment Analysis service UI for employees AWS Comprehend Review Event Review Event Analysis Result Analysis Result Analysis Request Analysis Request
  • 25. © 2019 Flowable AG. All rights reserved. Demo: The models explained 7 November 2019@jbarrez @tijsrademakers 25
  • 26. © 2019 Flowable AG. All rights reserved. Demo • Simulating reviews • Stepping through a bad user review 7 November 2019@jbarrez @tijsrademakers 26
  • 27. © 2019 Flowable AG. All rights reserved. Demo: Review Service • Simple Spring Webflux REST API • Reactive pushing of events from UI into Kafka 7 November 2019@jbarrez @tijsrademakers 27
  • 28. © 2019 Flowable AG. All rights reserved. Demo: Customer Case Service • Spring Boot application • Flowable Spring Boot starters • Autodeploy cases and process models • Register event channels and definitions • Postgres DB 7 November 2019@jbarrez @tijsrademakers 28
  • 29. © 2019 Flowable AG. All rights reserved. Demo: Customer Case Service • The sentiment process uses a triggerable service task • Send-and-wait-for-response pattern • Race condition problem 7 November 2019@jbarrez @tijsrademakers 29
  • 30. © 2019 Flowable AG. All rights reserved. Demo: Customer Case Service • The sentiment process uses a triggerable service task 7 November 2019@jbarrez @tijsrademakers 30 • During execution (tx1) • Create event subscription • Create async job data (to send event) • Post-commit (tx2) • Trigger job executor (or other node) • Send event asynchronously • Go into wait state • Event receival (tx3) • Trigger for continuation
  • 31. © 2019 Flowable AG. All rights reserved. Demo: Customer Case Service • Can this also be made reactive? • Yes! • Nicely scaling of message stream handling depending on load • (insertion of async Flowable job at event receival using R2DBC) 7 November 2019@jbarrez @tijsrademakers 31
  • 32. © 2019 Flowable AG. All rights reserved. Demo: The Sentiment Analysis Service • Spring Boot application • Flowable Spring Boot starters • Autodeploy process model • Uses AWS SDK to call out to AWS Comprehend 7 November 2019@jbarrez @tijsrademakers 32
  • 33. © 2019 Flowable AG. All rights reserved. Demo: The Sentiment Analysis Service • This service is effectively a function • Can be run serverless • Only boot up when an event is received • Only pay for effective usage • With all the benefits of using Flowable • Visual models, audit/history, etc. 7 November 2019@jbarrez @tijsrademakers 33
  • 34. © 2019 Flowable AG. All rights reserved. Demo: The Sentiment Analysis Service • This service is effectively a function • Can e.g. be run as a serverless lambda on AWS, see https://blog.flowable.org/2019/01/29/flowable-engine-as-a- serverless-function/ • Flowable + Spring Cloud AWS • Flowable + Spring Fu + GraalVM • Flowable + Micronaut + GraalVM (13 ms bootup) 7 November 2019@jbarrez @tijsrademakers 34
  • 35. © 2019 Flowable AG. All rights reserved. Demo: Flowable Task • Bad review  employee form 7 November 2019@jbarrez @tijsrademakers 35
  • 36. © 2019 Flowable AG. All rights reserved. Conclusions • Flowable is a light-weight yet versatile open-source framework for managing and executing processes/cases/business rules • We’ve shown that using Flowable in event-driven architectures is easy and powerful • Today we’ve focused primarily on the event side of things, but there’s plenty of more to discover! • http://www.flowable.org 7 November 2019@jbarrez @tijsrademakers 36

Hinweis der Redaktion

  1. Picture from https://pixabay.com/users/mohamed_hassan-5229782/
  2. Picture from https://pixabay.com/users/mohamed_hassan-5229782/