In late December 2011, Microsoft announced the pre-release of a set of services labeled Windows Azure Service Bus EAI Labs. These enhancements to the existing Windows Azure Service Bus make it easier to connect (cloud) applications through the use of message routing rules, protocol bridging, message transformation services and connectivity to on-premises line of business systems.
Microsoft has the three major components of the Windows Azure Service Bus EAI software. The first is referred to as EAI Bridges. Bridges form a messaging layer between multiple applications and support content-based routing rules for choosing a message destination. While a Bridge hosted in Windows Azure can only receive XML messages via HTTP, it can send its XML output to HTTP endpoints, Service Bus Topics, Service Bus Queues or to other Bridges. Developers can use the multiple stages of an XML Bridge to validate messages against a schema, enrich it with reference data, or transform it from one structure to another.
Transforms are the second component of the Service Bus EAI Labs release and are targeted at developers who need to change the XML structure of data as it moves between applications. To create these transformations that run in Windows Azure, Microsoft is providing a visual XSLT mapping tool that is reminiscent of a similar tool that ships with Microsoft’s BizTalk Server integration product. However, this new XSLT mapper has a richer set of canned operations that developers can use to manipulate the XML data. Besides basic string manipulation and arithmetic operators, this mapping tool also provides more advanced capabilities like storing state in user-defined lists, and performing If-Then-Else assessments when deciding how to populate the destination message. There is not yet word from Microsoft on whether they will support the creation of custom functions for these Transforms.
The final major component of this Labs release is called Service Bus Connect. This appears to build on two existing Microsoft products: the Windows Azure Service Bus Relay Service and the BizTalk Adapter Pack. Service Bus Connect is advertised as a way for cloud applications to securely communicate with onsite line of business systems like SAP, Siebel, and Oracle E-Business Suite as well as SQL Server and Oracle data repositories. Developers create what are called Line of Business Relays that make internal business data or functions readily accessible via secure Azure Service Bus endpoint.
Microsoft has released a set of tools and templates for Microsoft Visual Studio that facilitate creation of Service Bus EAI solutions. A number of Microsoft MVPs authored blog posts that showed how to build projects based on each major Service Bus EAI component. Mikael Hakansson explained how to configure a Bridge that leveraged content-based routing, Kent Weare demonstrated the new XSLT mapping tool, and Steef-Jan Wiggers showed how to use Service Bus Connect to publicly expose an Oracle database.
InfoQ reached out to Itai Raz, a Product Manager for the Windows Azure team, to learn a bit more about the goals and direction of the Azure integration components.
InfoQ: The EAI bridge CTP release focuses on enabling line of business systems for cloud access. Could I use the EAI framework to link two cloud environments?
Raz: Yes, with the current capabilities you can do both: connect to on-premises line-of-business systems from the cloud, and also connect two cloud services. Basically this release enables connecting two services in a way in which messages from one service can be transformed, enriched, and then routed to the other service, whether the service resides in the cloud or on-premises.
InfoQ: What should be the big takeaway for developers when they see this announcement? What about CIOs?
Raz: I would say that in general, relevant to all our customers including CIOs, the big takeaway from this announcement is that the integration workload is a major priority for Microsoft, and you will see us investing more in this space by continuing to enable traditional integration scenarios, and also completely new integration scenarios, with the integration capabilities in Windows Azure.
Specifically for developers, with this release we make it really easy for developers to develop, deploy and manage integration solutions on Windows Azure that connect cloud services, and cloud services to on-premises systems. In addition, .NET developers can use their existing .NET and Visual Studio skills and experience to develop these integration solutions.
InfoQ: While adding a connectivity bridge is an important addition to the Windows Azure integration platform, do you anticipate that we'll see some sort of workflow/orchestration in the mix as well?
Raz: In Windows Azure we are providing a rich and comprehensive platform that has many different capabilities that customers can mix and match according to their needs. You can already use the Windows Workflow Foundation in Windows Azure applications, and we are planning to make that experience richer.
We have been keeping our customers and their needs in mind as we release enhancements to the integration capabilities, and the platform in general, which as noted earlier, will include updates to the workflow/orchestration capabilities.
InfoQ: Would you expect that the EAI/EDI CTP would have its own production release, or would it wait for a "full" launch of Windows Azure integration services?
Raz: In Windows Azure we have the advantage of being able to release capabilities in a different cadence. We are continuously working on improving and updating the platform, and as a result we will be releasing new capabilities as they become available. This being said, you will not have to wait for a ‘full launch’, but rather you will be notified via our Windows Azure blog, when new capabilities are released and enhanced.