One benefit of my recent experience on a BA flight was that I got plenty of time to read through “Microsoft BizTalk 2010 Line of Business Systems Integration”. I’d promised the publisher weeks ago that I would take a look and publish some comments, but August has been such a busy month for me, and they have had to be patient. I should point out that, for the sake of transparency, that with another BizTalk book about to be released (next week) which I helped co-author, I have an urgent and obvious need to make good on this promise before I start to blog on other stuff.

BTS10LoBI is a really welcome addition to the corpus of BizTalk Server books and fills a conspicuous gap in the market. BizTalk Server offers a wide-ranging library of adapters. The ’native’ (built-in) adapters understandably get a lot of attention, as do the WCF adapters, but other adapters, such as the LoB adapters and HIS adapters, are often overlooked. I came to the book with the mistaken assumption that its chief focus was on the BizTalk Adapter Pack. This is a pack of adapters built with the WCF-based LoB SDK. In fact, the book follows a much broader path. It is a book about LoB integration in a general sense, and not about one specific suite of adapters. Indeed, it is not simply about adapters. It focuses on integration with various LoB systems, and explains how adapters and other tools are used to achieve this.

This makes for a more interesting read. For example, one, possibly unintended, consequence (given that it represents collaboration between five different authors) is that it illustrates very effectively the spectrum of approaches and techniques that end up being employed in real-world integration. In some cases developers use adapters that offer focused support for metadata harvesting and other features, exploited through tools such as the ’Consume Adapter Service’ UI. In other cases, they use native adapters with hand-crafted schemas, or they create fa%u00e7ade services. The book covers additional scenarios where third-party LoB tools and cloud services (specifically SalesForce) are used in conjunction with BizTalk Server. Coupled with lots of practical examples, the book serves to provide insight into the ’feel’ of real-world integration which is so often a messy and multi-faceted experience.

The book does not cover the BizTalk Adapter Pack comprehensively. There is no chapter on the Oracle adapters (not a significant issue because they are very similar to the SQL Server adapter) or the Siebel adapter. On the other hand, it provides two chapters on the SAP adapter looking at both IDOC and RFC/BAPI approaches. I particularly welcome the inclusion of chapters on integration with both Dynamics CRM 2011 and Dynamics AX 2009. I learned a lot about Dynamics CRM which I haven’t had occasion personally to integrate with in its latest version. The chapter on SalesForce mentions, but does not describe in any detail, the TwoConnect SalesForce adapter which we have used very effectively on previous projects. Rather, it concentrates on direct HTTP/SOAP interaction with SalesForce.com and, very usefully, advocates the use of Azure AppFabric for secure exchange of data across the internet.

The book provides two chapters on integration with SharePoint 2010. The first explores the use of the native adapter to communicate with form and document libraries, and provides illustrated examples of working with InfoPath forms. It would have been reasonable to stop there, but instead, the second chapter goes on to describe how to integrate more fulsomely with SharePoint via its web service interface, and specifically how to interact with SharePoint lists.

Increasingly, the BizTalk community is waking up to the implications of Windows Azure and AppFabric. This is an important step for developers to take. Future versions of BizTalk Server will essentially join and extend the on-premise AppFabric world. As Microsoft progressively melds their on/off premise worlds, BizTalk developers will increasingly have to grapple with integration of cloud based services, and integration of on-premise services via the cloud. The book is careful to address this emerging field through the inclusion of a chapter on integration via the Azure AppFabric service bus. As I mentioned above, this is applied specifically to SalesForce integration in a later chapter. The AppFabric Service Bus is a rapidly-evolving part of the Azure platform, and is set to introduce a raft on new features in the coming months which will greatly extend the possibilities. Eventually we will see cloud-based integration services appear in this space. So, the inclusion of this chapter points out the direction of major future evolution of Microsoft’s capabilities and offerings in the integration space.

The book is not shy about providing guidance on practical problems and potential areas of confusion that developers may encounter. The content is clearly based on real-world experience and benefits from ’war stories’. The value of such content cannot be underestimated, and can save developers hours of pain and frustration when tackling new problems. All in all, I thoroughly welcome this book. My thanks to the authors, Kent Waere, Richard Seroter, Sergei Moukhnitski, Thiago Almeida and Carl Darski.