Delen via


BizTalk Samples

I am looking for input on the practicality of using the BizTalk Adapter Framework to build a custom adapter.

  • For those of you who have used it what were your experiences, good or bad?
  • Can you describe the development process as to how you took the Framework and turned it into your adapter?
  • What documentation did you use?
  • Does Microsoft provide adequate documentation on the process?
  • Would a step-by-step 'how to' document cut down on development time and be useful?

Comments

  • Anonymous
    December 28, 2005
    We built an adapter that's been in prodcution for some time that combines the Data Access Application Block and the Adapter SDK. The result is a cross database polling and sending adapter. The learning curve on the adapter SDK was a little steep but once I was past that, it wasn't bad. I used the documentation and samples that ship with the adapter SDK in BizTalk 2005. To be honest, the documentation was a little sparse. Yes, a step by step document would be quite useful. Also, one issue I ran into with the SDK concerned StandardReceiveBatchHandler. Do not create an instance of this unless you're sure you have a message ot send. You can see a little more detail on what I found at http://www.digitalfringe.com/Blogs/blogs/bit_player/archive/2005/08/17/17.aspx Lastly, one big decision point was how to handle errors and track performance. While failed messages will certainly show up in HAT this does not help your typical developer who may not have access to the HAT database in a production environment. We opted for using the event log as well. Lastly instumentation was another issue that we didn't find a lot of guidance on.
  • Anonymous
    January 03, 2006
    Thx Steve for your input! Sorry for the delay on the response (holidays).

    Can you explain in more detail where the spareness occurs in the documentation? What are the main issue you felt were lacking? I know you mentioned error handling and performance tracking, along with instrumentation, but where there others?

    - Mike
  • Anonymous
    January 03, 2006
    I would say those were the big ones. We probably struggled more with the design time aspects such as implementing our own editors but the examples were quite helpful. The run-time behavior was not too bad. It was mostly a matter of figuring out where to plug in our custom code. The big concerns were how to deal with errors, how to instrument the adapter, and how to ensure the custom code was testable. Best practices and the like.
  • Anonymous
    January 18, 2006
    Good stuff Steve. I will pass this onto the product team. thank you.
  • Anonymous
    February 19, 2006
    Hi

    Last project we've done in Biztalk 2004 and we've used the Sample File Adapter and customized it, but not the Adapter Framework. But, we know about it. Why there is no support for a SQL Adapter which can support Other DB's also. Atleast in Adapter Framework if you provide a sample to use the .NET Data Providers, it'll be better as Steve has done for them.

    Also, if there is sample for FTP adapter, it'll be better. We can plug our own 3rd party FTP client and use it also. We had a requirement to download the file from a FTP Server in our last project. But, FTP does not support locking of file, because of which partial files are downloaded.

    What we did is modifed the File Adapter and did it. But, it took huge memory (we're newbies in BTS). So, we dropped that idea. Because, to solve the issue, what we've done is, we've used a 3rd party FTP Client, and issues a rename command from the adapter to the remote file. If it fail, then, the file is still not uploaded by the other application in the ftp server and we'll try to download once we're able to rename it.

    Steve, can you share your sample adapter.

    With Regards,
    Sankar,B
    Wipro Technologies,
    Chennai, India
  • Anonymous
    March 13, 2006
    The comment has been removed
  • Anonymous
    March 13, 2006
    good stuff Jennifer. I will work at getting you an answer as quickly as I can. thanks.
    Mike
  • Anonymous
    March 14, 2006
    The comment has been removed
  • Anonymous
    March 14, 2006
    The comment has been removed
  • Anonymous
    April 25, 2006
    Hi,

    I am developing an adapter where I want the behaviour of the message to enter the suspended (non resumable) when all retries have been exceeded. I wrote the following section of code

    msg.Message.Context.Write("SuspendAsNonResumable", "http://schemas.microsoft.com/BizTalk/2003/system-properties", true);

    But the message is still entering the suspended (resumable) state. Could you please help with this? I am using the Base Adapter Class Library v1.0 base framework... is there any special place that I should be placing this code or is this incorrect what I am attempting to do? Thanks for your help.

    Regards,

    Mark
  • Anonymous
    April 26, 2006
    Mark
    I am working on getting you an answer to this shortly.  

    Kind regards
    Mike
  • Anonymous
    April 27, 2006
    Mark
    Here is a response to your questions. HTH.

    =======================================

    Normally on send side, since message is immutable, he will need to add the context property via UpdateProperty instead of just writing it. However, in this case it is a special property, we clear it right away when EPM gets it before passing onto adapter. But on the other hand, as long as this is set just before calling MoveToSuspendQ(), that setting would have been maintained.

    The idea is you set this on the message context – so that code looks OK. Having said that the scenario sounds like send side – we’d normally just do this on the Receive side – I’ve not tried it from the send side.  

    BaseAdapter 1.0 is the bts04 version of this code.  The code in bts06 ibase classes are significantly simpler and better tested.

    The property wil be ignored on bts04.


  • Anonymous
    April 30, 2006
    Thanks for your response. Unfortunately our company is using BTS04 so I am restrained in writing the BTS04 adapter using the version 1.0 of the base adapter source code. Are you aware of any techniques to do this under the BTS04?

    Not sure if this will work due to the amount of dev work that was done in BTS06 but do the base classes work in BTS04 and if they do is there a place to download them from?

    Thanks.
  • Anonymous
    July 12, 2006
    I need to develope a custom sql adapter which will work asyncronously. Is this is already exist there or need to build custom adapter.
  • Anonymous
    August 06, 2007
    I want to develop a custom adapter for SQL server so that i can create dynamic send port for SQL server.Is there any way to create this or is it already there?Please send me ideas on akhil_ranjan1@yahoo.co.in