SlideShare a Scribd company logo
Last Updated: Jan. 2014
Senior Software Engineer
Hasitha Abeykoon
WSO2 Message
Broker 2.2.0
Ishara Premadasa
Software Engineer
2
About the Presenter(s)
๏ Hasitha Hiranya Abeykoon,
Senior Software Engineer,
WSO2.
๏ Email: hasithah@wso2.com
๏ Blog: http://abeykoon.blogspot.com/
๏ Ishara Premadasa,
Software Engineer,
WSO2.
๏ Email: ishara@wso2.com
๏ Blog:
http://isharapremadasa.blogspot.com
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
4
What WSO2 delivers
Outline
1. A Brief Introduction to WSO2 Message Broker
2. What is new in MB 2.2.0
3. Example Use Cases
4. Pre-recorded demo (ESB + MB Integration using
Message Store Processor)
5. Conclusion and future work
5
Why Messaging?
๏ Enhanced reliability
๏ E.g. via persistence, transactions
๏ Decoupling
๏ Space
๏ Time
๏ Synchronization
6
Basic Messaging Models
๏ Messaging is implemented with a broker (or brokers in
the middle)
๏ Participants send messages, and broker delivers them
to recipients
๏ There are two main models
๏ Queues - A message is delivered only once to a single consumer.
๏ Publish/Subscribe: Broadcast a message to many message consumers
7
Queues
8
• A queue is a destination that contains messages sent from a producer
that await delivery to one consumer.
• Messages are delivered in the sent order.
• A message is removed from the queue once it has been acknowledged
as received by the consumer.
Topics
9
• Topics are used to send messages to one or more consumers. Producers publish
messages to a topic and each consumer subscribed to the topic receives a copy of
message
• Brokers matches events (messages) and delivers to all interested parties
• In this one-to-many messaging scenario, producers are also referred to as
publishers and consumers as subscribers
Durable Topics
10
• Broker collects messages while subscriber is offline – like a queue
• Broker distributes the messages to all interested parties – like a topic
• Each subscriber has its own internal queue until it unsubscribes
AMQP, JMS and WSO2 MB
๏ JMS (Java Message Service)
๏ A specification that define a standard API for java programmer to perform
messaging by interacting with a message broker
๏ It does not define the message format or how java API interacts with the message
broker
๏ AMQP (Advanced Message Queuing Protocol)
๏ Open standard for passing business messages between applications or
organizations.
๏ AMQP let different systems (e.g. .NET and Java) to interact with each other by
agreeing on the message format at the wire level just like Web Services.
๏ WSO2 MB (Broker)
๏ Implements and supports JMS API using AMQP protocol for messaging (All the
same, we are not limited to JMS)
11
How WSO2 MB is Different?
๏ Use Apache Cassandra as the storage for messages
those require persistence
Apache Cassandra is an open source distributed database management system. It is
designed to handle very large amounts of data spread out across many commodity
servers while providing a highly available service with no single point of failure. It has
very fast search schemes built in. Thus Cassandra is a good choice for WSO2 MB with
clustering support.
๏ Scaling – WSO2 MB can be clustered adding nodes to
meet business requirements.
Nodes can be dynamically added and removed
๏ Supports Distributed Queuing with clustering enabled
12
Why WSO2 MB is Different?
๏ Failover with no message lost – Clustering + Failover
capability brings this feature
๏ Ability to handle large message transfers in real time
As Cassandra is our storage, messages are written fast to store and we create only one
copy of message while delivery
๏ High Availability and Fault Tolerance
No single point of failure with MB cluster + Cassandra cluster + Zookeeper Cluster. All
nodes are vertically and horizontally scalable. Cassandra keep replicates of messages.
๏ Interoperability with many languages / platforms via
AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang
and more13
Why WSO2 MB is Different?
๏ Interoperability with many languages / platforms via
AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang
and more
We use AMQP internally. Thus any AMQP client is theoretically compliant
๏ Fair effort to scale in all 3 dimensions (reliability,
performance and resources)
14
WSO2 MB 2.2.0 Release
๏ A lot of bug fixes with respect to WSO2 2.1.0
๏ Fixed a lot of clustering related issues with edge cases.
๏ Stabilization of message delivery with high message concurrency.
๏ Concurrent issues arises with a Cassandra cluster.
๏ Four new features
๏ Dead Letter Channel implementation
๏ Publisher Flow control implementation
๏ MB profile support for Cassandra and Zookeeper
๏ JMS Message selectors support which was missing in 2.1.0 release
15
WSO2 MB 2.2.0 Release
๏ New features added to WSO2 MB management console
UI
๏ View active queue subscriptions in whole MB cluster
๏ View active topic subscriptions in whole MB cluster
๏ View inactive durable topic subscriptions specifically.
๏ Ability to unsubscribe inactive durable topic subscriptions with UI.
๏ Ability to deal with messages at Dead Letter Channel.
๏ Improved reliability with deleting a queue (remove queue from whole cluster).
๏ Improved reliability with message count displayed for queues.
๏ Improved security and role based access model for
queues and topics
16
WSO2 MB 2.2.0 Release
๏ Now it is even more easier to deploy WSO2 MB
๏ Tested ability to handle up to 3 million message burst
from concurrent producers with simultaneous
concurrent subscribers for queues.
๏ Improved logging – trace level logs are now separated
for easy debugging.
17
Dead Letter Channel
18
• If the subscriber
• Rejected the message
• Did not ack the sever within a configured time
• Could not receive message due to connection fail
Server will try to resend the message.
• MB server will do this for a maximum number of configured times.
• After that it will route message to DLC.
Dead Letter Channel contd..
๏ Able to view DLC messages in the Management Console
(Queue vise display).
๏ You can perform following actions on DLC messages
๏ Delete (discard mal-formatted message)
๏ Restore message to the queue (fixed the message subscribe Back End. Now ready
to go)
๏ Re-route the message to any other existing queue in MB cluster (allow some
other subscriber in the system to handle the message)
19
Flow Control – Backpressure
๏ Every system has its limits.
๏ What happens to the broker cluster if a message burst
continued to come and they need to be persisted…!!
๏ WSO2 MB 2.2.0 comes with following flow control
mechanisms.
1. Throttling based on global memory threshold
2. Throttling based on message count per connection
20
MB Profile Support
๏ You can start WSO2 MB purely as a Apache Cassandra
server.
๏ All configurations files of Cassandra are there
๏ Port is configurable with an offset
๏ Logs are written to Carbon Log
๏ Cassandra tools are also packed inside MB
๏ You can start WSO2 MB purely as a Apache Zookeeper
server.
๏ To create a complete broker cluster you only need a
WSO2 MB distribution.
21
Message Selectors
๏ A Subscriber might be interested in particular set of
messages having certain properties.
๏ It only likes to consume those messages.
๏ When subscription is make to the broker, it can specify
the message properties as a query.
22
queueReceiver= queueSession.createReceiver(queue,"(S1_double > 3.7 OR JMSType = 'TWO') AND Number > 20")
Other tit-bits
Improved SSL Support for MB 2.2.0
๏ The wire level connection between client-server can be
encrypted using SSL to provide maximum protection.
๏ Supported in both standalone and clustered mode with
failover as well.
๏ Easily configurable at the client side using AMQP
connection url.
23
A Few Example Use cases
๏ WSO2 Message Broker is part of Messaging Middleware
๏ Rather than using WSO2 MB alone, most of the time for
an integrated platform it sits in the middle of messaging
clients where message delivery reliability is needed, or
some message throttling is needed or some
asynchronous message processing is OK.
๏ Following is some real world use cases where Message
Broker comes into play.
24
Asynchronous Messaging
๏ Timely decoupled (transactions - inter departmental job
submitting and processing)
25
University Grant
Commission UniversityMessaging Middleware
Web App Messaging
Broker Cluster with Failover
26
MB1 MB2 MB3
Connection = <mb1,mb2,mb3>
Application
MB1
MB Cluster
Cassandra
Cluster
Reliable Messaging
๏ Message store processor pattern with WSO2 ESB
27
Web
Application
Enterprise Service Bus
Msg Store Msg
Processor
Data Services
Server
Oracle DB
WSO2 MB
Message Queue
HTTP to JMS JMS to HTTP
Reliable Messaging contd..
๏ Want to reliably store information to database?
๏ Message order is guaranteed
๏ Message reliability is guaranteed
๏ No message duplication is possible
28
Reliable Messaging contd..
๏ Message Store Configuration for MB
<messageStore xmlns="http://ws.apache.org/ns/synapse"
class="org.wso2.carbon.message.store.persistence.jms.JMSMessageStore"
name="JMSMS">
<parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter>
</messageStore>
๏ Message Processor Configuration for MB
<messageProcessor class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor"
name="Processor1" messageStore="JMSMS">
<parameter name="max.delivery.attempts">4</parameter>
<parameter name="interval">4000</parameter>
</messageProcessor>
29
Throttling – SAP/ESB/MB
๏ Same as above setup for reliable messaging, but
addresses a different concern.
๏ If messages are coming out from SAP very fast, we
directly store it in a WSO2 MB queue via message store.
๏ Message processor can work slowly and process the
messages with a tolerable speed.
๏ Alternatively, can use JMS proxies to send and receive
messages as JMS.
๏ Doable with an ESB cluster as well.
30
A Short Recoded Demo
31
Future Work
๏ Support for Message Queuing Telemetry Transport
(MQTT)
๏ Dynamic queue support in WSO2 MB
๏ CQL support integration over Hector to interact with
Cassandra storage
๏ Support message priority levels
32
Papers Published
๏ Perera H.S, Wickramarachchi C, Jayasinghe S.D,
Weeravarana S, *“Andes: a highly scalable persistent
messaging system”+, Web Services (ICWS), 2012 IEEE
19th International Conference, Honolulu, HI
33
Conclusion
๏ WSO2 MB 2.2.0 comes out as a more stabilized and
improved AMQP message broker with several high
demand features like DLC and Flow Control
implementation etc. The new version also includes a lot
of bug fixes which makes it robust enough to reliably
handle a bulk amount of messages with high
concurrency in a clustered environment
34
35
More Information !
๏ WSO2 MB product download page:
http://wso2.com/products/message-broker/
๏ WSO2 MB documentation:
https://docs.wso2.org/display/MB211/WSO2+Messag
e+Broker+Documentation
๏ WSO2 MB 2.2.0 cluster guide:
https://docs.wso2.org/display/CLUSTER420/Clustering
+Message+Broker
36
Business Model
Contact us !

