Catching up: TechEd, TechReady 3, the new "mystery project"…..

Talk about “Blogger’s Remorse”. Here I’ve been feeling super-guilty for quite a while about not posting, but I never even got around to posting anything saying I was sorry! I am sorry, I know many people in the BizTalk community are watching, and a lot of people are looking here for BizTalk/ESB “stories from the trenches”.

SOOOOO much has been going on. My current focal point continues to be all things ESB. I’m off the 56 processor project now (we deployed and met the project goals), and have moved on to an even more challenging project. I can’t really talk about it yet, but I hope to be able to soon. It’s all about BizTalk 2006 and ESB, and implementing an ESB on the Microsoft platform.

Along those lines….Lukas Cudrigh (Technical Strategist Microsoft), Dylan Lewis (Chief Architect Kaiser Permanente) and myself gave our ESB session at TechEd to a packed room, and it was very well received. My opinion continues to be that not many developers/CxOs care much about ESBs (yet), primarily because they don’t know what it is. However, those that do care (the enlightened ones? ?) tend to care deeply, commit to significant projects, and reap great ROI rewards. As more and more enterprise architects began to glimpse the business value and high returns, I expect an increasing rate of people and companies “jumping on the bus”. Many people seem confused because Microsoft doesn’t have an “ESB Product” (unlike every other software company), but the reality is clear: if you embrace the Microsoft stack, you have a superset of ESB functionality. The secret is how to tie it all together, but you do have all the building blocks you need.

Last week I was in Seattle (nice break from the heat wave in San Diego!) where Lukas and I did a “Building an ESB on the Microsoft platform” presentation at Microsoft’s TechReady 3 conference. You likely haven’t heard of it, it’s a “Microsoft internal-only” conference they put on for their technical folks. I was honored to be one of the very few non-Microsoft speakers here. We did some major butt kicking. We got great attendance, and there was a LOT of interest in what we had to say.

I do indeed have a life outside ESB, and a few weeks ago my family and I went to Yosemite (valley). High point of the week (literally!) was when we did the Halfdome hike. Seventeen miles roundtrip, an approx 5000 ft elevation gain, and a killer climb for the last 800 feet (scampering up 60% – 70% granite incline, clinging to support cables, at times felt like an almost vertical climb). Not for the squeamish, or for people afraid of heights. This was perhaps the hardest hike of my life, and the only one where I felt inclined to go to the ranger station the next day and ask about fatality rates (surprisingly low, I think most people that would be fatalities are weeded out by 1) the distance and 2) scampering unassisted, no steps, up a sheer rock face *before* you get to the cables and 3) the sight of the cables (“we’re not going up THERE are we???”). Lots of waterfalls, amazing views, and quiet the adventure. My kids and I did it, my wife was still limping from the huge Glacier Point hike we’d done the day before. I’m going back in a couple of weeks to go backpacking with my son, but we’re going to the north-east section (a lot less people) of a week of “walkabout” and seclusion, far removed from civilization and technology. Perhaps I’ll bore you with pictures 🙂

OK, there, I’m all caught up now professionally and personally. My next post will be about the new MCTS BizTalk exam. Did I pass? Was it hard? What was it like? Read on…..

BizTalk Server 2006 Learning Resources

Online/Virtual Training


BizTalk Server Virtual Labs or

Learn how to take full advantage of BizTalk Server key features through virtual labs.  It’s simple and free: no complex setup or installation is required to try BizTalk Server running in the full-featured MSDN Virtual Lab. You get a downloadable manual and a 90-minute block of time for each module. You can sign up for additional 90-minute blocks any time or take advantage of our introductory experience with the new Virtual Lab Express.

%u00b7         Express Lab: What’s new in BizTalk Server 2006

%u00b7         BizTalk 2006 – New Features for Deploying and Managing a BizTalk Application

%u00b7         BizTalk 2006 – New Features for Working with Flat Files

%u00b7         BizTalk 2006 – Integrating Business Rules

%u00b7         BizTalk 2006 – Working with Maps

%u00b7         BizTalk 2006 – Working with Schemas


First Look: Microsoft BizTalk Server 2006 for IT Professionals

This online clinic provides IT professionals with an introduction to BizTalk Server 2006 and how to deploy and manage applications in a BizTalk environment. Major topics covered include installing and configuring BizTalk Server 2006 and managing a BizTalk Server environment.


First Look: Microsoft BizTalk Server 2006 for Developers

This online clinic provides developers with an introduction to the BizTalk Server 2006 development environment and BizTalk messaging and orchestration services. Major topics covered include building a messaging integration solution and building a business process integration solution.


BizTalk Server 2006 Tutorials

