Programming4us
         
 
 
Windows

Cloud-Enabling the ESB with Windows Azure (part 1) - Receiving Messages from Azure’s AppFabric Service Bus

12/16/2010 11:46:48 AM
There are inevitably times when you will need to cross organizational boundaries in order to get trading partners, customers or suppliers integrated into your business processes. Traditionally, in a BizTalk environment, this would mean that you would have Web services hosted in IIS or in the BizTalk process on the BizTalk Servers. You then would reverse-proxy those services to make them available outside the firewall. You will also likely have a load balancer in play for either volume or high-availability purposes.

You would further need to define a security strategy. Crossing a security boundary like this is never easy and commonly introduced moving parts and some degree of risk.

By extending the ESB on-ramp to the Windows Azure platform, we can address several of these concerns. Windows Azure provides the Windows Azure platform Service Bus and the Windows Azure platform Access Control Service. These are both services we can use to extend the BizTalk on-ramp to Windows Azure.

Receiving Messages from Azure’s AppFabric Service Bus

The previously described WCF-Custom adapter allows you to select any bindings that are available on a given machine. When you install the Windows Azure platform AppFabric SDK, you get several new WCF relay bindings that allow you to communicate with the Service Bus. Instead of directly opening our infrastructure to the outside world, we will instead use that relay feature. External partners can publish their messages to the Service Bus, and we will receive them because we are the subscriber.

From an implementation perspective, it is trivial to receive messages from the Service Bus. You just create a new BizTalk receive location, choose one of the relay bindings, set the security credentials, and enable the receive location. Once you are done that, you have created an endpoint in the Service Bus (with an identifying namespace), and the Windows Azure Service Bus will send messages matching that endpoint to you. Figure 1 shows what this receive location looks like.

Figure 1. Notice the WCF-Custom adapter, as well as the URI, which indicates the Service Bus endpoint address.


The receive pipeline being used here (ItineraryReceiveXml), is one of the standard pipelines included with the ESB Toolkit. This means we could potentially implement something like passing a received message into the business rules engine; having a business rules engine evaluation determines which itinerary to use, retrieves that itinerary from the repository and stamps it on the message. This is identical to the sort of sequence we may go through if we were picking up a message from a SharePoint document list or from a flat file. The only difference is we made a couple of minor configuration changes to the WCF-Custom adapter settings and now we have extended our on-ramp to the cloud.

We have a secured pipe up to the Service Bus because we are the ones that initiated and secured the connection (using standard WCF message and transport security options). In addition, anyone publishing messages intended for the service endpoint will need to be authorized by the Windows Azure platform Access Control Service before they can do so. This secures the link from the external organization to the cloud.


Other -----------------
- Windows 7 : Sending and Receiving Secure Email (part 2) - Obtaining Another Person’s Public Key
- Windows 7 : Sending and Receiving Secure Email (part 1) - Setting Up an Email Account with a Digital ID
- Windows 7 : Maintaining Your Privacy While Reading Email
- Windows 7 : Email Phishing Protection
- SOA with .NET and Windows Azure : Service Hosting with WCF (part 3) - Managed Windows Services
- SOA with .NET and Windows Azure : Service Hosting with WCF (part 2) - Self-Hosted Services
- SOA with .NET and Windows Azure : Service Hosting with WCF (part 1)
- SOA with .NET and Windows Azure : Service Implementation with WCF (part 2)
- SOA with .NET and Windows Azure : Service Implementation with WCF (part 1)
- Windows 7 : Thwarting Spam with Windows Live Mail’s Junk Filter (part 2) - Blocking Countries and Languages
- Windows 7 : Thwarting Spam with Windows Live Mail’s Junk Filter (part 1)
- Windows 7 : Configuring Windows Defender to Scan Email
- Windows 7 : Protecting Yourself Against Email Viruses
- Windows 7 : Understand Internet Explorer’s Advanced Security Options
- SOA with .NET and Windows Azure : WCF Services - Overview
- SOA with .NET and Windows Azure : Web Services (ASMX and WSE)
- Windows 7 : Enhancing Your Browsing Security (part 6) - Managing Add-Ons
- Windows 7 : Enhancing Your Browsing Security (part 5) - Encoding Addresses to Prevent IDN Spoofing
- Windows 7 : Enhancing Your Browsing Security (part 4) - Thwarting Phishers with the SmartScreen Filter
- Windows 7 : Enhancing Your Browsing Security (part 3) - Changing a Zone’s Security Level
 
 
Most View
- Enable the Global Audit Policy by Using the Windows Interface
- Windows Server 2008 : Configuring Network Authentication (part 2)
- Programming Windows Phone 7 : Elements and Properties - More on Images
- SQL Server 2008 : Data Encryption
- Windows Server : Configuring TS Web Access
- Sharepoint 2010 : Backup and Restore (part 1) - Recycle Bin settings in Central Administration
- Engaging the SAP Solution Stack Vendors : General Sizing Best Practices and Approaches
- SQL Server 2012 : T-SQL Enhancements - The MERGE Statement (part 2)
- First Stages of SEO : Benchmarking Current Indexing Status
- Windows Phone 7 : Managing Storage on Your Phone
Top 10
- Implementing Edge Services for an Exchange Server 2007 Environment : Utilizing the Basic Sender and Recipient Connection Filters (part 3) - Configuring Recipient Filtering
- Implementing Edge Services for an Exchange Server 2007 Environment : Utilizing the Basic Sender and Recipient Connection Filters (part 2)
- Implementing Edge Services for an Exchange Server 2007 Environment : Utilizing the Basic Sender and Recipient Connection Filters (part 1)
- Implementing Edge Services for an Exchange Server 2007 Environment : Installing and Configuring the Edge Transport Server Components
- What's New in SharePoint 2013 (part 7) - BCS
- What's New in SharePoint 2013 (part 6) - SEARCH
- What's New in SharePoint 2013 (part 6) - WEB CONTENT MANAGEMENT
- What's New in SharePoint 2013 (part 5) - ENTERPRISE CONTENT MANAGEMENT
- What's New in SharePoint 2013 (part 4) - WORKFLOWS
- What's New in SharePoint 2013 (part 3) - REMOTE EVENTS