SlideShare a Scribd company logo
Improved Business Availability and
Scalability with WSO2 ESB 4.9.0’s New
Coordination Framework
Ravindra Ranwala
Software Engineer
Nadeeshaan Gunasinghe
Software Engineer
Nov 2015
About the Presenters
● Ravindra Ranwala Software Engineer WSO2
● Nadeeshaan Gunasinghe Software Engineer WSO2
Outline
● Business Availability
● Business Scalability
● Coordination Support in WSO2 ESB
○ Message Processor
○ Scheduled Tasks
● Demonstration on Tasks and Message Processor in a Clustered Environment
● Conclusion
● Q&A
Business Availability
● Ensure your systems run most of the time without interruptions
● How to Achieve
○ Avoiding Single point of failures
● Real world Implementation
○ Clusters of Service Nodes
Business Scalability
● Definition: Accepts increased traffic in graceful and controlled manner
● How to Achieve
○ By adding more nodes to a system
● Real World Implementation
○ Clustering the Nodes
Task Coordination Support in WSO2 ESB
● Using the much faster coordination support of the Carbon framework
● Scheduled Tasks and Message Processors
○ Deploying in the clusters and coordination across the nodes
○ Continuously running as long as there is at least one node is up and
running
Message Processor
● Guaranteed delivery with store and forward mechanism
● Rate matching/ Throttling can be done by using the Sampling Processor
● JMS Message broker as the persistence store – WSO2 MB, Apache ActiveMQ etc.
● MP Coordination support - Clustered Environment
○ Yields high Availability and Scalability
Store And Forward - Guaranteed Delivery
● Scheduled Message Forwarding Processor can be
used.
Store and Forward - Request Rate Matching
● Sampling Message Processor can be used.
MP Coordination Support - Single Task
MP Coordination Support - Multiple Tasks
Scheduled Tasks
● Facilitate to run a job triggered by a timer
● WSO2 ESB has it’s inbuilt task support to allow injecting messages to ESB in scheduled
intervals
● Task Trigger types
○ Specifying the count and interval
○ Cron expressions
○ Making the task run only once with the once atribute
Scheduled Tasks Ctd..
● Writing own tasks with custom Java Classes implementing org.apache.synapse.startup.Task
Interface
Scheduled Tasks Ctd..
Scheduled Tasks Ctd..
● Source Configuration for scheduling the task
<task class="org.apache.synapse.startup.tasks.MessageInjector"
group="synapse.simple.quartz" name="SimpleStockQuoteTask">
<trigger count="12" interval="60"/>
</task>
Scheduled Tasks Ctd..
● Injecting a Message to a Specified Sequence through a task
<task name="SampleInjectToSequenceTask" class="org.apache.synapse.startup.tasks.MessageInjector" roup="synapse.simple.quartz">
<trigger count="2" interval="5"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="injectTo" value="sequence"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="message">
<m0:getQuote xmlns:m0="http://services.samples">
<m0:request>
<m0:symbol>IBM</m0:symbol>
</m0:request>
</m0:getQuote>
</property>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="sequenceName" value="SampleSequence"/>
</task>
Scheduled Tasks Ctd..
● Injecting a Message to a Specified proxy service through a task
<task name="SampleInjectToProxyTask" class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz">
<trigger count="2" interval="5"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="message">
<m0:getQuote xmlns:m0="http://services.samples">
<m0:request>
<m0:symbol>IBM</m0:symbol>
</m0:request>
</m0:getQuote>
</property>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="proxyName" value="SampleProxy"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="injectTo" value="proxy"/>
</task>
Scheduled Task Demo
Q & A
Thank You
References
● https://en.wikipedia.org/wiki/High_availability_software
● https://en.wikipedia.org/wiki/Scalability
● http://ravindraranwala.blogspot.com/2015/09/message-processor-coordination-support.html
● http://soatutorials.blogspot.com/2015/09/wso2-esb-490-released.html
Contact us !

More Related Content

PPTX
A docker love story
PDF
NATS + Docker meetup talk Oct - 2016
PDF
MySQL X protocol - Talking to MySQL Directly over the Wire
PDF
Simple Solutions for Complex Problems - Boulder Meetup
PPTX
MySQL 5.7 - the first few months
PDF
Implementing Microservices with NATS
PPTX
NATS for Modern Messaging and Microservices
PDF
NATS in action - A Real time Microservices Architecture handled by NATS
A docker love story
NATS + Docker meetup talk Oct - 2016
MySQL X protocol - Talking to MySQL Directly over the Wire
Simple Solutions for Complex Problems - Boulder Meetup
MySQL 5.7 - the first few months
Implementing Microservices with NATS
NATS for Modern Messaging and Microservices
NATS in action - A Real time Microservices Architecture handled by NATS