Download the BizTalk Server 2006 tutorials for detailed information on how to implement simple scenarios and use a variety of BizTalk tools while creating compiled, testable solutions.  Released March 22, 2006


2934: Deploying and Managing Business Process and Integration Solutions Using Microsoft%u00ae BizTalk%u00ae Server 2006 (in development)

This two-day instructor-led course provides students with the knowledge and skills required to install and configure a computer running Microsoft%u00ae BizTalk%u00ae Server 2006.


BizTalk Server Training and Events

Microsoft and its partners provide many alternatives for learning more about BizTalk Server.  Review the variety of resources available to you and choose the options that best suit your learning style.


BizTalk Friday Brown Bag Webcasts



Jun 17           BAS and Sharepoint Adapter in Pathfinder (BizTalk 2006) – Gary Keong & Sunghwa Jin


Jun 24           BAM in Pathfinder (BizTalk 2006) New Features – Mubarak Elamin & Brad Paris


Jul 1             New Features of Pathfinder (BizTalk 2006) Messaging Engine – Ruslan Yakushev


Aug 5            Two Worlds Collide: Transferring Data Between Microsoft BizTalk Server 2004 and Microsoft SQL Server 2005 – Jesus Rodriguez & Javier Mariscal (TwoConnect)

Aug 26          Windows SharePoint Services (WSS) Adapter in Pathfinder (BizTalk 2006) – Greg Prickril & Adrian Hamza


Sep 9            Adapters New Features (POP3 & SMTP Drilldown) in Pathfinder (BizTalk 2006) – Erik Leaseburg & Doug Girard


Oct 14          Writing Effective BizTalk Server Adapters – Kartik Paramasivam


Nov 18          Beginning-to-End Ordered Delivery (Sequential FIFO) in BizTalk 2004 and 2006 – Erik Leaseburg


Dec 2            Best Practice Analyzer (BPA) – BizTalk 2006: Rules Design Spec Review/Discussion – Gruia Pitigoi-Aron


Mon, Dec 12   BizTalk Server 2006: Development and Adapters – Joe Sharp



Jan 6            Future Directions: Beyond BizTalk Server 2006 – Eddie Churchill


Feb 10          BizTalk Server 2006 Lifecycle: Deployment, Monitoring & Maintenance – Nikhil George & Erik Leaseburg


Feb 24          Upgrading from BizTalk Server 2004 to 2006 – Charlie Ferebee


Mar 3            BizTalk 2006 Adapter for SAP – Gruia Pitigoi-Aron


Mar 17          BizTalk 2006 Adapters for DB2 and Host Files – Ricardo Mendes


Apr 7            BizTalk 2006 Adapter for Oracle DB – Puru Amradkar


Apr 28          BizTalk 2006 Adapter for Siebel – Puru Amradkar


May 5           BizTalk 2006 Adapter for WSE 3.0 – Jesus Rodriguez, Rick Pelletier, Javier Mariscal (Two Connect) & Mark Fussell


May 12          WSE 2.0 SP1 Adapter for BizTalk 2006 – Michael Elizarov


May 19          BizTalk Operations – Rob Cameron


May 26          BizTalk 2006 Adapter for RIM BlackBerry – Jennifer Zouak (Zouak Consulting)


Jun 2            BizTalk Adapter for WebSphere MQ (Client-Based) – Anil Balakrishnan


Jun 23           Enterprise Single Sign-On (SSO) in BizTalk 2006 and Host Integration Server (HIS) 2006 – Anil Balakrishnan


June 30         BizTalk Adapter for Host Applications – Steve Smaller



Key Websites


BizTalk Product Website

BizTalk is a business process management (BPM) server that enables companies to automate and optimize business processes. This includes powerful, familiar tools to design, develop, deploy, and manage those processes.  Everything you need for easy installation is included-integrated management tools, support for Web services, and a new business activity monitoring (BAM) portal. In addition, BizTalk Server 2006 includes 23 application and technology adapters in the box for connecting to legacy systems (mainframe and mid-range) and line-of-business applications (SAP, Siebel, PeopleSoft, Oracle, and JD Edwards).


BizTalk Server TechCenter on TechNet

For IT professionals, visit Microsoft TechNet for tools and resources to help you plan, build, deploy, and support BizTalk Server.


BizTalk Server Developer Center on MSDN

For developers, visit the Microsoft Developer Network (MSDN) for technical references and how-to resources to help you develop for BizTalk Server.  Includes product downloads, samples, blog sites, top newsgroup discussions, learning resources and technical references for architects and developers of BizTalk solutions.


BizTalk Server Support Center

Lists a number of support options and services available for BizTalk Server.


Product Information, Pricing, Help, White Papers, Tutorials, Install/Upgrade Guides


BizTalk Server Product Information