More Related Content

What's hot

Introduction to NServiceBus
Introduction to NServiceBusIntroduction to NServiceBus
Introduction to NServiceBus
Espen Ekvang
 
19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ
Woo Young Choi
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2
Afkham Azeez
 
Reliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerReliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message Broker
WSO2
 
Virtualising Your Data Center
Virtualising Your Data CenterVirtualising Your Data Center
Virtualising Your Data Center
Lai Yoong Seng
 
Hyper-V in Windows 8
Hyper-V in Windows 8 Hyper-V in Windows 8
Hyper-V in Windows 8
Lai Yoong Seng
 
Content Delivery Network
Content Delivery NetworkContent Delivery Network
Content Delivery Network
Faisal Akbar
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
Damir Dobric
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
Lai Yoong Seng
 
NServiceBus
NServiceBusNServiceBus
NServiceBus
Rich Helton
 
Virtacore - vCloud Express
Virtacore - vCloud ExpressVirtacore - vCloud Express
Virtacore - vCloud Express
Virtacore Systems
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
Kasun Indrasiri
 
WCF Fundamentals
WCF Fundamentals WCF Fundamentals
WCF Fundamentals
Safaa Farouk
 
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
T.Rob Wyatt
 
Stonehenge
StonehengeStonehenge
WCF
WCFWCF
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) Service
Sj Lim
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
dejanb
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
Betclic Everest Group Tech Team
 
