A day with BizTalk Server 2004
I had to write about this :-)
We are in the process of evaluating BizTalk Server 2004 for an integration project and I was initially wanting to play around with the same to know more about its inner workings. I had seen many webcasts on BizTalk 2004 by Scott, but had not tried anything, so I rolled-up my sleeve and started today (19th).
Initially, I had SQL Server 2005 on my machine and after a few hours I realized that BizTalk 2004 was not going to work in SQL Server 2005. I was little suprised, since all it was doing was creating a bunch of databases and tables and firing queries against it, but I encountered many errors during the setup. Bottom-line, it does not work. So I had to un-install SQL Server 2005, install SQL Server 2000 and then install SQL Server 2005 so that they both work side-by-side. Post this, BizTalk configuration installed without a hitch on the SQL Server 2000 instance.
I then used Visual Studio .NET 2003 to create a sample project (based off the BizTalk tutorial) and followed everything to the T (or so I thought :-)). When I started deploying the solution, I received a invalid cast specification error. Little did it strike me that I should search Google first for this. So I tried debugging the solution for over an hour and was unsuccessful. Then, google came to the rescue when I pasted the error to search for. It turns out that there is a COM+ Hotfix that I needed to install for eliminating the error! Ok, so back to some downloading of the hotfix and installing the same and in the end, I had to restart my machine for the hotfix to work (sigh....)
After installing the hotfix, the deployment worked and I started to test the solution. The basic example was to pick a file from a location and drop it in another location based on a simple condition. But, this did not work! Again, back to debugging for around 30 minutes and I then saw that there was a tool called Health and Activity Monitoring (HAT). Should I use it, I did'nt know, since I was new to BizTalk and was just trying out a simple example. Anyways, I fired up the tool and did a quick reading and after using the appropriate menu options, I located the error. All the messages that I had placed in the receive location were queued up and on drilling into the error, I noticed that the error message looked like a XPATH error. Back to some more debugging.....
The error now was I had created the XML schema file a bit wrongly (misplaced one element in the hierarchy) and BizTalk was not able to process it. So I corrected the same and then restarted the orchestration and this time, lo and behold, the solution worked. I almost jumped up in joy, but remembered that I was in the premises of the office. So I silently raised my hand in prayer and then tried out a few more experiments and they all worked. I still have a little experimentation to do, but I will defer it for tomorrow.
End of the day, after 5 hours of work with BizTalk, I had my first ever BizTalk program running (albeit after some frustrating times) and I was very happy. As I reflected on what I had done, I realized that the toolset that came with BizTalk was amazing in helping you design and debug a solution, except that the documentation does not say anything in the tutorial section about this. Am sure that many people trying out BizTalk for the first time can encounter errors and if there is a “Debugging the tutorial for dummies” kind of section in the documentation, it can really help people staying focused on the tutorial and working on it. That's my two cents of feedback....
Suffice to say that I will continue working with BizTalk more closely since I've started liking it now :-)