DisclaimerThe words and opinions expressed here do not represent the opinions or views of my employer or anyone associated with me in any way.
Category Archives: System Integration
Earlier this week I participated in a discussion thread on LinkedIn regarding the usage of the WCF SQL Adapter in BizTalk Server and I wanted to summarize some of my thoughts and the recommended best practices regarding this particular scenario.
The reports of my death are greatly exaggerated. ~Mark Twain (or BizTalk Server)
For the past 5 years or so, various technologists have been predicting or even proclaiming the untimely demise of Microsoft BizTalk Server. Usually these predictions come in the form of blog posts espousing the new hotness whether it was a new product from Microsoft or a competing product claiming it was a better middleware solution than BizTalk. Oddly enough, the chatter ramps up the loudest shortly after Microsoft releases a new CTP of technology X that may be tangentially related to an existing product like BizTalk. The problem with all of the proclamations is that they never seem to come from the Microsoft Product Development groups or BizTalk MVPs. I am not an MVP, but I do consider myself to be plugged in to what is happening with BizTalk. With that in mind, I would like to briefly take a look at the current state of BizTalk’s life and put an end to the urban legend.
In an effort to maintain control over the proliferation of application servers and data, many organizations have undertaken projects to consolidate and integrate systems. One of the first hurdles in undertaking an integration project is determining the most efficient integration technology. Unfortunately, just within the Microsoft stack, there are technologies that consistently cause confusion and are often misused.
During my past BizTalk engagements, I have had the opportunity to work closely with my clients in developing flexible and maintainable applications. One of the most common issues that I come across is the misuse of some of the shapes available within the Orchestration Designer. By misuse, I simply mean to say that many BizTalk developers will drag and drop shapes into an orchestration to implement the business process, but do not take into account the implications of doing so. More often than not, the result of selecting the wrong shape for the job is not seen until the application is tested or even worse, the production environment. One of the primary reasons that BizTalk is used is the opportunity to build loosely coupled, flexible and scalable applications. By choosing the wrong shape, many developers will wind up doing exactly the opposite, thus setting the application down the course of tight coupling and brittle implementation. In this post, I am going to highlight two of the most often misused shapes, Call Orchestration and Start Orchestration, explain when they should be used and provide an alternate technique to overcome their shortcomings.
In the BizTalk Server 2009 documentation for the topic How to Handle Typed Fault Contracts in Orchestrations, the documentation assumes the reader is calling a web service based on the SOAP 1.2 specification. The code sample presented will not work if the user is configuring a WCF Send Adapter to call a web service based on the SOAP 1.1 specification.