Quite while ago I had the opportunity to start a project using BizTalk. In one sentence BizTalk is a stable integration platform providing message persistence, mappings, orchestrations and tooling. It's of course not everything :) It has it's pros and cons, but today I will share my thoughts on how to start with BizTalk. All information are based on my own experience developing BizTalk solutions for last 2 years.
This post may be updated with some new information.
To start working with any integration platform or distributed system you need to have quite good understanding about:
- Message Queuing & Service Buses
- Immutable messages concept
- .NET Framework + C#
- Network protocols (HTTP, FTP, SMTP etc.)
- XML (BizTalk messages are XML-based by default)
- OS internals - in this case Windows: GAC, threading, PerfMon, permissions, sockets
- Domain knowledge in your context
As you can see it's a mix. All the listed items are those I had to deal with :)
- Visual Studio 2013 is your best friend. After you install BizTalk your VS will have new project types. As far as I know there are not project templates for Visual Studio 2015 [!()]()
- [BizTalk Deployment Framework]() - read the documentation (it's provided with installer). It just makes your development easier. [!()]()
- SQL Management Studio - for running BizTalk DB maintenance jobs, cleaning DB, etc.
- Mqueue Viewer - MSMQ Tool.
- xPath tool - I use [DanSharp XML Viewer]
- [BizTalk Health Monitor] - nice tool to check your BizTalk server status
For unit testing I use [BizUnit]. In addition I have a large set of integration tests written in C# using nUnit.
Sometimes I was stuck... After few hours of pointless investigations I usually shifted the approach. Instead of checking code I used following places:
- [MSDN BizTalk] - your primary source of documentation
- [MSDN forums] - there are world-class expert willing to help you. Just formulate your problem correctly
- Seek for documentation provided with tools like BTDF or BizUnit. Usually all main scenarios are described there.
In summary I think that the skill set is the key thing to have. IDE, tools and routines are much easier to use when you have proper mindset in place. On the other site if you have already the sufficient skills you already know what tools you need in Microsoft ecosystem. That's why this post maybe useful for you.