Building N-Gen Applications using Service Bus
You, Me & this Talk
About You
What will you learn in this session ?
How many of you made a Remote Procedure call ?
Did you experience this?
I Paid for the ticket online. But I dint get the ticket
How many of you fought with the system admins ?
Have you measured latency between 2 data centers
How many times you have missed a configuration change ?
Any time victim of hacking?
- Architecture and Jargon's behind Service Bus
- Reasons to choose Service Bus
- Patterns of the Bus Architecture
- Cost of using Service Bus
About Me
Do you know that
- Part of the DS Front Office Edge team.
- I am a seasoned developer with most experience in .Net and Microsoft technologies.
- My recent interests include Parallel & Distributed systems and Optimal Alogorithms
- Reach me here
- My Blog - http://shanky.azurewebsites.net/
- @srkshanky
- Google - G-mail outage caused by dual network failure
- Microsoft - "The service interruption was triggered by a misconfigured network device that disrupted traffic to one cluster in our West Europe sub-region."
- GoDaddy - "It was not a 'hack' and it was not a denial of service attack (DDoS). We have determined the service outage was due to a series of internal network events that corrupted router data tables."
Enterprise Service Bus
A Typical ESB structure
Difference between Bus and Broker
Other Forces which lead to ESB
Fallacies of Distributed Computing
Standards & Protocols
It depends on who is accountable
- in a Bus, publisher of the event is accountable
“single publishing endpoint per event-type”
- in a Broker, subscriber is accountable
- Advanced Message Queuing Protocol (AMQP)
- Streaming Text Oriented Messaging Protocol (STOMP)
- Microsoft Message Queuing (MSMQ)
- The network is reliable.
- Latency is zero.
- Bandwidth is infinite.
- The network is secure.
- Topology doesn't change.
- There is one administrator.
- Transport cost is zero.
- The network is homogeneous.
- Communication between applications usually creates coupling between them.
- In a point-to-point connectivity, the coupling has a quadratic growth. This quadratic growth hampers maintainability, modifiability, and integrability.
- Changing the interfaces of proprietary applications is difficult.
- Legacy applications don't want to change
What is a Bus ?
Reliable Messaging
Commercial Products
ESB Jargon's
- IBM WebSphere ESB
- Mule ESB
- JBoss Fuse
- Spring Integration
- Microsoft BizTalk Server
- Oracle Enterprise Service Bus
- NServiceBus
- TIBCO ActiveMatrix
- Azure Service Bus
- Message
- Bus
- Broker - hub/spoke
- Queue
- Publisher
- Subscriber
The list is too big.Please go to Wikipedia
Levels of Message guarantee
- Most once
- At least once
- Exactly once
- InOrder
Adopting Bus based Architecture
Patterns
- A set of agreed-upon message schema's
- A shared infrastructure for sending bus messages to recipients
- Publish/Subscribe for Events
- Correlated request-response
Things to consider before using Messaging
- Service Bus is not a Silver Bullet.
- Is your business ready for eventual concurrency
- Increased complexity - arch change
- Contract changes impact everyone. ready?
shankar.ramakrishnan@adp.com