SlideShare uma empresa Scribd logo
1 de 29
SOA Pattern:
Asynchronous Queuing
Senaka Fernando
Dinesh Lakmal
Kodithuwakku
About the Presenter(s)
Senaka Fernando
Architect- Solutions Architecture, WSO2
Senaka is a Solutions Architect at WSO2. Before moving to the Solutions Architecture team, Senaka focused on the
WSO2 Governance Registry and WSO2 Cloud Services Gateway. In addition to his product R&D efforts, he has
provided technology consulting on customer engagements, helping to successfully implement governance,
enterprise application integration, SAP integration, and on-premise portal solutions. He also founded the WSO2
Web Services Framework/C++ during his internship with WSO2 in 2008.
Dinesh Lakmal Kodithuwakku
Solutions Engineer - Solutions Architecture, WSO2
Lakmal is a Solutions Engineer at WSO2. He has five years of hands-on experience with mobile computing
technologies. His expertise spans analyzing, implementing and testing software solutions for mobile computing
platforms as well as carrying out research and identifying technologies and methodologies to determine the
optimum solutions for project tasks when required.
*
*
About WSO2
๏ Global enterprise, founded in
2005 by acknowledged leaders in
XML, web services technologies,
standards and open source
๏ Provides only open source
platform-as-a-service for private,
public and hybrid cloud
deployments
๏ All WSO2 products are 100% open
source and released under the
Apache License Version 2.0.
๏ Is an Active Member of OASIS,
Cloud Security Alliance, OSGi
Alliance, AMQP Working Group,
OpenID Foundation and W3C.
๏ Driven by Innovation
๏ Launched first open source API
Management solution in 2012
๏ Launched App Factory in 2Q 2013
๏ Launched Enterprise Store and
first open source Mobile solution
in 4Q 2013
*
What WSO2 delivers
*
Business Model
One of the biggest pains
● Services might require consumers to interact with them
asynchronously
● This can inhibit performance and compromise reliability
by locking it’s resources
● Services and their consumers run into isolated failures in
this very disconnected setting
*
How to overcome this?
● Services can exchange messages with consumers via
intermediary buffers (or brokers)
● Buffers allow services and consumers to process
messages independently
● Both service and consumer gets the freedom to process
messages and report failures without depending on each
other
*
Why Messaging?
● Enhanced reliability
○ e.g: via Persistence, Transactions
● Decoupling
○ Space
○ Time
○ Synchronization
*
Basic Messaging Model
● Messaging is implemented with a broker
● Participants send messages and broker delivers them to
recipients
● Two main models
○ Point-to-Point - Messages are delivered only once and
held on a queue from which a consumer picks one at a
time
○ Publish/Subscribe - Messages are broadcasted to
many consumers at once
*
Queues
● Ability to store a message in a temporary storage is a
fundamental requirement in enterprise integration (but
some may require more durable models)
● Point to Point model: Queue is a destination that
contains messages sent from a producer that awaits
delivery to a designated consumer
● Messages are delivered in-order
● Guarantees that each message is processed only once
*
Queues...cont
● A message is removed from the queue once it has been
received by the consumer
● May provide additional features
○ Persistence
○ Monitoring
*
Sender
Queue
Receiver
Receiver
Receiver
Receiver
Topics
● Pub/Sub model
● Multiple consumers subscribe for messages
○ Topics are used to send messages to one or more
consumers
● No guarantee that, messages are delivered in sent order
● No guarantee that, each message is processed only once
*
Topics...cont
● Producers publish messages to topics and each
consumer subscribed to the topic receives a copy of the
message
*
Sender
Receiver
Receiver
Receiver
Receiver
Topic
Durable Topics
● Broker collects messages while subscriber is offline
● Broker distributes messages to all interested parties
● Each subscriber has its own internal queue until it
unsubscribe
*
Durable Topics
● Best of both worlds?
● Or additional complexities?
*
What WSO2 Product(s) to use?
● WSO2 Message Broker (MB)
○ Implements and supports JMS API using AMQP
○ JMS (Java Message Service)
■ A Standard Java API for programmers to handle
messaging by interacting with a message broker
○ AMQP (Advanced Message Queuing Protocol)
■ Open Standard for passing business messages
between applications or organizations
*
What WSO2 Product(s) to use?
● WSO2 Message Broker (MB)
○ Will support MQTT from end of 2014 (ETA)
■ Implementation is already completed and has been
demonstrated at some conferences
○ MQTT (Message Queuing Telemetry Transport)
■ A lightweight pub/sub protocol implemented on
top of TCP/IP to facilitate machine-to-machine
(M2M) and Internet-of-Things (IoT) integrations
*
What WSO2 Product(s) to use?
*
How WSO2 MB is different?
● Scalability - WSO2 MB can be clustered to
handle complex business requirements
● Uses Apache Cassandra as the storage for
persistent messages
● Supports distributed queuing
*
How WSO2 MB is different?
● Can easily handle large message transfers
● Highly available and fault tolerant
● High interoperability via AMQP clients:
■ Java
■ C
■ C++
■ .Net
■ many more*
UC 1: Rate Limiting
● Some services only process messages at a specific rate
● Clients may send messages at an arbitrary rate
● Provides a virtualized service interface that stores all
messages in a queue
○ Services can consume messages from the queue at
their own pace
○ Or the broker can forward the stored messages to the
actual service at a controlled rate
*
Pattern: Store & Forward
*
Proxy Service
Message Store
Message Sender Service
Client request
(Variable rate)
Store
Fetch
Forward
(Fixed rate)
UC 2: Guaranteed Delivery
● Sometimes we need to ensure that all requests are
received and processed by the back-end systems
● All requests can be stored in a persistent message queue
○ Back-end systems consume these messages
whenever they are able to
● Or use a persistent queue as the dead letter channel
*
Pattern: Dead Letter Channel
*
Proxy Service
Message Store
Service
Client request
2. Store on Error
ERROR
1. Send
3. Retry
UC 3: Separation of Concerns
● Sometimes messages should be processed through
expensive audit/logging routines
● To avoid high response times, messages can be cloned
and stored in a queue
● Audit/logging systems consume the messages off the
queues
*
Pattern: Separation of Concerns
*
Proxy Service
Message Store
Service
Client request
Store copy of message
Audit System
UC 4: Translation
● Sometimes the client and service speak different
protocols
● Input and Outputs don’t tally with each other in terms of
format or one of several aspects such as rate
● A Message Bus controls and reshapes the
communication between the client and service
*
Pattern: Message Bus
*
Contact us !

