This document introduces AppFx.ServiceBus, a framework that simplifies implementing hybrid messaging with Windows Azure Service Bus. It discusses the challenges with existing solutions, such as needing to write a lot of plumbing code. AppFx.ServiceBus aims to provide a simplified development experience, support common messaging patterns, and establish standards for interoperability. Key use cases include connecting old versions of BizTalk to Azure Service Bus or doing lightweight queued messaging. The document demonstrates AppFx.ServiceBus with a scenario of integrating an on-premise WCF service and includes information on features and where to find more details.
2. Who am I?
Michael Stephenson
–
UK-Based Freelance Consultant specializing in:
•
•
•
BizTalk
Windows Azure
Integration
–
Was BizTalk MVP now a Microsoft Integration MVP for 5+ years
–
One of organizers of UK Connected Systems User Group
–
Blog: www.geekswithblogs.net/michaelstephenson
–
Twitter: @michael_Stephen
–
Linked In: http://www.linkedin.com/in/michaelstephensonuk1
Connected Systems Consulting Ltd
3. Agenda
•
•
•
What have we been up to?
Example Architectures
So what’s so hard about Service Bus
Connected Systems Consulting Ltd
4. What is AppFx.ServiceBus
AppFx.ServiceBus
Server Framework
AppFx.ServiceBus
Client Framework
Windows Azure
Service Bus
AppFx.ServiceBus Windows
Service
AppFx.ServiceBus
Server Framework
AppFx.ServiceBus
Client Framework
Application
Custom Cloud Application
Cloud Hosting
On Premise
Framework to simplify hybrid messaging
implementation with Windows Azure Service Bus
5. Why do we need this?
We love Windows Azure Service Bus but in real world projects
there are still challenges:
•
•
•
•
•
•
•
•
IIS hosted WCF didn’t work that great
Handle different types of message
Different message formats eg. XML or JSON
There’s lots of plumbing code to write
Where do you host receive code?
What about Message Factory refreshing
Need some standards to ensure interoperability
Lots of different message exchange patterns
–
–
–
Scatter Gather
RPC
One way
Connected Systems Consulting Ltd
6. What did we want to do?
Simplified
development
experience
Message
Exchange
Patterns
Standards &
interoperability
Framework
Focus on
functional
code not
plumbing
Consistent
approaches
Receive side
hosting
Connected Systems Consulting Ltd
7. Key use cases
• You should look at AppFx.ServiceBus if:
–
–
–
–
Trying your first hybrid integration project
Want to get up and running really quickly (e.g. Proof of Concept)
You don’t have BizTalk 2013
You want to connect old versions of BizTalk to Azure Service Bus (can act as a
bridge)
– You want to do light-weight queued messaging
Connected Systems Consulting Ltd
8. Features
Hosting
Message
Patterns
Architecture
Patterns
Client-side
Framework
Server-side
Framework
On-Premise
• Windows Service
• Console Application
• Custom
RPC
Cloud to Cloud
Integration
Messaging Clients
Message Handlers
One Way
Cloud to On-Premise
Integration
Error translation
Error Handling
One Way with Call
back
Dead Letter Processing
Logging
Retries
Scatter Gather
Standards around the
approach for interop
Cloud
• Azure VM Windows Service
• Azure Worker Role
• AWS EC2 Windows Service
JSON or XML Message
Support
Supports many
listeners and
namespaces
Logging
Connected Systems Consulting Ltd
9. The Standards
Message Context
Property
Use
Label
Indicates what type
of message the
body contains
Content Type
Used to indicate
the format of the
message (eg: JSON
or XML)
Is Error
Used to indicate if
the message is an
error message
Message Body
Can be any JSON or XML
13. Summary
•
•
•
•
Challenges behind AppFx.ServiceBus
Features and overview
Simple demo
More Info
– MSDN Guest Blog http://blogs.msdn.com/b/ukmsdn/archive/2013/03/11/guest-post-exposingyour-api-via-windows-azure-service-bus-queues-and-topics.aspx
– Codeplex - http://appfxservicebus.codeplex.com/documentation
Connected Systems Consulting Ltd