Aaron Skonnard talks about BizTalk Server and SOA. I fully agree here; the way BizTalk starts up (from the schema up) makes much more sense and it's a very nice paradigm to work with[1].

I found particularly interesting the link Aaron points to, where James Saull talks about how BizTalk is a good fit in a WS Contract First approach.

Far more interesting is Aaron bit about how the Web Service Publishing wizard in BizTalk server (which basically generates an ASP.NET WS project on top of an orchestration's receive port) does not bring a lot of value to the table.

I've been thinking about the same thing and have reached a similar conclusion: While it's nice that one could alter the code to do new things, one has to wonder if said code is really needed in the first place. The code generated by BizTalk itself doesn't seem to really do anything worthwhile, so why bother?

Aaron and James seem to suggest that a much better option would be to have a simpler .ASHX receive location; but I have to wonder again if this is really the solution. As I see it, the WS Publishing wizard does get you one important piece: a WSDL file (since the ASMX generated will do that on its own). Other than that, why bother with a new ASHX file, where the standard BizTalk HTTP receive port (using BTSHttpReceive.dll and the SOAP or HTTP adapters) will suffice?

The WSDL thingie, well, that's kinda a pet of mine, because while BTS is very SOA oriented, this little bit goes all the way backwards to generate code from the schemas so the WSDL (and the inline schema it contains) can be generated again from the code. Completely unintuitive, and looks just wrong to me. If we got the schemas, hell half the work is done already! It would just be a matter of creating a simpler tool to just write the rest of the WSDL from the port's description, no?

What do others think about this?


[1] There's one point I think where it kinda breaks down, and it's the way the Add Web Reference wizard is used to bring remote WebServices into Business processes in the BizTalk Orchestration designer, but that's a topic for another post.


Tomas Restrepo

Software developer located in Colombia.