SlideShare a Scribd company logo
1 of 24
Download to read offline
Last Updated: Jan. 2014
Director	
  –	
  Solu-ons	
  Architecture	
  
Manoj	
  Fernando	
  
SOA	
  Pa/erns	
  Webinar	
  Series	
  
Reliable	
  Messaging	
  /Guaranteed	
  delivery	
  
2	
  
About	
  WSO2	
  
๏  Global	
  enterprise,	
  founded	
  in	
  2005	
  
by	
  acknowledged	
  leaders	
  in	
  XML,	
  
web	
  services	
  	
  technologies,	
  
standards	
  	
  and	
  open	
  source	
  
๏  Provides	
  only	
  open	
  source	
  
plaIorm-­‐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	
  AcQve	
  Member	
  of	
  OASIS,	
  
Cloud	
  Security	
  Alliance,	
  OSGi	
  
Alliance,	
  AMQP	
  Working	
  Group,	
  
OpenID	
  FoundaQon	
  and	
  W3C.	
  
๏  Driven	
  by	
  InnovaQon	
  
๏  Launched	
  first	
  open	
  source	
  API	
  
Management	
  soluQon	
  in	
  2012	
  
๏  Launched	
  App	
  Factory	
  in	
  2Q	
  2013	
  
๏  Launched	
  Enterprise	
  Store	
  and	
  
first	
  open	
  source	
  Mobile	
  soluQon	
  
in	
  4Q	
  2013	
  
3	
  
What	
  WSO2	
  delivers	
  
4	
  
Business	
  Model	
  
5	
  
About	
  the	
  Presenter	
  
Manoj	
  Fernando	
  	
  
(Director	
  -­‐	
  SoluQons	
  Architecture	
  @	
  WSO2)	
  
Email	
  :	
  manojf@wso2.com	
  
	
  
Blog	
  :	
  h/p://manoj-­‐fernando.blogspot.com/	
  
6	
  
Problem	
  
	
  
	
  
Service	
  communicaQon	
  cannot	
  be	
  guaranteed	
  when	
  
using	
  unreliable	
  messaging	
  protocols	
  or	
  when	
  
dependent	
  on	
  an	
  otherwise	
  unreliable	
  environment.	
  
	
  
Source	
  :	
  h/p://soapa/erns.org/	
  
7	
  
Need	
  for	
  reliability	
  
§  Guaranteed	
  message	
  delivery	
  is	
  a	
  guaranteed	
  requirement	
  in	
  
Distributed	
  and	
  Service	
  Oriented	
  Architectures.	
  
§  ApplicaQons	
  usually	
  depend	
  on	
  middleware	
  +	
  infrastructure	
  for	
  
making	
  sure	
  that	
  messages	
  are	
  delivered…	
  
§  Just	
  Once	
  (Avoiding	
  duplicaQons)	
  
§  Accurately	
  (In	
  full	
  and	
  uncorrupted)	
  
§  On	
  Qme	
  (In	
  order	
  and	
  as	
  soon	
  as	
  possible)	
  
§  Resilience	
  over	
  transport	
  and	
  system	
  failures.	
  
8	
  
EvoluQon	
  
§  Various	
  a/empts	
  to	
  handle	
  reliability	
  using	
  addiQonal	
  message	
  
exchanges.	
  
§  WS-­‐RM	
  specificaQon	
  aimed	
  at	
  delivering	
  messages	
   Exactly	
  Once	
  
and	
  In	
  Order 	
  which	
  was	
  the	
  primary	
  moQve.	
  
§  SpecificaQon	
  also	
  aimed	
  at	
  keeping	
   Composability 	
  intact	
  with	
  
other	
  specificaQons	
  and	
  standards	
  (i.e.	
  WS-­‐RM s	
  dependency	
  on	
  
WS-­‐Addressing).	
  
§  WS-­‐Reliability	
  -­‐	
  an	
  alternaQve	
  specificaQon	
  (implementaQon	
  :	
  	
  
RM4GS)	
  submi/ed	
  and	
  standardized	
  in	
  parallel	
  to	
  WS-­‐RM.	
  
9	
  
WS-­‐RM	
  Core	
  Model	
  
10	
  
