Recently there was a discussion between me and business system owners in the company.
We were discussing about integrating various platforms and technologies using BizTalk.
The initial question that started the discussion was pretty simple: does BizTalk supports CORBA, SNMP, Telnet and TL1. As You may guess, all this is for telecommunication services.
You can easy find an adapter for CORBA from http://www.iwaysoftware.com/, there are no adapters for other protocols though (or at least I didn’t found them through MSN Search). If there is no such adapter, You could build one that enables communication between BizTalk system and other systems that are on the wire using Telnet or SNMP, but … at that point I thought about SOA patterns. Ron Jacobs was talking about these patterns during the Teched 2005 in Amsterdam. Also, these were published in MSDN: http://msdn.microsoft.com/architecture/solvenow/solveimpdes/default.aspx?pull=/library/en-us/dnbda/html/SOADesign.asp.
When I thought about these and other patterns listed there:
one thing came to my mind: "I don’t think it is a good way to do the stuff". Why?
Experience tells me that such protocols are tended to be chatty, with no strict schema behind. If implemented in BizTalk directly, BizTalk application would turn it into tightly coupled part of that system. Later on, when new functionality is added (from the system perspective, not from the business perspective) or version is updated, BizTalk solution will have to be updated as well.
What I have suggested is to surround those systems with services. Services, which would have schema, policy, contract defined and would be business oriented, not – technology. A little apps (web services, unix scripts, etc.), which would hide the system internal things and would communicate with the outside world through the messages (SOAP, Files, etc.). After these thoughts everything came to the right places.
So, these were thoughts of mine. If you have some opinions, please do not hesitate to add your comments here.