What's hot (19)

PDF
Micro on NATS - Microservices with Messaging
PPTX
Load Balancing Container with Nginx
PDF
Apache2 BootCamp : Overview
PDF
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
PPT
Linux Experience for Herman
PDF
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices Framework fo...
PDF
How Clarifai uses NATS and Kubernetes for Machine Learning
PDF
Experiences testing dev versions of MySQL and why it is good for you
ODP
RSYSLOG v8 improvements and how to write plugins in any language.
PDF
Building Services with WSO2 Microservices framework for Java and WSO2 AS
PPTX
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
ODP
Introduction to Nginx
PDF
Google cloud run + elixir boilerplate
PDF
Virt monitoring
PDF
QA speed up story
PDF
MySQL Failover and Orchestrator
PPTX
How to automate and scale-out PostgreSQL deployment using Ansible?
PDF
NodeJS and MEAN stack - II SorocabaJS
PPTX
MongoDB backup service overview Boston MUG
Micro on NATS - Microservices with Messaging
Load Balancing Container with Nginx
Apache2 BootCamp : Overview
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
Linux Experience for Herman
WSO2Con EU 2016: Creating Microservices with WSO2 Microservices Framework fo...
How Clarifai uses NATS and Kubernetes for Machine Learning
Experiences testing dev versions of MySQL and why it is good for you
RSYSLOG v8 improvements and how to write plugins in any language.
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
Introduction to Nginx
Google cloud run + elixir boilerplate
Virt monitoring
QA speed up story
MySQL Failover and Orchestrator
How to automate and scale-out PostgreSQL deployment using Ansible?
NodeJS and MEAN stack - II SorocabaJS
MongoDB backup service overview Boston MUG
Ad

Viewers also liked (7)

PPTX
Resilient Enterprise Messaging with WSO2 ESB
PDF
Presentation Yenlo workshop Brussel September 24th 2014
PPTX
WSO2 Internsip Period
PDF
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
PPTX
Scalable Persistent Message Brokering with WSO2 Message Broker
PDF
Understanding JMS Integration Patterns
PDF
JMS - Java Messaging Service
Resilient Enterprise Messaging with WSO2 ESB
Presentation Yenlo workshop Brussel September 24th 2014
WSO2 Internsip Period
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Scalable Persistent Message Brokering with WSO2 Message Broker
Understanding JMS Integration Patterns
JMS - Java Messaging Service
Ad

Similar to Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework (20)

PPTX
module for backend full stack applications 1.pptx
PPTX
Node js installation steps.pptx slide share ppts
PDF
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
PPTX
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
PDF
What’s new in WSO2 Enterprise Integrator 6.6
PDF
Journey of Kubernetes Scaling
PDF
Swarm migration
PDF
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
PPTX
Resilient Enterprise Messaging with WSO2 ESB
PDF
Netty training
PDF
Microservices with NGINX pdf
PDF
PDF
Wso2 esb 5.0.0 product release webinar
PDF
Scaling Open edX with Kubernetes
ODP
Microservices Patterns and Anti-Patterns
PDF
Pivotal CloudFoundry on Google cloud platform
PDF
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
PPT
NXTware remote for open vms introduction
PDF
WSO2 Business Process Server - Product Overview
PDF
Using Redgate, AKS and Azure to bring DevOps to your Database
module for backend full stack applications 1.pptx
Node js installation steps.pptx slide share ppts
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
What’s new in WSO2 Enterprise Integrator 6.6
Journey of Kubernetes Scaling
Swarm migration
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
Resilient Enterprise Messaging with WSO2 ESB
Netty training
Microservices with NGINX pdf
Wso2 esb 5.0.0 product release webinar
Scaling Open edX with Kubernetes
Microservices Patterns and Anti-Patterns
Pivotal CloudFoundry on Google cloud platform
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
NXTware remote for open vms introduction
WSO2 Business Process Server - Product Overview
Using Redgate, AKS and Azure to bring DevOps to your Database

Recently uploaded (20)