So…where	
  does	
  WS-­‐RM	
  currently	
  stand?	
  
§  Various	
  vendors	
  have	
  adapted	
  the	
  standard	
  and	
  have	
  come	
  up	
  
with	
  their	
  different	
  implementaQons.	
  
§  SQll	
  in	
  use,	
  but	
  not	
  as	
  much	
  as	
  it	
  should	
  have	
  been.	
  
§  Dependency	
  on	
  addiQonal	
  service	
  and	
  client	
  level	
  configuraQons	
  
were	
  probably	
  a	
  key	
  reason	
  behind	
  its	
  less	
  adaptability.	
  
§  Some	
  of	
  these	
  drawbacks	
  have	
  led	
  for	
  applicaQon	
  designers	
  to	
  look	
  
for	
  alternaQve	
  means	
  to	
  achieve	
  reliable	
  delivery.	
  
11	
  
Key	
  CharacterisQcs	
  of	
  Reliability	
  
IrrespecQve	
  of	
  the	
  specificaQon,	
  standard	
  or	
  implementaQon…	
  the	
  
objecQves	
  are	
  clear!	
  
	
  
§ Resilience	
  and	
  Delivery	
  Assurance	
  (Transport/Component)	
  
§ Must	
  be	
  transparent	
  to	
  sender	
  and	
  ulQmate	
  receiver	
  
§ AutomaQc	
  retying	
  over	
  failure	
  a/empts.	
  
§ IdenQficaQon	
  and	
  Sequencing	
  (Avoid	
  duplicaQons)	
  
§ Order	
  needs	
  to	
  be	
  maintained.	
  
§ Acknowledged	
  and	
  noQfied.	
  
12	
  
SoluQon	
  
	
  
	
  
An	
  intermediate	
  reliability	
  mechanism	
  is	
  introduced	
  
into	
  the	
  inventory	
  architecture,	
  ensuring	
  that	
  message	
  
delivery	
  is	
  guaranteed.	
  
	
  
Source	
  :	
  h/p://soapa/erns.org/	
  
13	
  
Service	
  Pa/ern	
  
§  Service	
  consumers	
  depends	
  on	
  an	
  intermediate	
  reliability	
  mechanism	
  to	
  
reliably	
  deliver	
  the	
  messages	
  to	
  the	
  backend	
  service.	
  
intermediate reliability
mechanism 	

Service Consumer	

Backend Service	

(A)	

 (A)	

(ACK)	

(ACK)	

(B)	

(A) – Message Delivery flow	

(B) – Persistence Repo	

Message
send and
retry
14	
  
Sample	
  Scenario	
  
An	
  account	
  holder	
  makes	
  a	
  credit	
  card	
  repayment	
  at	
  an	
  ATM,	
  
and	
  the	
  transacQon	
  must	
  update	
  the	
  account	
  balance	
  upon	
  
confirmaQon.	
  
	
   Transaction
Creation	

Transaction
Dispatch	

Card Repayment
Workflow	

Transaction
Processor	

RM Source	

 RM Destination	

Transmit	

Acknowledge	

Accept	

Accept	

Send	

 Deliver	

Application
Source	

Application
Destination
15	
  
CriQcal	
  Success	
  Factors	
  for	
  this	
  model	
  to	
  work	
  
§  RM	
  Source	
  must	
  persist	
  the	
  message	
  immediately	
  aner	
  accepQng	
  
§  RM	
  Source	
  has	
  to	
  asynchronously	
  deliver	
  the	
  message	
  not	
  leong	
  
the	
  applicaQon	
  source	
  to	
  wait.	
  
§  Message	
  has	
  to	
  be	
  delivered	
  iteraQvely	
  (with	
  configurable	
  wait	
  
Qmes,	
  and	
  number	
  of	
  retries)	
  and	
  the	
  delivery	
  process	
  should	
  only	
  
end	
  aner	
  the	
  acknowledgement	
  is	
  received	
  back	
  from	
  RM	
  
desQnaQon.	
  
§  The	
  ApplicaQon	
  source	
  needs	
  to	
  be	
  noQfied	
  (opQonal)	
  
RM Source	

 RM Destination	

Transmit	

Acknowledge	