10 Tricks and Tips for WCF
10 Tricks and Tips for WCF10 Tricks and Tips for WCF
10 Tricks and Tips for WCF
Barry Dorrans
 

What's hot (20)

Introduction to NServiceBus
Introduction to NServiceBusIntroduction to NServiceBus
Introduction to NServiceBus
 
19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ19 08-22 introduction to activeMQ
19 08-22 introduction to activeMQ
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2
 
Reliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerReliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message Broker
 
Virtualising Your Data Center
Virtualising Your Data CenterVirtualising Your Data Center
Virtualising Your Data Center
 
Hyper-V in Windows 8
Hyper-V in Windows 8 Hyper-V in Windows 8
Hyper-V in Windows 8
 
Content Delivery Network
Content Delivery NetworkContent Delivery Network
Content Delivery Network
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
NServiceBus
NServiceBusNServiceBus
NServiceBus
 
Virtacore - vCloud Express
Virtacore - vCloud ExpressVirtacore - vCloud Express
Virtacore - vCloud Express
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
 
WCF Fundamentals
WCF Fundamentals WCF Fundamentals
WCF Fundamentals
 
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
IBM MQ CONNAUTH/CHLAUTH Doesn't Work Like You Think it Does (and if you aren'...
 
Stonehenge
StonehengeStonehenge
Stonehenge
 
