I recently had an integration project with a very short timeline. It's a requirement that we use Biztalk where all the integration related processes are centralized.
My project requires that I use a job queue pattern where an order coming from the procurement system may result into multiple tasks which must be executed in order. This becomes more complex as more tasks are created for that order on certain events later in time.
Writing a framework for this which can be reusable, easy to maintain, and pluggable for later use with new customers, target system, and transactions can't be handled in BizTalk. I instead opted for pure C# + EF4.1 approach, where the job creation and execution is initiated from Biztalk.
Basically, we have reduced BizTalk to take the role of Windows Service.
Is this bad design? Is this a poor approach? My heart says it is, but with the constraints I'm faced with this is the best approach available.
However, ultimately, we are building software solutions to address problems. Even if it means not following the norm.
What are your thoughts?