Accept	

Accept	

Send	

 Deliver
16	
  
ImplemenQng	
  RM	
  using	
  WSO2	
  plaIorm	
  
Service Consumer	

Service	

(ACK)	

(ACK)	

(B)	

Message send /
retry	

Message 	

Store	

(REQ)	

 (REQ)	

Message 	

Processor	

Queue
17	
  
Use	
  Case	
  :	
  Scenario	
  A	
  
§  The	
  client	
  sends	
  requests	
  to	
  a	
  
proxy	
  service.	
  
§  The	
  proxy	
  service	
  immediately	
  
stores	
  the	
  messages	
  to	
  a	
  JMS	
  
message	
  store.	
  	
  
§  The	
  back-­‐end	
  service	
  is	
  invoked	
  
by	
  a	
  message	
  forwarding	
  
processor,	
  which	
  picks	
  stored	
  
messages	
  in	
  the	
  JMS	
  message	
  
store.	
  
§  Message	
  is	
  removed	
  from	
  the	
  
store	
  upon	
  acknowledgement	
  
by	
  the	
  backend	
  service.	
  	
  
	
  
Proxy	

Message
Store	

Message
Forwarding	

Processor	

Backend
Service	

Reliable In
Only
Invocation
18	
  
Use	
  Case	
  :	
  Scenario	
  B	
  
§  Extension	
  to	
  Scenario	
  A	
  
§  	
  Service	
  invocaQon	
  places	
  
the	
  response	
  on	
  to	
  a	
  reply	
  
sequence.	
  
§  Can	
  use	
  a	
  callback	
  URL	
  to	
  
noQfy	
  the	
  ApplicaQon	
  
source.	
  
	
  
Proxy	

Message
Store	

Message
Forwarding	

Processor	

Backend
Service	

Reliable
Invocation	

Reply Sequence	

Callback URL
to Notify
19	
  
What	
  makes	
  a	
  Message	
  Broker	
  a	
  good	
  candidate?	
  
§  Message	
  Autonomy	
  
	
  Messages	
  are	
  self-­‐contained	
  autonomous	
  entries	
  and	
  can	
  be	
  sent	
  
	
  and	
  re-­‐sent	
  many	
  Qmes	
  across	
  its	
  lifecycle.	
  
§  Store	
  and	
  Forward	
  nature	
  
	
  Once	
  marked	
  as	
  persisted,	
  it	
  is	
  the	
  responsibility	
  of	
  the	
  JMS	
  
	
  provider	
  to	
  deliver	
  to	
  the	
  desQnaQon.	
  
§  Message	
  Acknowledgements	
  
	
  Message	
  Acknowledgement	
  is	
  an	
  in-­‐built	
  feature	
  of	
  JMS.	
  
	
  
20	
  
ESB	
  Config	
  
<proxy …>
<target>
<inSequence>
<log/>
<property name="FORCE_SC_ACCEPTED"
value="true" scope="axis2"/>
<property name="OUT_ONLY" value="true"/
>
<property name="target.endpoint"
value="AccountCreditEP"/>
<log level="full"/>
<store
messageStore="JMSMS"/>
</inSequence>
<outSequence>
<log/>
</outSequence>
</target>
<publishWSDL uri="http://10.100.0.134:9764/
services/AccountCreditService?wsdl"/>
<description/>
<messageStore
class="org.apache.synapse.message.st
ore.impl.jms.JmsStore"
name="JMSMS">
<parameter
name="java.naming.factory.initial">org.
wso2.andes.jndi.PropertiesFileInitialCon
textFactory</parameter>
<parameter
name="java.naming.provider.url">reposi
tory/conf/jndi.properties</parameter>
<parameter
name="store.jms.destination">JMSMS</
parameter>
</messageStore>
Sample Proxy Configuration	

MessageStore Configuration
21	
  
ESB	
  Config	
  
<messageProcessor
class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMess
ageForwardingProcessor"
name="AccountCreditMessageProcessor"
targetEndpoint="AccountCreditEP"
messageStore="JMSMS">
<parameter name="max.delivery.attempts">4</parameter>
<parameter name="client.retry.interval">6000</parameter>
<parameter name="interval">5000</parameter>
<parameter name="is.active">true</parameter>
<parameter name="message.processor.reply.sequence">replySequence</
parameter>
</messageProcessor>
Message Processor Configuration
22	
  