PDF
Well-logging-methods_new................
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Current and future trends in Computer Vision.pptx
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPT
Mechanical Engineering MATERIALS Selection
PPTX
bas. eng. economics group 4 presentation 1.pptx
DOCX
573137875-Attendance-Management-System-original
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PPTX
Construction Project Organization Group 2.pptx
PPTX
additive manufacturing of ss316l using mig welding
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
composite construction of structures.pdf
PPTX
Safety Seminar civil to be ensured for safe working.
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Well-logging-methods_new................
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Current and future trends in Computer Vision.pptx
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Mechanical Engineering MATERIALS Selection
bas. eng. economics group 4 presentation 1.pptx
573137875-Attendance-Management-System-original
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
Construction Project Organization Group 2.pptx
additive manufacturing of ss316l using mig welding
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
III.4.1.2_The_Space_Environment.p pdffdf
Internet of Things (IOT) - A guide to understanding
composite construction of structures.pdf
Safety Seminar civil to be ensured for safe working.
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Foundation to blockchain - A guide to Blockchain Tech
Embodied AI: Ushering in the Next Era of Intelligent Systems
UNIT-1 - COAL BASED THERMAL POWER PLANTS
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...

Improved Business Availability and Scalability with WSO2 ESB 4.9’s New Coordination Framework

  • 1. Improved Business Availability and Scalability with WSO2 ESB 4.9.0’s New Coordination Framework Ravindra Ranwala Software Engineer Nadeeshaan Gunasinghe Software Engineer Nov 2015
  • 2. About the Presenters ● Ravindra Ranwala Software Engineer WSO2 ● Nadeeshaan Gunasinghe Software Engineer WSO2
  • 3. Outline ● Business Availability ● Business Scalability ● Coordination Support in WSO2 ESB ○ Message Processor ○ Scheduled Tasks ● Demonstration on Tasks and Message Processor in a Clustered Environment ● Conclusion ● Q&A
  • 4. Business Availability ● Ensure your systems run most of the time without interruptions ● How to Achieve ○ Avoiding Single point of failures ● Real world Implementation ○ Clusters of Service Nodes
  • 5. Business Scalability ● Definition: Accepts increased traffic in graceful and controlled manner ● How to Achieve ○ By adding more nodes to a system ● Real World Implementation ○ Clustering the Nodes
  • 6. Task Coordination Support in WSO2 ESB ● Using the much faster coordination support of the Carbon framework ● Scheduled Tasks and Message Processors ○ Deploying in the clusters and coordination across the nodes ○ Continuously running as long as there is at least one node is up and running
  • 7. Message Processor ● Guaranteed delivery with store and forward mechanism ● Rate matching/ Throttling can be done by using the Sampling Processor ● JMS Message broker as the persistence store – WSO2 MB, Apache ActiveMQ etc. ● MP Coordination support - Clustered Environment ○ Yields high Availability and Scalability
  • 8. Store And Forward - Guaranteed Delivery ● Scheduled Message Forwarding Processor can be used.
  • 9. Store and Forward - Request Rate Matching ● Sampling Message Processor can be used.
  • 10. MP Coordination Support - Single Task
  • 11. MP Coordination Support - Multiple Tasks
  • 12. Scheduled Tasks ● Facilitate to run a job triggered by a timer ● WSO2 ESB has it’s inbuilt task support to allow injecting messages to ESB in scheduled intervals ● Task Trigger types ○ Specifying the count and interval ○ Cron expressions ○ Making the task run only once with the once atribute
  • 13. Scheduled Tasks Ctd.. ● Writing own tasks with custom Java Classes implementing org.apache.synapse.startup.Task Interface
  • 15. Scheduled Tasks Ctd.. ● Source Configuration for scheduling the task <task class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz" name="SimpleStockQuoteTask"> <trigger count="12" interval="60"/> </task>
  • 16. Scheduled Tasks Ctd.. ● Injecting a Message to a Specified Sequence through a task <task name="SampleInjectToSequenceTask" class="org.apache.synapse.startup.tasks.MessageInjector" roup="synapse.simple.quartz"> <trigger count="2" interval="5"/> <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="injectTo" value="sequence"/> <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="message"> <m0:getQuote xmlns:m0="http://services.samples"> <m0:request> <m0:symbol>IBM</m0:symbol> </m0:request> </m0:getQuote> </property> <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="sequenceName" value="SampleSequence"/> </task>
  • 17. Scheduled Tasks Ctd.. ● Injecting a Message to a Specified proxy service through a task <task name="SampleInjectToProxyTask" class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz"> <trigger count="2" interval="5"/> <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="message"> <m0:getQuote xmlns:m0="http://services.samples"> <m0:request> <m0:symbol>IBM</m0:symbol> </m0:request> </m0:getQuote> </property> <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="proxyName" value="SampleProxy"/> <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"name="injectTo" value="proxy"/> </task>
  • 19. Q & A
  • 21. References ● https://en.wikipedia.org/wiki/High_availability_software ● https://en.wikipedia.org/wiki/Scalability ● http://ravindraranwala.blogspot.com/2015/09/message-processor-coordination-support.html ● http://soatutorials.blogspot.com/2015/09/wso2-esb-490-released.html