Mais conteúdo relacionado

Mais procurados

Deployment Patterns in WSO2 Enterprise Integrator
Deployment Patterns in WSO2 Enterprise IntegratorDeployment Patterns in WSO2 Enterprise Integrator
Deployment Patterns in WSO2 Enterprise IntegratorWSO2
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorWSO2
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration Kasun Indrasiri
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Kasun Indrasiri
 
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...WSO2
 
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceSj Lim
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-oldF K
 
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorHow to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorWSO2
 
Observability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise IntegratorObservability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise IntegratorWSO2
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESBWSO2
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorWSO2
 
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2
 
WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2
 
Understanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differencesUnderstanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differencesBhavendra Chavan
 
Chris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting Refresh
Chris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting RefreshChris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting Refresh
Chris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting RefreshChris Phillips
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in ActionWSO2
 

Mais procurados (20)

Deployment Patterns in WSO2 Enterprise Integrator
Deployment Patterns in WSO2 Enterprise IntegratorDeployment Patterns in WSO2 Enterprise Integrator
Deployment Patterns in WSO2 Enterprise Integrator
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
 
Soap Vs Rest
Soap Vs RestSoap Vs Rest
Soap Vs Rest
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0
 
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
Developing, Debugging and Administrating Your Integration Scenarios with WSO2...
 
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) Service
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorHow to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
 
Observability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise IntegratorObservability for Integration Using WSO2 Enterprise Integrator
Observability for Integration Using WSO2 Enterprise Integrator
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESB
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
 
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
 
WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101
 
Understanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differencesUnderstanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differences
 
Chris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting Refresh
Chris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting RefreshChris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting Refresh
Chris Phillips SCIM Mace-Dir Internet2 Fall Member Meeting Refresh
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in Action
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 

Semelhante a SOA Pattern-Asynchronous Queuing

Ranker jms implementation
Ranker jms implementationRanker jms implementation
Ranker jms implementationEosSoftware
 
Introducing MQ Light - IBM Interconnect 2015 session AME4181
Introducing MQ Light - IBM Interconnect 2015 session AME4181Introducing MQ Light - IBM Interconnect 2015 session AME4181
Introducing MQ Light - IBM Interconnect 2015 session AME4181Robert Nicholson
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBRavindra Ranwala
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBWSO2
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices ArchitectureParia Heidari
 
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...Peter Broadhurst
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices PatternsDimosthenis Botsaris
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patternsarconsis
 
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2
 