WCF
WCFWCF
WCF
 
Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) Service
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
10 Tricks and Tips for WCF
10 Tricks and Tips for WCF10 Tricks and Tips for WCF
10 Tricks and Tips for WCF
 

Similar to WSO2 Product Release webinar - WSO2 Message Broker 2.2.0

Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
Ravindra Ranwala
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
WSO2
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product Overview
WSO2
 
IBM What's New in MQ V8
IBM What's New in MQ V8IBM What's New in MQ V8
IBM What's New in MQ V8
IBM Systems UKI
 
ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
jeetendra mandal
 
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
Rob Davies
 
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Andrew Morgan
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of Sand
MongoDB
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
Henrik Sjöstrand
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
Kasun Indrasiri
 
Enterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBEnterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESB
WSO2
 
HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009
jarfield
 
SOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous QueuingSOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous Queuing
WSO2
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
WSO2
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet view
younessx01
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2
 
Jbw chicago
Jbw chicagoJbw chicago
Jbw chicago
Gavin Hogan
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)
Timothy Spann
 

Similar to WSO2 Product Release webinar - WSO2 Message Broker 2.2.0 (20)

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
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product Overview
 
IBM What's New in MQ V8
IBM What's New in MQ V8IBM What's New in MQ V8
IBM What's New in MQ V8
 
ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
 
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
 
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of Sand
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
Enterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBEnterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESB
 
HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009HornetQ Presentation On JBoss World 2009
HornetQ Presentation On JBoss World 2009
 
SOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous QueuingSOA Pattern-Asynchronous Queuing
SOA Pattern-Asynchronous Queuing
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet view
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
 
Jbw chicago
Jbw chicagoJbw chicago
Jbw chicago
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)
 

More from WSO2

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
WSO2
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
WSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
WSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
WSO2
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
WSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2
 

More from WSO2 (20)

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 

Recently uploaded

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 

Recently uploaded (20)

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 

