SlideShare a Scribd company logo
1 of 24
Download to read offline
Associate Lead Solutions Engineer, WSO2
Building Reactive Applications Using
Event-driven Architecture
Chathura Kulasinghe
Reactiveness is a design of the Nature
- Event & the change of State
- triggers the Reaction
- based on the State (data)
- different parties
- execute different activities
- in different flows
- Event-source doesn’t care
View-model »
{ code }
{ trim }
{ engine }
{ transmission }
{ suspension }
{ exterior_color }
{ auction_price }
Used commonly in UI/UX designing
View-model »
{ code }
{ trim }
{ engine }
{ transmission }
{ suspension }
{ exterior_color }
{ auction_price }
Events streams » State change » Reactions
events change of
State
Reactions
Reactions
Qualities of
Reactive Systems
1. Responsive (The Objective)
○ what clients experience
2. Scalable (The Design)
○ manageable in larger capacities
3. Resilient (The Design)
○ designed for failure
○ self-healing/recovery
4. Message-driven (The foundation)
○ asynchronous processing
○ parallel execution
Why?
1. Highly-coupled nature
2. Response times
3. Distributed nature
of application components.
Reactive applications
● Message-driven —react to change of State.
● Enterprise solutions can benefit by adopting this concept.
● Especially,
○ in a distributed deployment
○ of hundreds of Smart Network Endpoints.
● Because,
○ a single change of state (in reaction) can Trigger
○ many independent sequences of following actions.
Applications as Smart Network Endpoints
● Communication
○ between/among independent systems
○ which see each other as Black Boxes through the network
● Require
○ a universal communication mechanism
○ i.e. HTTP API invocation, messaging, streaming
● Treating
○ each other as Smart (network) Endpoints
○ within the programme code
Event Driven
Architecture
- Event Notification
- Event-carried State Transfer
- Event-Sourcing
- CQRS
Command Query Responsibility
Segregation
Sources (by Martin Fowler):
https://martinfowler.com/articles/201701-event-driven.html
https://www.youtube.com/watch?v=STKCRSUsyP0
https://bit.ly/2kF9hgZ
https://bit.ly/2fluUVm
Command-driven — Imperative
Online
Banking App
Applying for
an Overdraught
Credit
Profiling
System
Re-evaluate
Credit-profile
Core
Banking
System
Create an
Overdraught
Online Banking App
is aware of the
existence of all other
related systems.
controls what needs
to happen in all other
related systems.
Has knowledge of
the overall behaviour
Tenant of
22B Wales Street
Event Notification
Online
Banking App
Applying for
an Overdraught
Tenant of
22B Wales Street
Credit
Profiling
System
Core
Banking
System
Online Banking App
Doesn’t need to be
aware of the existence
of any other related
systems.
Doesn’t need to
control what should
happen in any other
related systems.
Has no knowledge of
the overall behaviour
Event-notification »
Overdraught Requested
Event Notification — retrieving data
Online
Banking App
Applying for
A Car Loan
Tenant of
22B Wales Street
Credit
Profiling
System
Core
Banking
System
Other Systems
Listen the events
channel.
Trigger actions or
activity flows upon the
appearance of an
event.
Make secondary calls
to the Query/Fetch
details from Online
Banking App - Data
sources.Core Banking System »
Request/Fetch details of the
requested Car-Loan
Event-notification »
Overdraught Requested
Event-carried State Transfer
Online
Banking App
Applying for
an Overdraught
Tenant of
22B Wales Street
Credit
Profiling
System
Core
Banking
System
Other Systems
Listen the events
channel.
Trigger actions or
activity flows upon the
appearance of an
event
Locally Persist State
carried by the Event.
Event + State Object »
Overdraught Requested + Details
Other Systems »
Persist the valuable details of
the requested Overdraught
for later usage
Event-Sourcing
Online
Banking App
Applying for
a Overdraught
Tenant of
22B Wales Street
events log »
- get credit-profile
- create overdraught
- post for approval
- get approval decision
- email decision
- update credit-profile
Event-Sourcing
Online
Banking App
Applying for
a Overdraught
Tenant of
22B Wales Street
events log »
- get credit-profile
- create overdraught
- post for approval
- get approval decision
- email decision
- update credit-profile
application state »
- credit-profile information
- overdraught details
- approval decision ⥳
- email template
- updated credit-profile data
- updated accounts information ⥳
n
Reference
Application 𝝰
Application 𝝱
Application 𝝲
Application 𝝳
event producer
event consumer
event producer
event producer
event consumer
event consumer
event stream producer
event streams consumer
APIGateway
n
n
n
n
n
n
Function as a
Service
n
Technologies
Application 𝝰
Application 𝝱
Application 𝝲
Application 𝝳
event producer
event consumer
event producer
event producer
event consumer
event consumer
event stream producer
event streams consumer
APIGateway
n
n
n
n
n
n
Reactive
Applications
Reference
● The applications 𝝳, 𝝲 and 𝝱 are
○ Subscribers
○ function-as-a-service modules
○ triggered by events consumption
● Event with State is a Message
○ message-driven nature is the
foundation of Reactive applications
● Serverless architecture makes it
○ Highly-scalable
○ Resilient
● Overall experience is Responsive
○ Responds to change-of-state
○ Responds to load
○ Responds to error
is a language built to compliment
- cloud-native
- serverless
- integration-focussed
application designs, which provides
native support for
- common messaging-data-formats
- stream-processing and
- pub-sub implementation
A choice
which you can live
with...
Broker-client
Stream-processing
Siddhi QL
(Steaming SQL)
Deployment
is simplified
(Resilient & Scalable)
THANK YOU
wso2.com

