"SOA Patterns with BizTalk Server 2009" Released

This morning my publisher turned a few knobs and pressed a complex series of buttons and officially released my first book, SOA Patterns with BizTalk Server 2009.  It’s available for purchase right now from Packt’s web site and should cascade down to other booksellers like Amazon.com within a week.

You can find the complete table of contents here, as well as a free, partial sample chapter on the new WCF SQL Server adapter.  What looks like a full, PDF version of that sample chapter (as well as the book’s intro and acknowledgements) can be found here.

I had three general goals when I started this process almost a year ago:

  • Cover topics and angles on BizTalk Server that had not been broadly discussed before
  • Write the book in a conversational tone that is more like my blog and less like an instruction manual
  • Build all examples using real-life scenarios and artifacts and avoid the ubiquitous “Project1”, “TestSchema2” stuff.

In the end, I think I accomplished all three. 

First, I included a few things that I’ve never seen done before, such as WCF duplex binding using the out-of-the-box BizTalk adapters, quasi complex event processing with BizTalk, detailed ESB Guidance 2.0 walkthroughs, and the general application of SOA principles to all aspects of BizTalk solutions.  Hopefully you’ll find dozens of items that are completely new to you.

Secondly, I don’t truly enjoy technical books that just tell me to “click here, click there, copy this code” so that by the end of the chapter, I have no idea what I just accomplished.  Instead, I tried to follow my blog format where I address a topic, show the key steps and reveal the completed solution.  I provide all the code samples anyway, so if you need to dig into every single detail, you can find it.

Finally, I decided up front to use actual business use cases for the samples in each chapter of the book.  It just doesn’t take THAT much effort, and I hope that it makes the concepts more real than if I had shown a bunch of schemas with elements called “Field1” and “Field42.”

So there you go.  It was lots of fun to write this, and I hope a few of you pick up the book and enjoy reading it.   My tech reviewers did a great job keeping me honest, so you shouldn’t find too many glaring conceptual flaws or misplaced expletives.   If you do have any feedback on it, don’t hesitate to drop me a line. 

UPDATE: The book is now available in the US on Amazon.com and is steadily creeping up in sales rank. Thanks everyone!

Technorati Tags: ,

Author: Richard Seroter

Richard Seroter is currently the Chief Evangelist at Google Cloud and leads the Developer Relations program. He’s also an instructor at Pluralsight, a frequent public speaker, the author of multiple books on software design and development, and a former InfoQ.com editor plus former 12-time Microsoft MVP for cloud. As Chief Evangelist at Google Cloud, Richard leads the team of developer advocates, developer engineers, outbound product managers, and technical writers who ensure that people find, use, and enjoy Google Cloud. Richard maintains a regularly updated blog on topics of architecture and solution design and can be found on Twitter as @rseroter.

22 thoughts

  1. Fantastic. Glad to see some BTS 2009 books hitting the shelves. What I’m most excited about is that your ideology about samples and walkthroughs is exactly what I look for in a book like this, because when I actually work through a development process, I can more easily see where I can deviate from that process to create something that meets the specific requirements I have. The failure to do this is probably the number one thing that bothers me most about technical books.

    Congratulations!

  2. Fantastic! You are an excellent tech writer and do a great job communicating how these technologies can be used to solve real problems. The approach you’re using looks great, too.

    Congrats on the milestone! Shipping rules!

  3. About to buy both print/ebook great stuff.

    Can I ask one question.

    I have tried to convert a BTS06 R2 solution by using the VS2008 conversion wizard and it will not convert the project files, the solution file is Ok. I am using BTS09 MSDN released April.

    Can this not been done or am I missing something?

  4. Hey Jim, good question. During the beta/RC phase, I didn’t have much luck converting automatically, so I typically created a new VS 2008 project and added all the artifacts from the previous project. Not great, but still fairly little work.

  5. Just finished reading the book and I have to say this was one of the most useful technical books I’ve ever read. You covered a ton of ground in a book short of 400 pages and gave a more succinct vision of how to use the pieces of the Microsoft stack to implement service oriented applications than anything Microsoft has produced. Job well done and thank you.

  6. Finally got the book a week or so ago, UK postal service is abysmal. Definitely a good read well laid out, informative and lots of good examples.

    Following up your reply regarding automatic conversion. This is a little concerning as it would appear that Microsoft have not fixed this problem of project conversion. I just cannot see large corps being happy having to create new projects and then add artefacts manually, in some of the organisations I have worked in this could run into hundreds of projects, which with all the perceived uncertainty surrounding the future of BizTalk could be the catalyst for using other technologies.

  7. Thanks for very good book, it’s very helpful even a Biztalk beginners like me 🙂

    In chapter 9 you are using WCF-SQL adapter on composite transaction to insert data to multiple(in that case two) MSSQL-tables, and generate ID:s by Scripting functoids. But do you know is there a way to return MSSQL ID-value(identity on) between those to tables?

    Example like this:

    TABLE1:
    DistributionID(MSSQL identity on)
    FieldName1
    FieldName2

    TABLE2:
    DistributionPickupID(MSSQL identity on)
    DistributionID(foreign key)
    FieldName1
    FIeldName2

    Is there a way to return DistributionID-value from Table1 to Table2 FK-field by using WCF-SQL-adapter, or is the stored procedure only way to handle situation like this?

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.