In the recent edition of The BizTalker Newsletter I featured the below article about BizTalk Adapters.  Read the article below or join the newsletter to have it delivered directly to your email.  I welcome any comments. feedback, or thoughts on this subject.

BizTalk contains many built-in adapters for communication with external systems.  When those built-in adapters do not meet the needs of your project, some hard decisions need to be made such as whether to buy an adapter, build an adapter using the framework, or use an adapter from CodePlex (i.e. open source).  This article will take a look at the pros and cons of each approach.

Buy an Adapter: While this option would require an outlay of cash up front, it can be advantageous in terms of support and speed of implementation. 

Pros:

  • Support is provided by the adapter vendor which can be rapid and 24×7.

  • Adapter vendor provides a simple, legal licensing model.

  • Purchased adapters are usually buy now, install tomorrow so there is no lag time to get up and running.

Cons:

  • Purchased adapters have an upfront cost to the project.

  • You may not be able to customize the adapter if it does not meet your needs.

Build an Adapter: While this can seem like the obvious answer for a software or consulting company, usually this is a large undertaking.  I talked with the writers of the famous SFTP Adapter on CodePlex.  They said it took 300 to 400 hours of effort to build that adapter.  Out of this time, it took about 200 hours just to learn the adapter framework and the rest to implement the protocol-specific logic.  Even at a conservative rate of $100 per hour, this is between $30,000 and $40,000.

Pros:

  • There could potentially be additional services revenue for the company and they may maintain Intellectual Property (IP) rights.

  • You have the complete flexibility to build what you want and how you want it.

Cons:

  • The company that builds the adapter will have to do the maintenance and support.

  • The building company may not be a subject matter expert in either the BizTalk Adapters Framework or the implementation protocol.

  • It could take a significant amount of time to complete, test, and deploy.

Use a CodePlex Adapter: CodePlex is a large open source software community.  It hosts many different BizTalk Adapters.  Some of the most popular are the SFTP Adapter and the Scheduled Task Adapter.  Sometimes 3rd party support is available, but in general support is through community forums.

Pros:

  • Adapter is provided at no cost.

  • You have access to the source code to customize as needed.

Cons:

  • There is no support for things that do not work as expected.

  • There are gray areas in terms of licensing and the impact of customizations.

  • When a new release is available, customizations need to be reapplied.

  • Company legal policies might restrict or prohibit the use of open source code.

In my experience we have both bought an adapter and used CodePlex – both times with the SFTP Adapter.  I have never built a custom adapter.
Lets take a deeper look at the decisions that impacted my situations.

Case 1 – Bought /n software SFTP Adapter.  This was for a large Fortune 500 client.  It was simple; the service contract with the client did not allow the use of any open source software due to license and support concerns.  I am unsure of the cost of the SFTP Adapter, but using it was simple and we had no issues.

Case 2 – Used CodePlex SFTP Adapter.  This was also for a large Fortune 500 client.  While the adapter was free, it took about 40 hours over 3 weeks for legal to review the license and approve the use of the adapter.  Also, we ran into a few situations that required customization of the adapter.  This resulted in an additional 80 hours of development and testing effort.  Total costs to us for the free adapter was at least 120 hours and this consulting firm charges much more than $100 per hour. 

In conclusion, it is important to remember the trade-offs with each adapter choice.  Remember that free does not always mean free and that even the best custom adapter could end up resulting in months (if not years) of support calls down the road.