Get a firsthand look at Microsoft BizTalk Server through a product overview, virtual labs and trial software, find out more about adapters and accelerators, and see analyst reports, case studies, news, and reviews.


BizTalk Server 2006 Pricing and Licensing

Details on the editions, language versions, features, pricing and licensing of BizTalk Server 2006.


BizTalk Server 2006 PDF Help Files

Microsoft BizTalk Server 2006 Documentation in PDF format.


BizTalk Server 2006 Product Documentation on MSDN

Visit the MSDN Library for BizTalk Server 2006 Help online.


BizTalk Server 2006 White Papers

White papers on BizTalk 2006 topics such as product overview, business value, adapter enhancements, application deployment, BAM, developer tool and runtime improvements, setup and migration, hub/spoke deployment, RFID, etc.


BizTalk Server 2006 Tutorials

Download the BizTalk Server 2006 tutorials for detailed information on how to implement simple scenarios and use a variety of BizTalk tools while creating compiled, testable solutions.  Released March 22, 2006


BizTalk Server 2006 Installation and Upgrade Guides

Review the BizTalk Server 2006 installation instructions for how to install BizTalk Server 2006 on Windows XP, Windows 2000 Server, or Windows Server 2003 in a single server or multi-server environment.  Released April 10, 2006


BizTalk Books Planned


Pro BizTalk 2006

by George Dunphy, Ahmed Metwally

List Price: $59.99, Amazon Price: $37.79

Paperback: 600 pages

Publisher: Apress (October 16, 2006)

ISBN: 1590596994

Book Description

Pro BizTalk 2006 is a high-end resource that is based on real feedback from BizTalk developers. Authors George Dunphy and Ahmed Metwally are well known within the BizTalk community, and here they cover topics not discussed in other books, like performance tuning, scalability, and administration. This book also features examples of specific, real-world implementations.

Download the 120-day BizTalk Server trial software and begin optimizing and automating your business processes.  Released April 3, 200


BizTalk 2006 Recipes (A Problem-Solution Approach)

by Mark Beckner, Ben Goeltz, Brandon Gross, and Brennan O’Reilly (Paperback – Jul 1, 2006)

List Price: $59.99, Amazon Price: $37.79

Paperback: 700 pages

Publisher: Apress (July 1, 2006)

ISBN: 1590597117

Book Description

BizTalk 2006 Recipes: A Problem-Solution Approach is based on the experiences of many of the most prominent experts in the field. It features over 170 problem-solving recipes for BizTalk developers and administrators.  BizTalk Server 2006 builds on the heritage and core architecture of BizTalk Server 2004, leading to a powerful tool that encompasses the latest Microsoft technologies and industry standards for automating and managing business processes. BizTalk Server 2006 adds incremental value to BizTalk 2004 by improving administration, deployment, and other key areas of the product.


Professional BizTalk Server 2006

by Darren Jefford

Paperback: 700 pages

Publisher: Hungry Minds Inc,U.S. (March 22, 2007)

ISBN: 0470046422

Book Description

Description not available yet.


Product Trial Download and Tools


BizTalk Server 2006 Trial Software

Download the 120-day BizTalk Server trial software and begin optimizing and automating your business processes.  Released April 3, 2006


BizTalk Server 2006 Best Practices Analyzer

Use the BizTalk Server 2006 Best Practices Analyzer to check your deployment against a variety of best practices, including high availability, security, management, and performance.  Released June 2, 2006


BizTalk Server 2006 Orchestration Designer for Business Analysts

This Visio add-in allows business analysts to create basic orchestration flows and implement them using BizTalk Server 2006.


Using SSO with the SAP adapter and in general

Here’s my article on SSO. Now I have been a huge DotNetRocks fan forever. I love this show and their others (Mondays and Hanselminutes). I actually just created an application that crawls their sites for new torrents and downloads them. Might be posting that soon as I know a lot of developers that don’t want to try to find all the old shows. Also if your a big torrent fan, like I am, get your hands on uTorrent, one of the first torrent clients built in C#. (gotta love it)


Commerce Server 2007 technical training screencasts

With the offical launch of Commerce Server 2007 just around the corner, the excitement around these halls is really growing.  Interest in Commerce Server is definitely at an all time high and we have a record number of customers working on new site development.  The engineering team has been working on producing a set of technical training screencasts produced by developers for developers and covering the various subsystems of the product.  We’ll have a few of these available at the time of the launch and several more coming out in the upcoming weeks.  You might notice that we’re not professional presenters, but I hope that you’ll realize a lot of value from them nonetheless.

Here’s the link (added 8/1/06):

