The last weeks I’ve been facinated by integrating IoT devices with Dynamics CRM. I was dreaming about millions of devices contacting my CRM environment bringing it down to it’s knees.
I came up with a simple but high performing gateway, being able to serve as a scalable abstraction layer behind which I could hide my CRM environment. A layer capable of handling a large number of simultaneous calls without overloading, compromizing and crashing Dynamics CRM.
Based on the hands-on development experience with BizTalk in the past (2010 version), I decided to build the gateway scenario using BizTalk – the software equivalent of the swiss pocket knife.
BizTalk literaly drove me crazy. I ran into many walls, fought my way through and managed to set up the incoming part of the gateway.
For the second part of the gateway – the dispatching part to CRM – I did a lot of research (see the links and architectural overview of the solution in the previous article (part 4) ). I found commercial available adapters which connect to CRM in a breeze. As I don’t have a research budget, I decided to go the programmer’s way: Build Your Own Stuff!
I found out – backed by BizTalk blogs – that building a WCF LOB Adapter was the way to go instead of using the BizTalk Adapter Framework.
Unfortunately I was not able to pull it off. I was not able to find a good example of a WCF LOB Adapter written in C#. On the other hand, with a little bit of help from you I might be able to finish my dispatcher.
*Any BizTalk developer out there, willing to help me out? *
Was the exercise a waste of time?
On the other hand, you might wonder if the exercise I’ve been going through was a waste of time. I can be very clear on this: “No it is not!”.
As with any Proof Of Concept (POC) the result can be either positive or negative. In my case the outcome was negative because I’m lacking knowledge of developing a BizTalk Adapter.
I found out documentation is very fragmented and scarce. That should be a big warning sign, that not many people have gone this route before. If money was not a concern, I definately would have chosen for a commercial adapter.
Despite the outcome of my Proof of Concept was negative, I’m still positive about BizTalk. Sure, I’ve had my issues with the product and sometimes the product is a real PITA. But from what I’ve seen, BizTalk is extremely powerful and flexible. Once you found your way in configuring the beast, you can quickly setup new ports and hook it to other ports.
But then a couple of questions run through my head, and I really believe you should be able to have a solid answer to justify the hefty price tag (search for yourself):
- How often does my environment change?
- Do I have to deal with ever changing interfaces?
- Do I have to deal with serious legal stuff, in which guarantees need to be made about messages not getting lost?
- Do I have the knowledge or am I willing to invest in building up knowledge?
- Do I have the budget I need to build my solution?
If you can answer all questions above with a “Yes”, then BizTalk is the product for you. In case you have some “No” answers, then you might need to look for a cheaper alternative. In case of a relative static environment with stable interfaces, I probably would go for a custom solution.
The 500Lbs. Gorilla brought me down to my knees….. Time to surrender I guess (unless I get some help).
p.s. If any of you have experience in writing a WCF LOB Adapter, you can help me out. All help is appreciated.