Are you weak in the middle?
Are you weak in the middle?Are you weak in the middle?
Are you weak in the middle?FSCONS
 
Designing microservices platforms with nats
Designing microservices platforms with natsDesigning microservices platforms with nats
Designing microservices platforms with natsChanaka Fernando
 
Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Al Sargent
 
Mq light, mq, and bluemix web sphere user group july 2015
Mq light, mq, and bluemix   web sphere user group july 2015Mq light, mq, and bluemix   web sphere user group july 2015
Mq light, mq, and bluemix web sphere user group july 2015matthew1001
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservicesRon Barabash
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2
 
API Days Australia
API Days AustraliaAPI Days Australia
API Days Australiaconfluent
 
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...apidays
 

Semelhante a SOA Pattern-Asynchronous Queuing (20)

Ranker jms implementation
Ranker jms implementationRanker jms implementation
Ranker jms implementation
 
Introducing MQ Light - IBM Interconnect 2015 session AME4181
Introducing MQ Light - IBM Interconnect 2015 session AME4181Introducing MQ Light - IBM Interconnect 2015 session AME4181
Introducing MQ Light - IBM Interconnect 2015 session AME4181
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
 
MQTT Introduction
MQTT IntroductionMQTT Introduction
MQTT Introduction
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
Mqtt
MqttMqtt
Mqtt
 
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patterns
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patterns
 
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
 
Are you weak in the middle?
Are you weak in the middle?Are you weak in the middle?
Are you weak in the middle?
 
Designing microservices platforms with nats
Designing microservices platforms with natsDesigning microservices platforms with nats
Designing microservices platforms with nats
 
Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...
 
Mq light, mq, and bluemix web sphere user group july 2015
Mq light, mq, and bluemix   web sphere user group july 2015Mq light, mq, and bluemix   web sphere user group july 2015
Mq light, mq, and bluemix web sphere user group july 2015
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product Overview
 
Microservices-101
Microservices-101Microservices-101
Microservices-101
 
API Days Australia
API Days AustraliaAPI Days Australia
API Days Australia
 
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...
 

Mais de WSO2

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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
 