On the cool technology front, I’m really excited about the Concurrency and Coordination Runtime (CCR) that is at the heart of the new MS Robitics Studio.  I really buy into the design approach and I think the tools in the CCR are applicable to just about any application domain, certainly not just robotics.  I’m currently reading David West’s book on Object Thinking (highly recommended) and I find the thoughts there congruous with the messaging philosophy underlying the CCR.  And with many-core CPU’s being the next big thing, we need approaches like this to fully realize the value of the concurrency they can provide.  I can’t wait to try this stuff out.

Personally I just got back from Las Vegas where I attended my brother’s wedding.  He was married at the Wynn Hotel and Resort.  We upgraded to a panoramic room which basically means you’re up higher than anything else along the strip and have a great view.  But it certainly is a pricey place – definitely targeted toward the high rollers (which I certainly am not – thank goodness for the $5 single deck blackjack at TI across the street).  I’m amazed at the amount of construction currently underway down there.  The Venetian next door is being expanded and I hear that it will be the largest hotel in the world when completed.  Then the Trump International Hotel and Tower is going up across the street, which will the tallest when completed.  I hear the Luxor is coming down – they say it’s a waste of space.  Too bad, it’s a cool hotel.  Perhaps if the Mix ’07 Web conference is at the Venetian again I’ll make it down to Vegas again next year.  Maybe I’ll see you there.

Watch Those Lazy XPath Queries

I notice often developers don’t pay much attention to the XPath queries they use. And then some complaining about XML performance. Of course, XML means overhead but we’re here not to make it worse. For example, such convenient descendant-or-self axis specifier (AKA “//”) can be frequently abused without realizing how much harm it can bring to high volume XML processing applicaitons. Say we have an XML message with simple structure like this:




(yeah, it looks strange, but some pretty wild schemas may be seen in enterprise integration scenarios)

Suppose we want to parse item999 so the lazy query would be “//item99”. This will scan entire document tree at all levels in search for the desired node. The optimal solution would be to narrow down query to “/Root/Inventory1/Inventory2//item999” given we have assurance that this element will always be somewhere under Inventory2. Is it worth it? Well, on my desktop using .Net 2.0 with the test XML document above (1000 itemN elements) this yeilds almost 3.5 times performance gain. Real life gains can be less or greater depending on schema, number of elements and their distribution. The bottom line, performance losses caused by inefficient XPath can be critical for high throughput messaging solutions.

Brandon gets global cred!

Congratulations Brandon and team! The EMC Microsoft Practice (whom Brandon, Brennan and I now work for) won the “Global Business Process and Integration Solutions Technology Innovation Partner of the Year”. Whew, that’s a mouthfull. Brandon, it is an honor to be on your team. Check out the EMC press release here……

Selectively &quot;Eating&quot; Messages in BizTalk Send Ports

This week I met with a healthcare customer who is using BizTalk to build a robust publish-subscribe architecture. One component
of this involves making last second decisions to either send or “eat” messages going out to a send adapter. I put together
a quick sample to demonstrate how you can selectively eat messages on the way out of BizTalk.

The core logic for this naturally resides in a custom pipeline component. Mine, called “EatMessage”, is a (any) send pipeline.
I have some custom properties that enable this component to be reused in multiple scenarios. The code looks like this:

public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
//grab value out of context using property fields
object eatField = inmsg.Context.Read(_FieldName, _FieldNS);

//if that value exists
if (eatField != null)
//compare the context value to the property condition
if (eatField.ToString() == _EatCondition)
System.Diagnostics.EventLog.WriteEntry(“Custom Pipeline”, “Message Eaten”);

//eat the message
return null;
return inmsg;
return inmsg;


So as you can see, I’ve got some design time properties that store the context property value and namespace, and a field
that is used to determine whether to eat the message or not. For instance, the _EatCondition might be equal to “true”, which
means if the context value equals “true” then eat the message. Or, it could be a date, or number, or whatever.

Next I build my schema. Basic stuff, contains a node called DoNotSend which I’ll set via a map, prior to sending the message
through the pipeline.

I then created a property schema with the one promoted EatValue node. I could reuse this with multiple different schemas.

Now the fun part. I created a new Send pipeline in my BizTalk project. I first drop the XML Assembler component, then plop
down the MessageEater component. As you can see here, there are the three properties I use later in the code.

Finally, I create a map. This map uses functoids to see if the Patient ID is a certain value, and if so, sets the DoNotSend
node to true. Otherwise, sets it to false.

After deploying the project, I created a send port to the FILE system. In it, I selected my new Send pipeline, and, the map. Since
the order of processing in a send port goes “Map –> Pipeline” I can be sure that the map outcome will feed the latest data to my pipeline component. After
building and testing, indeed, when I send a file through BizTalk with one particular Patient ID the message never comes back out, and
DOES get dropped if the Patient ID equals something else. Nice.

Technorati Tags: BizTalk