TesQng	
  the	
  sample	
  scenario	
  
JAX-WS
Service	

Service Consumer	

Service	

(ACK)	

(B)	

Message send /
retry	

Message 	

Store	

(REQ)	

(REQ)	

Message 	

Processor	

Queue
23	
  
Demo	
  &	
  Q&A	
  
Contact	
  us	
  !	
  

More Related Content

What's hot

MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17
MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17
MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17Scott Logan
 
VLAN Virtual Area Network ,Switch,Ethernet ,VIkram Snehi
VLAN Virtual Area Network ,Switch,Ethernet ,VIkram SnehiVLAN Virtual Area Network ,Switch,Ethernet ,VIkram Snehi
VLAN Virtual Area Network ,Switch,Ethernet ,VIkram SnehiMR. VIKRAM SNEHI
 
Melbourne API Management Seminar
Melbourne API Management SeminarMelbourne API Management Seminar
Melbourne API Management SeminarCA API Management
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...HostedbyConfluent
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusMahmoud Ezzat
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)Ahmed Misbah
 
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway PatternAPI Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway PatternVMware Tanzu
 
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Morgan Simonsen
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
 
The business case for SD WAN in the enterprise
The business case for SD WAN in the enterprise The business case for SD WAN in the enterprise
The business case for SD WAN in the enterprise Colt Technology Services
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days UkraineSam Newman
 
Developing SDN apps in Ryu
Developing SDN apps in RyuDeveloping SDN apps in Ryu
Developing SDN apps in RyuChe Wei Lin
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)Milson Munakami
 
API Gateway Use Cases​ for Kubernetes​
API Gateway Use Cases​ for Kubernetes​API Gateway Use Cases​ for Kubernetes​
API Gateway Use Cases​ for Kubernetes​NGINX, Inc.
 
Understanding Cisco’ Next Generation SD-WAN Technology
Understanding Cisco’ Next Generation SD-WAN TechnologyUnderstanding Cisco’ Next Generation SD-WAN Technology
Understanding Cisco’ Next Generation SD-WAN TechnologyCisco Canada
 

What's hot (20)

MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17
MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17
MetTel SD-WAN Hidden Benefits - webinar deck - Jan '17
 
VLAN Virtual Area Network ,Switch,Ethernet ,VIkram Snehi
VLAN Virtual Area Network ,Switch,Ethernet ,VIkram SnehiVLAN Virtual Area Network ,Switch,Ethernet ,VIkram Snehi
VLAN Virtual Area Network ,Switch,Ethernet ,VIkram Snehi
 
Melbourne API Management Seminar
Melbourne API Management SeminarMelbourne API Management Seminar
Melbourne API Management Seminar
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Virtualization vs. Cloud Computing: What's the Difference?
Virtualization vs. Cloud Computing: What's the Difference?Virtualization vs. Cloud Computing: What's the Difference?
Virtualization vs. Cloud Computing: What's the Difference?
 
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)
 
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway PatternAPI Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
 
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
The business case for SD WAN in the enterprise
The business case for SD WAN in the enterprise The business case for SD WAN in the enterprise
The business case for SD WAN in the enterprise
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days Ukraine
 
Cloud Architecture
Cloud ArchitectureCloud Architecture
Cloud Architecture
 
2 vm provisioning
2 vm provisioning2 vm provisioning
2 vm provisioning
 
Developing SDN apps in Ryu
Developing SDN apps in RyuDeveloping SDN apps in Ryu
Developing SDN apps in Ryu
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
API Gateway Use Cases​ for Kubernetes​
API Gateway Use Cases​ for Kubernetes​API Gateway Use Cases​ for Kubernetes​
API Gateway Use Cases​ for Kubernetes​
 
Understanding Cisco’ Next Generation SD-WAN Technology
Understanding Cisco’ Next Generation SD-WAN TechnologyUnderstanding Cisco’ Next Generation SD-WAN Technology
Understanding Cisco’ Next Generation SD-WAN Technology
 