More Related Content

What's hot

[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways AnywhereWSO2
 
[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration Teams[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration TeamsWSO2
 
Stream Processing in Action
Stream Processing in ActionStream Processing in Action
Stream Processing in ActionWSO2
 
Addressing Security Concerns with WSO2 Governance Registry Policy Store
Addressing Security Concerns with WSO2 Governance Registry Policy StoreAddressing Security Concerns with WSO2 Governance Registry Policy Store
Addressing Security Concerns with WSO2 Governance Registry Policy StoreWSO2
 
[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" Mindset
[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" Mindset[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" Mindset
[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" MindsetWSO2
 
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...Sabino Labarile
 
WSO2 Product Release Webinar - Whats new in the WSO2 API Manager
WSO2 Product Release Webinar - Whats new in the WSO2 API ManagerWSO2 Product Release Webinar - Whats new in the WSO2 API Manager
WSO2 Product Release Webinar - Whats new in the WSO2 API ManagerWSO2
 
Wso2 api microgateway deployment patterns
Wso2 api microgateway deployment patternsWso2 api microgateway deployment patterns
Wso2 api microgateway deployment patternsChanaka Fernando
 
[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API Management[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API ManagementWSO2
 
WSO2 API microgateway introduction
WSO2 API microgateway introductionWSO2 API microgateway introduction
WSO2 API microgateway introductionChanaka Fernando
 
Benefits of a Multi Regional API Management Solution for a Global Enterprise
Benefits of a Multi Regional API Management Solution for a Global EnterpriseBenefits of a Multi Regional API Management Solution for a Global Enterprise
Benefits of a Multi Regional API Management Solution for a Global EnterpriseWSO2
 
Api centric enterprises
Api centric enterprisesApi centric enterprises
Api centric enterprisesWSO2
 
ScaleFast Grid And Flow
ScaleFast Grid And FlowScaleFast Grid And Flow
ScaleFast Grid And FlowDevelops Ltd
 
[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...
[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...
[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...WSO2
 
WSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2
 
Hybrid integration platform reference architecture
Hybrid integration platform reference architectureHybrid integration platform reference architecture
Hybrid integration platform reference architectureChanaka Fernando
 
Rxt demo-part3
Rxt demo-part3Rxt demo-part3
Rxt demo-part3WSO2
 
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2WSO2
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosWSO2
 

What's hot (20)

[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
 
[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration Teams[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration Teams
 
Stream Processing in Action
Stream Processing in ActionStream Processing in Action
Stream Processing in Action
 
Addressing Security Concerns with WSO2 Governance Registry Policy Store
Addressing Security Concerns with WSO2 Governance Registry Policy StoreAddressing Security Concerns with WSO2 Governance Registry Policy Store
Addressing Security Concerns with WSO2 Governance Registry Policy Store
 
[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" Mindset
[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" Mindset[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" Mindset
[WSO2Con EU 2018] Simplifying Digital Transformation with an "API Aware" Mindset
 
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
 
E suap - INISTA 2014
E suap - INISTA 2014E suap - INISTA 2014
E suap - INISTA 2014
 
WSO2 Product Release Webinar - Whats new in the WSO2 API Manager
WSO2 Product Release Webinar - Whats new in the WSO2 API ManagerWSO2 Product Release Webinar - Whats new in the WSO2 API Manager
WSO2 Product Release Webinar - Whats new in the WSO2 API Manager
 
Wso2 api microgateway deployment patterns
Wso2 api microgateway deployment patternsWso2 api microgateway deployment patterns
Wso2 api microgateway deployment patterns
 
[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API Management[WSO2Con EU 2017] Cloud-Native API Management
[WSO2Con EU 2017] Cloud-Native API Management
 
WSO2 API microgateway introduction
WSO2 API microgateway introductionWSO2 API microgateway introduction
WSO2 API microgateway introduction
 
Benefits of a Multi Regional API Management Solution for a Global Enterprise
Benefits of a Multi Regional API Management Solution for a Global EnterpriseBenefits of a Multi Regional API Management Solution for a Global Enterprise
Benefits of a Multi Regional API Management Solution for a Global Enterprise
 
Api centric enterprises
Api centric enterprisesApi centric enterprises
Api centric enterprises
 
ScaleFast Grid And Flow
ScaleFast Grid And FlowScaleFast Grid And Flow
ScaleFast Grid And Flow
 
[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...
[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...
[WSO2Con EU 2018] How WSO2 Helps Proximus Achieve Their IT Transformation Amb...
 
WSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment Patterns
 
Hybrid integration platform reference architecture
Hybrid integration platform reference architectureHybrid integration platform reference architecture
Hybrid integration platform reference architecture
 
Rxt demo-part3
Rxt demo-part3Rxt demo-part3
Rxt demo-part3
 
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
WSO2Con USA 2017: WSO2 Partner Program – Engaging with WSO2
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
 

Similar to [WSO2Con EU 2018] Building Reactive Applications Using Event Driven Architecture

The Significant role of event driven apps in software development
The Significant role of event driven apps in software development					The Significant role of event driven apps in software development
The Significant role of event driven apps in software development Shelly Megan
 
Understanding Business APIs through statistics
Understanding Business APIs through statisticsUnderstanding Business APIs through statistics
Understanding Business APIs through statisticsWSO2
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02sumitahuja94
 
apidays LIVE Australia - Events are Cool Again! by Nelson Petracek
apidays LIVE Australia -  Events are Cool Again! by Nelson Petracekapidays LIVE Australia -  Events are Cool Again! by Nelson Petracek
apidays LIVE Australia - Events are Cool Again! by Nelson Petracekapidays
 
What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)AppDynamics
 
Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...
Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...
Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...apidays
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaGuido Schmutz
 
Data reply sneak peek: real time decision engines
Data reply sneak peek:  real time decision enginesData reply sneak peek:  real time decision engines
Data reply sneak peek: real time decision enginesconfluent
 
Increasing agility with php and kafka
Increasing agility with php and kafkaIncreasing agility with php and kafka
Increasing agility with php and kafkaMike Bywater
 
Open stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareOpen stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareSumit Naiksatam
 
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPicos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPhil Windley
 
ICWA BPM Ark Conference Presentation October 2009
ICWA BPM Ark Conference Presentation October 2009ICWA BPM Ark Conference Presentation October 2009
ICWA BPM Ark Conference Presentation October 2009SAS
 
UC SDN AG Review
UC SDN AG ReviewUC SDN AG Review
UC SDN AG ReviewIMTC
 
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptxJBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptxGrace Jansen
 
Advance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRSAdvance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRSMohit Mittal
 
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPCRestate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPCHostedbyConfluent
 
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022Grace Jansen
 
JCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptxJCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptxGrace Jansen
 
#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & Demo
#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & Demo#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & Demo
#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & DemoRavi Padmanavar
 

Similar to [WSO2Con EU 2018] Building Reactive Applications Using Event Driven Architecture (20)

The Significant role of event driven apps in software development
The Significant role of event driven apps in software development					The Significant role of event driven apps in software development
The Significant role of event driven apps in software development
 
Understanding Business APIs through statistics
Understanding Business APIs through statisticsUnderstanding Business APIs through statistics
Understanding Business APIs through statistics
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02
 
Project falcon1
Project falcon1Project falcon1
Project falcon1
 
apidays LIVE Australia - Events are Cool Again! by Nelson Petracek
apidays LIVE Australia -  Events are Cool Again! by Nelson Petracekapidays LIVE Australia -  Events are Cool Again! by Nelson Petracek
apidays LIVE Australia - Events are Cool Again! by Nelson Petracek
 
What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)
 
Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...
Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...
Apidays Paris 2023 - Kafka in Event-Driven Architectures, Hassane Moustapha, ...
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache Kafka
 
Data reply sneak peek: real time decision engines
Data reply sneak peek:  real time decision enginesData reply sneak peek:  real time decision engines
Data reply sneak peek: real time decision engines
 
Increasing agility with php and kafka
Increasing agility with php and kafkaIncreasing agility with php and kafka
Increasing agility with php and kafka
 
Open stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareOpen stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshare
 
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPicos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
 
ICWA BPM Ark Conference Presentation October 2009
ICWA BPM Ark Conference Presentation October 2009ICWA BPM Ark Conference Presentation October 2009
ICWA BPM Ark Conference Presentation October 2009
 
UC SDN AG Review
UC SDN AG ReviewUC SDN AG Review
UC SDN AG Review
 
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptxJBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
 
Advance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRSAdvance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRS
 
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPCRestate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPC
 
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
 
JCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptxJCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptx
 
#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & Demo
#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & Demo#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & Demo
#2 Finance MuleSoft Meetup - SWIFT GPI Use Case & Demo
 

More from WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

More from WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

[WSO2Con EU 2018] Building Reactive Applications Using Event Driven Architecture

  • 1. Associate Lead Solutions Engineer, WSO2 Building Reactive Applications Using Event-driven Architecture Chathura Kulasinghe
  • 2. Reactiveness is a design of the Nature - Event & the change of State - triggers the Reaction - based on the State (data) - different parties - execute different activities - in different flows - Event-source doesn’t care
  • 3. View-model » { code } { trim } { engine } { transmission } { suspension } { exterior_color } { auction_price } Used commonly in UI/UX designing
  • 4. View-model » { code } { trim } { engine } { transmission } { suspension } { exterior_color } { auction_price } Events streams » State change » Reactions events change of State Reactions Reactions
  • 5. Qualities of Reactive Systems 1. Responsive (The Objective) ○ what clients experience 2. Scalable (The Design) ○ manageable in larger capacities 3. Resilient (The Design) ○ designed for failure ○ self-healing/recovery 4. Message-driven (The foundation) ○ asynchronous processing ○ parallel execution
  • 6. Why? 1. Highly-coupled nature 2. Response times 3. Distributed nature of application components.
  • 7. Reactive applications ● Message-driven —react to change of State. ● Enterprise solutions can benefit by adopting this concept. ● Especially, ○ in a distributed deployment ○ of hundreds of Smart Network Endpoints. ● Because, ○ a single change of state (in reaction) can Trigger ○ many independent sequences of following actions.
  • 8. Applications as Smart Network Endpoints ● Communication ○ between/among independent systems ○ which see each other as Black Boxes through the network ● Require ○ a universal communication mechanism ○ i.e. HTTP API invocation, messaging, streaming ● Treating ○ each other as Smart (network) Endpoints ○ within the programme code
  • 9. Event Driven Architecture - Event Notification - Event-carried State Transfer - Event-Sourcing - CQRS Command Query Responsibility Segregation Sources (by Martin Fowler): https://martinfowler.com/articles/201701-event-driven.html https://www.youtube.com/watch?v=STKCRSUsyP0 https://bit.ly/2kF9hgZ https://bit.ly/2fluUVm
  • 10. Command-driven — Imperative Online Banking App Applying for an Overdraught Credit Profiling System Re-evaluate Credit-profile Core Banking System Create an Overdraught Online Banking App is aware of the existence of all other related systems. controls what needs to happen in all other related systems. Has knowledge of the overall behaviour Tenant of 22B Wales Street
  • 11. Event Notification Online Banking App Applying for an Overdraught Tenant of 22B Wales Street Credit Profiling System Core Banking System Online Banking App Doesn’t need to be aware of the existence of any other related systems. Doesn’t need to control what should happen in any other related systems. Has no knowledge of the overall behaviour Event-notification » Overdraught Requested
  • 12. Event Notification — retrieving data Online Banking App Applying for A Car Loan Tenant of 22B Wales Street Credit Profiling System Core Banking System Other Systems Listen the events channel. Trigger actions or activity flows upon the appearance of an event. Make secondary calls to the Query/Fetch details from Online Banking App - Data sources.Core Banking System » Request/Fetch details of the requested Car-Loan Event-notification » Overdraught Requested
  • 13. Event-carried State Transfer Online Banking App Applying for an Overdraught Tenant of 22B Wales Street Credit Profiling System Core Banking System Other Systems Listen the events channel. Trigger actions or activity flows upon the appearance of an event Locally Persist State carried by the Event. Event + State Object » Overdraught Requested + Details Other Systems » Persist the valuable details of the requested Overdraught for later usage
  • 14. Event-Sourcing Online Banking App Applying for a Overdraught Tenant of 22B Wales Street events log » - get credit-profile - create overdraught - post for approval - get approval decision - email decision - update credit-profile
  • 15. Event-Sourcing Online Banking App Applying for a Overdraught Tenant of 22B Wales Street events log » - get credit-profile - create overdraught - post for approval - get approval decision - email decision - update credit-profile application state » - credit-profile information - overdraught details - approval decision ⥳ - email template - updated credit-profile data - updated accounts information ⥳
  • 16. n Reference Application 𝝰 Application 𝝱 Application 𝝲 Application 𝝳 event producer event consumer event producer event producer event consumer event consumer event stream producer event streams consumer APIGateway n n n n n n Function as a Service
  • 17. n Technologies Application 𝝰 Application 𝝱 Application 𝝲 Application 𝝳 event producer event consumer event producer event producer event consumer event consumer event stream producer event streams consumer APIGateway n n n n n n
  • 18. Reactive Applications Reference ● The applications 𝝳, 𝝲 and 𝝱 are ○ Subscribers ○ function-as-a-service modules ○ triggered by events consumption ● Event with State is a Message ○ message-driven nature is the foundation of Reactive applications ● Serverless architecture makes it ○ Highly-scalable ○ Resilient ● Overall experience is Responsive ○ Responds to change-of-state ○ Responds to load ○ Responds to error
  • 19. is a language built to compliment - cloud-native - serverless - integration-focussed application designs, which provides native support for - common messaging-data-formats - stream-processing and - pub-sub implementation A choice which you can live with...