Author: Brian Loesgen et. al.
Publisher: Sams, 2012
Aimed at: Developers
Pros: Detailed coverage of rules-based programming
Cons: Skimpy on some aspects such as WCF extensibility
Reviewed by: Kay Ewbank
This is a book designed for developers working on applications for Biztalk Server, and on the whole it meets that remit well. Biztalk is complicated enough to command good salaries for developers who know how to develop for it. The complicated nature is also a problem, because there are just so many elements to Biztalk that you need to understand and be able to program or at least work out which bit you should be using.
Biztalk Server Unleashed has a short introductory chapter on what Biztalk Server is and what it does, then gets straight in to more useful topics, starting with a detailed description of schemas. Biztalk applications handle interchanging information between business applications, and it uses schemas to describe the structures of the messages that it is exchanging with those systems. Next comes an explanation of maps, Biztalk’s term for the transformation of one XML document to another. Orchestrations are explained next. In some ways orchestrations are where Biztalk really gets useful. They’re used where you want to do something more complex with a message rather than just pass it on to the next system; maybe you need to pull information out and pass some of it to one system, some to another, or you might need to wait for several pieces of information to arrive before passing on the grouped set of data.
Chapters on pipelines and adapters complete the ‘basics’ part of the book. Pipelines are used to pre- or post-process messages at the edges of Biztalk, and as the name suggests they consist of a number of stages where different actions are applied to the data. Most of the chapter on pipelines tells you as much as you need to know, and there’s quite a lengthy discussion of writing your own custom pipeline components. However, this is one of the trickier elements of Biztalk development, and I’m not sure you could go out and write a successful pipeline component based on just this. The chapter on adapters is essentially a list of how to use the native adapters you get by default with Biztalk - FTP, HTTP, MQ Series, MSMQ, POP3, SMTP, SOAP,SharePoint, and WFC. In general, if there’s an adapter for the data type you’re working with, it gives you an easy way to interface the data with Biztalk for further use.
Having tackled the basics, part two of the book moves on to advanced topics - working with WCF, Azure, BAM, the business rules framework, rule-based programming, and ESB. This is the heart of the book, though the first two chapters are a bit brief at 14 and 8 pages respectively. This is made up for by two excellent chapters on the business rules framework and rule-based programming, which between them come in at 200 pages. If you’re going to develop in Biztalk, these two chapters make the book worth having even if you don’t find anything useful in the rest of the material. The authors cover example scenarios, the components and tools you have available, how to define and deploy rules. In the chapter on rule-based programming you’re told about common rule patterns, the way the rule engine works, working with facts, and programming the rule API. The chapter on BAM (Business Application Monitoring) is a bit lightweight by comparison, with brief descriptions of activities and views, using the BAM APIs, and REST and BAM.
Part 2 finishes with a look at the concept of the ESB - Enterprise Service Bus - and how this fits with Biztalk. Biztalk comes with an ESB toolkit, a set of components that provide ESB capabilities for developers, and the chapter is mainly a high level introduction to the components and the services they expose.
Part 3 of the book covers deployment and administration, and is less useful than the earlier information. There’s a short chapter on the administration console and another on deployment concepts. To be honest, if you’ve mastered the rest of Biztalk it’s unlikely you’ll need to be told how to deploy an application from Visual Studio, but I suppose this part of the book is included for completeness.
The final part of the book looks at RFID and Biztalk, and how you can create RFID-aware applications using one of two components - RFID or RFID Mobile. As the names suggest, these are respectively designed for use with fixed or mobile RFID scanners. The two chapters between them occupy just 75 pages, and given the complexity of the subject this seems far too little. There’s enough there to make you aware what the possibilities are, and to show you examples of how to use the components, but I think you’d need to do quite a bit more experimenting before putting your application into production.
On the whole, the balance of this book is probably about right; the introduction to the different elements had to be included, as did the administration chapter, but the meat in the sandwich is definitely the coverage of rules-based programming and the business rules framework. I’d have liked more coverage of Azure and WCF, but I suspect most developers working with Biztalk for real will see those topics as peripheral and so be quite happy.