Mais de WSO2 (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

SOA Pattern-Asynchronous Queuing

  • 1. SOA Pattern: Asynchronous Queuing Senaka Fernando Dinesh Lakmal Kodithuwakku
  • 2. About the Presenter(s) Senaka Fernando Architect- Solutions Architecture, WSO2 Senaka is a Solutions Architect at WSO2. Before moving to the Solutions Architecture team, Senaka focused on the WSO2 Governance Registry and WSO2 Cloud Services Gateway. In addition to his product R&D efforts, he has provided technology consulting on customer engagements, helping to successfully implement governance, enterprise application integration, SAP integration, and on-premise portal solutions. He also founded the WSO2 Web Services Framework/C++ during his internship with WSO2 in 2008. Dinesh Lakmal Kodithuwakku Solutions Engineer - Solutions Architecture, WSO2 Lakmal is a Solutions Engineer at WSO2. He has five years of hands-on experience with mobile computing technologies. His expertise spans analyzing, implementing and testing software solutions for mobile computing platforms as well as carrying out research and identifying technologies and methodologies to determine the optimum solutions for project tasks when required. *
  • 3. * About WSO2 ๏ Global enterprise, founded in 2005 by acknowledged leaders in XML, web services technologies, standards and open source ๏ Provides only open source platform-as-a-service for private, public and hybrid cloud deployments ๏ All WSO2 products are 100% open source and released under the Apache License Version 2.0. ๏ Is an Active Member of OASIS, Cloud Security Alliance, OSGi Alliance, AMQP Working Group, OpenID Foundation and W3C. ๏ Driven by Innovation ๏ Launched first open source API Management solution in 2012 ๏ Launched App Factory in 2Q 2013 ๏ Launched Enterprise Store and first open source Mobile solution in 4Q 2013
  • 6. One of the biggest pains ● Services might require consumers to interact with them asynchronously ● This can inhibit performance and compromise reliability by locking it’s resources ● Services and their consumers run into isolated failures in this very disconnected setting *
  • 7. How to overcome this? ● Services can exchange messages with consumers via intermediary buffers (or brokers) ● Buffers allow services and consumers to process messages independently ● Both service and consumer gets the freedom to process messages and report failures without depending on each other *
  • 8. Why Messaging? ● Enhanced reliability ○ e.g: via Persistence, Transactions ● Decoupling ○ Space ○ Time ○ Synchronization *
  • 9. Basic Messaging Model ● Messaging is implemented with a broker ● Participants send messages and broker delivers them to recipients ● Two main models ○ Point-to-Point - Messages are delivered only once and held on a queue from which a consumer picks one at a time ○ Publish/Subscribe - Messages are broadcasted to many consumers at once *
  • 10. Queues ● Ability to store a message in a temporary storage is a fundamental requirement in enterprise integration (but some may require more durable models) ● Point to Point model: Queue is a destination that contains messages sent from a producer that awaits delivery to a designated consumer ● Messages are delivered in-order ● Guarantees that each message is processed only once *
  • 11. Queues...cont ● A message is removed from the queue once it has been received by the consumer ● May provide additional features ○ Persistence ○ Monitoring * Sender Queue Receiver Receiver Receiver Receiver
  • 12. Topics ● Pub/Sub model ● Multiple consumers subscribe for messages ○ Topics are used to send messages to one or more consumers ● No guarantee that, messages are delivered in sent order ● No guarantee that, each message is processed only once *
  • 13. Topics...cont ● Producers publish messages to topics and each consumer subscribed to the topic receives a copy of the message * Sender Receiver Receiver Receiver Receiver Topic
  • 14. Durable Topics ● Broker collects messages while subscriber is offline ● Broker distributes messages to all interested parties ● Each subscriber has its own internal queue until it unsubscribe *
  • 15. Durable Topics ● Best of both worlds? ● Or additional complexities? *
  • 16. What WSO2 Product(s) to use? ● WSO2 Message Broker (MB) ○ Implements and supports JMS API using AMQP ○ JMS (Java Message Service) ■ A Standard Java API for programmers to handle messaging by interacting with a message broker ○ AMQP (Advanced Message Queuing Protocol) ■ Open Standard for passing business messages between applications or organizations *
  • 17. What WSO2 Product(s) to use? ● WSO2 Message Broker (MB) ○ Will support MQTT from end of 2014 (ETA) ■ Implementation is already completed and has been demonstrated at some conferences ○ MQTT (Message Queuing Telemetry Transport) ■ A lightweight pub/sub protocol implemented on top of TCP/IP to facilitate machine-to-machine (M2M) and Internet-of-Things (IoT) integrations *
  • 18. What WSO2 Product(s) to use? *
  • 19. How WSO2 MB is different? ● Scalability - WSO2 MB can be clustered to handle complex business requirements ● Uses Apache Cassandra as the storage for persistent messages ● Supports distributed queuing *
  • 20. How WSO2 MB is different? ● Can easily handle large message transfers ● Highly available and fault tolerant ● High interoperability via AMQP clients: ■ Java ■ C ■ C++ ■ .Net ■ many more*
  • 21. UC 1: Rate Limiting ● Some services only process messages at a specific rate ● Clients may send messages at an arbitrary rate ● Provides a virtualized service interface that stores all messages in a queue ○ Services can consume messages from the queue at their own pace ○ Or the broker can forward the stored messages to the actual service at a controlled rate *
  • 22. Pattern: Store & Forward * Proxy Service Message Store Message Sender Service Client request (Variable rate) Store Fetch Forward (Fixed rate)
  • 23. UC 2: Guaranteed Delivery ● Sometimes we need to ensure that all requests are received and processed by the back-end systems ● All requests can be stored in a persistent message queue ○ Back-end systems consume these messages whenever they are able to ● Or use a persistent queue as the dead letter channel *
  • 24. Pattern: Dead Letter Channel * Proxy Service Message Store Service Client request 2. Store on Error ERROR 1. Send 3. Retry
  • 25. UC 3: Separation of Concerns ● Sometimes messages should be processed through expensive audit/logging routines ● To avoid high response times, messages can be cloned and stored in a queue ● Audit/logging systems consume the messages off the queues *
  • 26. Pattern: Separation of Concerns * Proxy Service Message Store Service Client request Store copy of message Audit System
  • 27. UC 4: Translation ● Sometimes the client and service speak different protocols ● Input and Outputs don’t tally with each other in terms of format or one of several aspects such as rate ● A Message Bus controls and reshapes the communication between the client and service *