Outdoor Point-to-Point Deployments
Outdoor Point-to-Point DeploymentsOutdoor Point-to-Point Deployments
Outdoor Point-to-Point Deployments
 

Similar to Reliable Messaging /Guaranteed delivery

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
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQRob Davies
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Systems UKI
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message brokerANASYS
 
f2f-overview12.ppt
f2f-overview12.pptf2f-overview12.ppt
f2f-overview12.pptwentaozhu3
 
f2f-overview1-presentation about rabbitmq and middleware
f2f-overview1-presentation about rabbitmq and middlewaref2f-overview1-presentation about rabbitmq and middleware
f2f-overview1-presentation about rabbitmq and middlewarendonikristi98
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTSandyarathi Das
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actiondejanb
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...confluent
 
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0WSO2
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineAl Sargent
 
Kubernetes Istio Miami meetup
Kubernetes Istio Miami meetupKubernetes Istio Miami meetup
Kubernetes Istio Miami meetupDustin Humphries
 
Flexiant and 451 Research Discuss the Service Provider Path from VPS to IaaS
Flexiant and 451 Research Discuss the Service Provider Path from VPS to IaaSFlexiant and 451 Research Discuss the Service Provider Path from VPS to IaaS
Flexiant and 451 Research Discuss the Service Provider Path from VPS to IaaSFlexiant
 
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIImplementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIIJCSIS Research Publications
 
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersDavid Ware
 
ZendCon - Integration and Asynchronous Processing with ActiveMQ and Camel
ZendCon - Integration and Asynchronous Processing with ActiveMQ and CamelZendCon - Integration and Asynchronous Processing with ActiveMQ and Camel
ZendCon - Integration and Asynchronous Processing with ActiveMQ and CamelJustin Reock
 
Maximize Holiday Revenue for Magento eCommerce
Maximize Holiday Revenue for Magento eCommerceMaximize Holiday Revenue for Magento eCommerce
Maximize Holiday Revenue for Magento eCommerceLagrange Systems
 

Similar to Reliable Messaging /Guaranteed delivery (20)

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...
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ Clusters
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message broker
 
f2f-overview12.ppt
f2f-overview12.pptf2f-overview12.ppt
f2f-overview12.ppt
 
f2f-overview1-presentation about rabbitmq and middleware
f2f-overview1-presentation about rabbitmq and middlewaref2f-overview1-presentation about rabbitmq and middleware
f2f-overview1-presentation about rabbitmq and middleware
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORT
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in action
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
WSO2 Product Release webinar - WSO2 Message Broker 2.2.0
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO Magazine
 
Kubernetes Istio Miami meetup
Kubernetes Istio Miami meetupKubernetes Istio Miami meetup
Kubernetes Istio Miami meetup
 
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. JuričJavantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
 
Flexiant and 451 Research Discuss the Service Provider Path from VPS to IaaS
Flexiant and 451 Research Discuss the Service Provider Path from VPS to IaaSFlexiant and 451 Research Discuss the Service Provider Path from VPS to IaaS
Flexiant and 451 Research Discuss the Service Provider Path from VPS to IaaS
 
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIImplementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
 
Stonehenge
StonehengeStonehenge
Stonehenge
 
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
 
ZendCon - Integration and Asynchronous Processing with ActiveMQ and Camel
ZendCon - Integration and Asynchronous Processing with ActiveMQ and CamelZendCon - Integration and Asynchronous Processing with ActiveMQ and Camel
ZendCon - Integration and Asynchronous Processing with ActiveMQ and Camel
 
Maximize Holiday Revenue for Magento eCommerce
Maximize Holiday Revenue for Magento eCommerceMaximize Holiday Revenue for Magento eCommerce
Maximize Holiday Revenue for Magento eCommerce
 

More from WSO2

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

