0
ICTA Technology Meetup 12ICTA Technology Meetup 12
By Crishantha Nanayakkara
Message Brokers
Service Invocation
●
Synchronous
– The consumer uses a single thread to invoke 
the service. The thread sends the request,...
Synchronous – RPC Style
●
The predominant approach
– RMI, SOAP / REST Web Services, CORBA
●
Request/Response pattern
– Cal...
Asynchronous – Messaging Style
●
Decoupled
●
Reliable
– Message can be stored and forwarded
– Redelivery until the message...
Asynchronous – Messaging Style
Asynchronous – Messaging Style
●
Broadcast Oriented – All messages goes to all 
applications
●
Point­point – All messages ...
Messaging is used in distributed 
computing to achieve asynchronous 
communication
Notification and Eventing
Source: Service Oriented Architecture, Concepts, Technology and Design, Thomas Erl
Publisher Subscriber Pattern
Publisher Subscriber Pattern
●
This involves a publisher service that makes 
information categorized by different topics f...
Why Message Brokers?
Using a Message Broker
Using a Message Broker
●
A message broker can be used to perform the 
broadcast on the publishers’ behalf. 
●
Reduce the d...
14
Message Broker Standards and 
Implementations
●
The Message Broker protocols / standards:
– JMS (A Java standard)
– MSM...
15
JMS
●
JMS  is  a  Java  API  that  allows  applications  to 
create, send, receive and read messages.
●
JMS  API  defin...
16
Advanced Message Queuing Protocol 
(AMQP)
17
AMQP
●
AMQP (Advanced Message Queuing Protocol) 
is an open standard and a wire­level protocol, 
which is designed to s...
18
AMQP
●
For example, Java Message Producer (JMS 
Client) can send message to a .NET/C# 
consumer with the help of a AMQP...
19
JMS vs AMQP
●
JMS has the ability to communicate with non­Java platforms 
like Ruby by using Message Bridges. But this ...
Message Brokering in SOA
WS­Eventing vs WS­Notification
●
There are two WS specifications  to implement 
the publisher subscriber pattern
– WS­Even...
WS­Notification
(with a broker)
WS­Notification
(with a broker)
●
The Notification Broker (Web Service) – Acts on 
behalf of the publisher to perform the ...
WS­Notification compliant Message 
Brokers
At Alpha Stage – Developed by ICTA TT
WS­Eventing
WS­Eventing compliant Message 
Brokers
The Sample Code
●
https://docs.wso2.org/display/MB210/Web+S
ervice+Client+Sample
ESB Vs Message Broker
Any difference?
Questions ?
Upcoming SlideShare
Loading in...5
×

ICTA Meetup 12 - Message Brokers

194

Published on

This is about Message Brokers. It covers the concepts, specifications, open standards and the current implementations in the area of Message Brokers

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
194
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "ICTA Meetup 12 - Message Brokers"

  1. 1. ICTA Technology Meetup 12ICTA Technology Meetup 12 By Crishantha Nanayakkara Message Brokers
  2. 2. Service Invocation ● Synchronous – The consumer uses a single thread to invoke  the service. The thread sends the request,  blocks it until it gets the response from the  service ● Asynchronous – The consumer uses a pair of threads to invoke  the service. The first thread sends the request  and releases itself. The second thread gets the  response from the service once it completes  its task.
  3. 3. Synchronous – RPC Style ● The predominant approach – RMI, SOAP / REST Web Services, CORBA ● Request/Response pattern – Calls remote methods and waits for the  response ● Problems – Tight coupling – What about network failures or long latencies?
  4. 4. Asynchronous – Messaging Style ● Decoupled ● Reliable – Message can be stored and forwarded – Redelivery until the message processed ● Solves typical problems of distributed systems – Network Failures  – Network Latency issues
  5. 5. Asynchronous – Messaging Style
  6. 6. Asynchronous – Messaging Style ● Broadcast Oriented – All messages goes to all  applications ● Point­point – All messages goes to one  application ● Subscription based – All messages goes only to  subscribers 
  7. 7. Messaging is used in distributed  computing to achieve asynchronous  communication
  8. 8. Notification and Eventing Source: Service Oriented Architecture, Concepts, Technology and Design, Thomas Erl
  9. 9. Publisher Subscriber Pattern
  10. 10. Publisher Subscriber Pattern ● This involves a publisher service that makes  information categorized by different topics for  registered subscribers.  ● Subscribers can select which that they are willing to  subscribe by interacting directly with a publisher.  ● Here, When a new piece of information on a given  topic is available, the publisher broadcasts this  information to all those subscribers/ services that  have subscribed to that topic.
  11. 11. Why Message Brokers?
  12. 12. Using a Message Broker
  13. 13. Using a Message Broker ● A message broker can be used to perform the  broadcast on the publishers’ behalf.  ● Reduce the dependency between the publisher and  the subscriber allowing it for a complete decoupled  architecture.  ● Provides the much required flexibility and the  scalability.
  14. 14. 14 Message Broker Standards and  Implementations ● The Message Broker protocols / standards: – JMS (A Java standard) – MSMQ (.NET implementation) – AMQP (An open standard) ● Implementations: – Apache ActiveMQ (JMS) – .NET WCF (MSMQ) – RabbitMQ (AMQP) – Apache Qpid (AMQP) – ZeroMQ (AMQP)
  15. 15. 15 JMS ● JMS  is  a  Java  API  that  allows  applications  to  create, send, receive and read messages. ● JMS  API  defines  a  common  set  of  interfaces  and associated semantics that allow programs  written  in  Java  to  communicate  with  other  messaging implementations.
  16. 16. 16 Advanced Message Queuing Protocol  (AMQP)
  17. 17. 17 AMQP ● AMQP (Advanced Message Queuing Protocol)  is an open standard and a wire­level protocol,  which is designed to support messaging on  the Internet. ● AMQP is the only open standard available so  far for the cross platform interoperability  between heterogeneous messaging systems  and message brokers. 
  18. 18. 18 AMQP ● For example, Java Message Producer (JMS  Client) can send message to a .NET/C#  consumer with the help of a AMQP Message  Broker ● it is inter­operable, reliable, open,  standardized, complete and safe 
  19. 19. 19 JMS vs AMQP ● JMS has the ability to communicate with non­Java platforms  like Ruby by using Message Bridges. But this is a bit of a  complex situation in the Enterprise level Integration. ● The industry is using AMQP to get rid of this complexity
  20. 20. Message Brokering in SOA
  21. 21. WS­Eventing vs WS­Notification ● There are two WS specifications  to implement  the publisher subscriber pattern – WS­Eventing (A W3C Specification)  – WS­Notification (An OASIS Specification) ● Each one uses a different approach and a  terminology to fulfill the “same task” ● WS­Eventing is more simpler and WS­ Notification is more detailed
  22. 22. WS­Notification (with a broker)
  23. 23. WS­Notification (with a broker) ● The Notification Broker (Web Service) – Acts on  behalf of the publisher to perform the role of the  Notification Producer. ● The Publisher Registration Manager (Web Service)  – This provides an interface for subscribers to search  through and locate items available for registration ● The Subscription Manager (Web Service) – This  allows notification producers to access and retrieve  required subscriber information for a given  notification message broadcast.
  24. 24. WS­Notification compliant Message  Brokers At Alpha Stage – Developed by ICTA TT
  25. 25. WS­Eventing
  26. 26. WS­Eventing compliant Message  Brokers
  27. 27. The Sample Code ● https://docs.wso2.org/display/MB210/Web+S ervice+Client+Sample
  28. 28. ESB Vs Message Broker Any difference?
  29. 29. Questions ?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×