WSO2 Product Release webinar - WSO2 Message Broker 2.2.0

  • 1. Last Updated: Jan. 2014 Senior Software Engineer Hasitha Abeykoon WSO2 Message Broker 2.2.0 Ishara Premadasa Software Engineer
  • 2. 2 About the Presenter(s) ๏ Hasitha Hiranya Abeykoon, Senior Software Engineer, WSO2. ๏ Email: hasithah@wso2.com ๏ Blog: http://abeykoon.blogspot.com/ ๏ Ishara Premadasa, Software Engineer, WSO2. ๏ Email: ishara@wso2.com ๏ Blog: http://isharapremadasa.blogspot.com
  • 3. 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
  • 5. Outline 1. A Brief Introduction to WSO2 Message Broker 2. What is new in MB 2.2.0 3. Example Use Cases 4. Pre-recorded demo (ESB + MB Integration using Message Store Processor) 5. Conclusion and future work 5
  • 6. Why Messaging? ๏ Enhanced reliability ๏ E.g. via persistence, transactions ๏ Decoupling ๏ Space ๏ Time ๏ Synchronization 6
  • 7. Basic Messaging Models ๏ Messaging is implemented with a broker (or brokers in the middle) ๏ Participants send messages, and broker delivers them to recipients ๏ There are two main models ๏ Queues - A message is delivered only once to a single consumer. ๏ Publish/Subscribe: Broadcast a message to many message consumers 7
  • 8. Queues 8 • A queue is a destination that contains messages sent from a producer that await delivery to one consumer. • Messages are delivered in the sent order. • A message is removed from the queue once it has been acknowledged as received by the consumer.
  • 9. Topics 9 • Topics are used to send messages to one or more consumers. Producers publish messages to a topic and each consumer subscribed to the topic receives a copy of message • Brokers matches events (messages) and delivers to all interested parties • In this one-to-many messaging scenario, producers are also referred to as publishers and consumers as subscribers
  • 10. Durable Topics 10 • Broker collects messages while subscriber is offline – like a queue • Broker distributes the messages to all interested parties – like a topic • Each subscriber has its own internal queue until it unsubscribes
  • 11. AMQP, JMS and WSO2 MB ๏ JMS (Java Message Service) ๏ A specification that define a standard API for java programmer to perform messaging by interacting with a message broker ๏ It does not define the message format or how java API interacts with the message broker ๏ AMQP (Advanced Message Queuing Protocol) ๏ Open standard for passing business messages between applications or organizations. ๏ AMQP let different systems (e.g. .NET and Java) to interact with each other by agreeing on the message format at the wire level just like Web Services. ๏ WSO2 MB (Broker) ๏ Implements and supports JMS API using AMQP protocol for messaging (All the same, we are not limited to JMS) 11
  • 12. How WSO2 MB is Different? ๏ Use Apache Cassandra as the storage for messages those require persistence Apache Cassandra is an open source distributed database management system. It is designed to handle very large amounts of data spread out across many commodity servers while providing a highly available service with no single point of failure. It has very fast search schemes built in. Thus Cassandra is a good choice for WSO2 MB with clustering support. ๏ Scaling – WSO2 MB can be clustered adding nodes to meet business requirements. Nodes can be dynamically added and removed ๏ Supports Distributed Queuing with clustering enabled 12
  • 13. Why WSO2 MB is Different? ๏ Failover with no message lost – Clustering + Failover capability brings this feature ๏ Ability to handle large message transfers in real time As Cassandra is our storage, messages are written fast to store and we create only one copy of message while delivery ๏ High Availability and Fault Tolerance No single point of failure with MB cluster + Cassandra cluster + Zookeeper Cluster. All nodes are vertically and horizontally scalable. Cassandra keep replicates of messages. ๏ Interoperability with many languages / platforms via AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang and more13
  • 14. Why WSO2 MB is Different? ๏ Interoperability with many languages / platforms via AMQP clients for Java, .Net, C, C++, PHP, Ruby, Erlang and more We use AMQP internally. Thus any AMQP client is theoretically compliant ๏ Fair effort to scale in all 3 dimensions (reliability, performance and resources) 14
  • 15. WSO2 MB 2.2.0 Release ๏ A lot of bug fixes with respect to WSO2 2.1.0 ๏ Fixed a lot of clustering related issues with edge cases. ๏ Stabilization of message delivery with high message concurrency. ๏ Concurrent issues arises with a Cassandra cluster. ๏ Four new features ๏ Dead Letter Channel implementation ๏ Publisher Flow control implementation ๏ MB profile support for Cassandra and Zookeeper ๏ JMS Message selectors support which was missing in 2.1.0 release 15
  • 16. WSO2 MB 2.2.0 Release ๏ New features added to WSO2 MB management console UI ๏ View active queue subscriptions in whole MB cluster ๏ View active topic subscriptions in whole MB cluster ๏ View inactive durable topic subscriptions specifically. ๏ Ability to unsubscribe inactive durable topic subscriptions with UI. ๏ Ability to deal with messages at Dead Letter Channel. ๏ Improved reliability with deleting a queue (remove queue from whole cluster). ๏ Improved reliability with message count displayed for queues. ๏ Improved security and role based access model for queues and topics 16
  • 17. WSO2 MB 2.2.0 Release ๏ Now it is even more easier to deploy WSO2 MB ๏ Tested ability to handle up to 3 million message burst from concurrent producers with simultaneous concurrent subscribers for queues. ๏ Improved logging – trace level logs are now separated for easy debugging. 17
  • 18. Dead Letter Channel 18 • If the subscriber • Rejected the message • Did not ack the sever within a configured time • Could not receive message due to connection fail Server will try to resend the message. • MB server will do this for a maximum number of configured times. • After that it will route message to DLC.
  • 19. Dead Letter Channel contd.. ๏ Able to view DLC messages in the Management Console (Queue vise display). ๏ You can perform following actions on DLC messages ๏ Delete (discard mal-formatted message) ๏ Restore message to the queue (fixed the message subscribe Back End. Now ready to go) ๏ Re-route the message to any other existing queue in MB cluster (allow some other subscriber in the system to handle the message) 19
  • 20. Flow Control – Backpressure ๏ Every system has its limits. ๏ What happens to the broker cluster if a message burst continued to come and they need to be persisted…!! ๏ WSO2 MB 2.2.0 comes with following flow control mechanisms. 1. Throttling based on global memory threshold 2. Throttling based on message count per connection 20
  • 21. MB Profile Support ๏ You can start WSO2 MB purely as a Apache Cassandra server. ๏ All configurations files of Cassandra are there ๏ Port is configurable with an offset ๏ Logs are written to Carbon Log ๏ Cassandra tools are also packed inside MB ๏ You can start WSO2 MB purely as a Apache Zookeeper server. ๏ To create a complete broker cluster you only need a WSO2 MB distribution. 21
  • 22. Message Selectors ๏ A Subscriber might be interested in particular set of messages having certain properties. ๏ It only likes to consume those messages. ๏ When subscription is make to the broker, it can specify the message properties as a query. 22 queueReceiver= queueSession.createReceiver(queue,"(S1_double > 3.7 OR JMSType = 'TWO') AND Number > 20")
  • 23. Other tit-bits Improved SSL Support for MB 2.2.0 ๏ The wire level connection between client-server can be encrypted using SSL to provide maximum protection. ๏ Supported in both standalone and clustered mode with failover as well. ๏ Easily configurable at the client side using AMQP connection url. 23
  • 24. A Few Example Use cases ๏ WSO2 Message Broker is part of Messaging Middleware ๏ Rather than using WSO2 MB alone, most of the time for an integrated platform it sits in the middle of messaging clients where message delivery reliability is needed, or some message throttling is needed or some asynchronous message processing is OK. ๏ Following is some real world use cases where Message Broker comes into play. 24
  • 25. Asynchronous Messaging ๏ Timely decoupled (transactions - inter departmental job submitting and processing) 25 University Grant Commission UniversityMessaging Middleware Web App Messaging
  • 26. Broker Cluster with Failover 26 MB1 MB2 MB3 Connection = <mb1,mb2,mb3> Application MB1 MB Cluster Cassandra Cluster
  • 27. Reliable Messaging ๏ Message store processor pattern with WSO2 ESB 27 Web Application Enterprise Service Bus Msg Store Msg Processor Data Services Server Oracle DB WSO2 MB Message Queue HTTP to JMS JMS to HTTP
  • 28. Reliable Messaging contd.. ๏ Want to reliably store information to database? ๏ Message order is guaranteed ๏ Message reliability is guaranteed ๏ No message duplication is possible 28
  • 29. Reliable Messaging contd.. ๏ Message Store Configuration for MB <messageStore xmlns="http://ws.apache.org/ns/synapse" class="org.wso2.carbon.message.store.persistence.jms.JMSMessageStore" name="JMSMS"> <parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter> </messageStore> ๏ Message Processor Configuration for MB <messageProcessor class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor" name="Processor1" messageStore="JMSMS"> <parameter name="max.delivery.attempts">4</parameter> <parameter name="interval">4000</parameter> </messageProcessor> 29
  • 30. Throttling – SAP/ESB/MB ๏ Same as above setup for reliable messaging, but addresses a different concern. ๏ If messages are coming out from SAP very fast, we directly store it in a WSO2 MB queue via message store. ๏ Message processor can work slowly and process the messages with a tolerable speed. ๏ Alternatively, can use JMS proxies to send and receive messages as JMS. ๏ Doable with an ESB cluster as well. 30
  • 31. A Short Recoded Demo 31
  • 32. Future Work ๏ Support for Message Queuing Telemetry Transport (MQTT) ๏ Dynamic queue support in WSO2 MB ๏ CQL support integration over Hector to interact with Cassandra storage ๏ Support message priority levels 32
  • 33. Papers Published ๏ Perera H.S, Wickramarachchi C, Jayasinghe S.D, Weeravarana S, *“Andes: a highly scalable persistent messaging system”+, Web Services (ICWS), 2012 IEEE 19th International Conference, Honolulu, HI 33
  • 34. Conclusion ๏ WSO2 MB 2.2.0 comes out as a more stabilized and improved AMQP message broker with several high demand features like DLC and Flow Control implementation etc. The new version also includes a lot of bug fixes which makes it robust enough to reliably handle a bulk amount of messages with high concurrency in a clustered environment 34
  • 35. 35 More Information ! ๏ WSO2 MB product download page: http://wso2.com/products/message-broker/ ๏ WSO2 MB documentation: https://docs.wso2.org/display/MB211/WSO2+Messag e+Broker+Documentation ๏ WSO2 MB 2.2.0 cluster guide: https://docs.wso2.org/display/CLUSTER420/Clustering +Message+Broker