More from WSO2 (20)

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

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Reliable Messaging /Guaranteed delivery

  • 1. Last Updated: Jan. 2014 Director  –  Solu-ons  Architecture   Manoj  Fernando   SOA  Pa/erns  Webinar  Series   Reliable  Messaging  /Guaranteed  delivery  
  • 2. 2   About  WSO2   ๏  Global  enterprise,  founded  in  2005   by  acknowledged  leaders  in  XML,   web  services    technologies,   standards    and  open  source   ๏  Provides  only  open  source   plaIorm-­‐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  AcQve  Member  of  OASIS,   Cloud  Security  Alliance,  OSGi   Alliance,  AMQP  Working  Group,   OpenID  FoundaQon  and  W3C.   ๏  Driven  by  InnovaQon   ๏  Launched  first  open  source  API   Management  soluQon  in  2012   ๏  Launched  App  Factory  in  2Q  2013   ๏  Launched  Enterprise  Store  and   first  open  source  Mobile  soluQon   in  4Q  2013  
  • 3. 3   What  WSO2  delivers  
  • 5. 5   About  the  Presenter   Manoj  Fernando     (Director  -­‐  SoluQons  Architecture  @  WSO2)   Email  :  manojf@wso2.com     Blog  :  h/p://manoj-­‐fernando.blogspot.com/  
  • 6. 6   Problem       Service  communicaQon  cannot  be  guaranteed  when   using  unreliable  messaging  protocols  or  when   dependent  on  an  otherwise  unreliable  environment.     Source  :  h/p://soapa/erns.org/  
  • 7. 7   Need  for  reliability   §  Guaranteed  message  delivery  is  a  guaranteed  requirement  in   Distributed  and  Service  Oriented  Architectures.   §  ApplicaQons  usually  depend  on  middleware  +  infrastructure  for   making  sure  that  messages  are  delivered…   §  Just  Once  (Avoiding  duplicaQons)   §  Accurately  (In  full  and  uncorrupted)   §  On  Qme  (In  order  and  as  soon  as  possible)   §  Resilience  over  transport  and  system  failures.  
  • 8. 8   EvoluQon   §  Various  a/empts  to  handle  reliability  using  addiQonal  message   exchanges.   §  WS-­‐RM  specificaQon  aimed  at  delivering  messages   Exactly  Once   and  In  Order  which  was  the  primary  moQve.   §  SpecificaQon  also  aimed  at  keeping   Composability  intact  with   other  specificaQons  and  standards  (i.e.  WS-­‐RM s  dependency  on   WS-­‐Addressing).   §  WS-­‐Reliability  -­‐  an  alternaQve  specificaQon  (implementaQon  :     RM4GS)  submi/ed  and  standardized  in  parallel  to  WS-­‐RM.  
  • 10. 10   So…where  does  WS-­‐RM  currently  stand?   §  Various  vendors  have  adapted  the  standard  and  have  come  up   with  their  different  implementaQons.   §  SQll  in  use,  but  not  as  much  as  it  should  have  been.   §  Dependency  on  addiQonal  service  and  client  level  configuraQons   were  probably  a  key  reason  behind  its  less  adaptability.   §  Some  of  these  drawbacks  have  led  for  applicaQon  designers  to  look   for  alternaQve  means  to  achieve  reliable  delivery.  
  • 11. 11   Key  CharacterisQcs  of  Reliability   IrrespecQve  of  the  specificaQon,  standard  or  implementaQon…  the   objecQves  are  clear!     § Resilience  and  Delivery  Assurance  (Transport/Component)   § Must  be  transparent  to  sender  and  ulQmate  receiver   § AutomaQc  retying  over  failure  a/empts.   § IdenQficaQon  and  Sequencing  (Avoid  duplicaQons)   § Order  needs  to  be  maintained.   § Acknowledged  and  noQfied.  
  • 12. 12   SoluQon       An  intermediate  reliability  mechanism  is  introduced   into  the  inventory  architecture,  ensuring  that  message   delivery  is  guaranteed.     Source  :  h/p://soapa/erns.org/  
  • 13. 13   Service  Pa/ern   §  Service  consumers  depends  on  an  intermediate  reliability  mechanism  to   reliably  deliver  the  messages  to  the  backend  service.   intermediate reliability mechanism Service Consumer Backend Service (A) (A) (ACK) (ACK) (B) (A) – Message Delivery flow (B) – Persistence Repo Message send and retry
  • 14. 14   Sample  Scenario   An  account  holder  makes  a  credit  card  repayment  at  an  ATM,   and  the  transacQon  must  update  the  account  balance  upon   confirmaQon.     Transaction Creation Transaction Dispatch Card Repayment Workflow Transaction Processor RM Source RM Destination Transmit Acknowledge Accept Accept Send Deliver Application Source Application Destination
  • 15. 15   CriQcal  Success  Factors  for  this  model  to  work   §  RM  Source  must  persist  the  message  immediately  aner  accepQng   §  RM  Source  has  to  asynchronously  deliver  the  message  not  leong   the  applicaQon  source  to  wait.   §  Message  has  to  be  delivered  iteraQvely  (with  configurable  wait   Qmes,  and  number  of  retries)  and  the  delivery  process  should  only   end  aner  the  acknowledgement  is  received  back  from  RM   desQnaQon.   §  The  ApplicaQon  source  needs  to  be  noQfied  (opQonal)   RM Source RM Destination Transmit Acknowledge Accept Accept Send Deliver
  • 16. 16   ImplemenQng  RM  using  WSO2  plaIorm   Service Consumer Service (ACK) (ACK) (B) Message send / retry Message Store (REQ) (REQ) Message Processor Queue
  • 17. 17   Use  Case  :  Scenario  A   §  The  client  sends  requests  to  a   proxy  service.   §  The  proxy  service  immediately   stores  the  messages  to  a  JMS   message  store.     §  The  back-­‐end  service  is  invoked   by  a  message  forwarding   processor,  which  picks  stored   messages  in  the  JMS  message   store.   §  Message  is  removed  from  the   store  upon  acknowledgement   by  the  backend  service.       Proxy Message Store Message Forwarding Processor Backend Service Reliable In Only Invocation
  • 18. 18   Use  Case  :  Scenario  B   §  Extension  to  Scenario  A   §   Service  invocaQon  places   the  response  on  to  a  reply   sequence.   §  Can  use  a  callback  URL  to   noQfy  the  ApplicaQon   source.     Proxy Message Store Message Forwarding Processor Backend Service Reliable Invocation Reply Sequence Callback URL to Notify
  • 19. 19   What  makes  a  Message  Broker  a  good  candidate?   §  Message  Autonomy    Messages  are  self-­‐contained  autonomous  entries  and  can  be  sent    and  re-­‐sent  many  Qmes  across  its  lifecycle.   §  Store  and  Forward  nature    Once  marked  as  persisted,  it  is  the  responsibility  of  the  JMS    provider  to  deliver  to  the  desQnaQon.   §  Message  Acknowledgements    Message  Acknowledgement  is  an  in-­‐built  feature  of  JMS.    
  • 20. 20   ESB  Config   <proxy …> <target> <inSequence> <log/> <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/> <property name="OUT_ONLY" value="true"/ > <property name="target.endpoint" value="AccountCreditEP"/> <log level="full"/> <store messageStore="JMSMS"/> </inSequence> <outSequence> <log/> </outSequence> </target> <publishWSDL uri="http://10.100.0.134:9764/ services/AccountCreditService?wsdl"/> <description/> <messageStore class="org.apache.synapse.message.st ore.impl.jms.JmsStore" name="JMSMS"> <parameter name="java.naming.factory.initial">org. wso2.andes.jndi.PropertiesFileInitialCon textFactory</parameter> <parameter name="java.naming.provider.url">reposi tory/conf/jndi.properties</parameter> <parameter name="store.jms.destination">JMSMS</ parameter> </messageStore> Sample Proxy Configuration MessageStore Configuration
  • 21. 21   ESB  Config   <messageProcessor class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMess ageForwardingProcessor" name="AccountCreditMessageProcessor" targetEndpoint="AccountCreditEP" messageStore="JMSMS"> <parameter name="max.delivery.attempts">4</parameter> <parameter name="client.retry.interval">6000</parameter> <parameter name="interval">5000</parameter> <parameter name="is.active">true</parameter> <parameter name="message.processor.reply.sequence">replySequence</ parameter> </messageProcessor> Message Processor Configuration
  • 22. 22   TesQng  the  sample  scenario   JAX-WS Service Service Consumer Service (ACK) (B) Message send / retry Message Store (REQ) (REQ) Message Processor Queue
  • 23. 23   Demo  &  Q&A