Article Series on BizTalk and WCF: Part IX, BizTalk Adapter Pack BizTalk Patterns

Whew.  My 9th and final article for TopXML.com on integrating BizTalk Server and WCF is now published.  This one looks at the BizTalk Adapter Pack and how to consume the Oracle adapter from inside BizTalk Server.  I demonstrated how to insert multiple records at once, call stored procedures, build a database polling solution, and how to call the Adapter Pack from an orchestration using code.

20,500+ words and 178 screenshots later, I definitely learned a lot about WCF (and Oracle) by writing this series of articles.  I found the security and attachment topics to be challenging, the transaction topics to be quite interesting, and the BizTalk Adapter Pack to be quite compelling.  The WCF integration in BizTalk Server 2006 R2, while not as rich as it could be, is actually pretty darn well built and thought out.

When I started out on this series, I figured that writing about BizTalk/WCF and then the BizTalk Adapter Pack would be somewhat “niche” for the majority of developers, but, hopefully this helps people down the line as they begin to really investigate and evaluate these technologies together.

Series Summary
 BizTalk and WCF: Part I, Operation Patterns Get the source code!
 BizTalk and WCF: Part II, Security Patterns
 BizTalk and WCF: Part III, Transaction Patterns
 BizTalk and WCF: Part IV, Attachment Patterns
 BizTalk and WCF: Part V, Publishing Operations Patterns Get the source code!
BizTalk and WCF: Part VI, Publishing Advanced Service Patterns
BizTalk and WCF: Part VII, About the BizTalk Adapter Pack Get the source code!
BizTalk and WCF: Part VIII, BizTalk Adapter Pack Service Model Patterns
BizTalk and WCF: Part IX, BizTalk Adapter Pack BizTalk Patterns

 

Technorati Tags: ,

12 Responses to “Article Series on BizTalk and WCF: Part IX, BizTalk Adapter Pack BizTalk Patterns”


  1. 1 Nick Heppleston May 8, 2008 at 7:54 am

    Richard,
    Excellent series, the community has certainly benefited from the hardwork!

    Cheers, Nick.

  2. 2 Thiago Almeida May 8, 2008 at 1:32 pm

    Richard, great series of articles!

    On your Order and Order Items insert scenario, how would you insert an order id generated by Oracle into the items table (like the order to order items scenario in SQL Server updategram where we use at-identity).
    Also, can you select multiple tables you want it to generate the metadata for or do you have to select one at at time?

    Thanks,

    Thiago Almeida

  3. 3 Richard Seroter May 8, 2008 at 6:20 pm

    Hey Thiago,

    You mean that the “order id” column is a generated column? Haven’t tried that yet.

    As for multiple tables, YES, you can actually choose operations from many tables at once.

  4. 4 Thiago Almeida May 12, 2008 at 7:51 pm

    Hi Richard,

    Yes, I was wondering how it would be possible to insert an order and its order items using only one call to the LOB adapter (in the same transaction) and having the auto generated column be the link between the two tables.
    I’ll have to start playing around with these adapters soon!

    Thanks, Thiago Almeida

  5. 5 Matt Holt February 10, 2009 at 8:17 am

    I’ve got a question about the completion of Scenario 3. I’m having trouble creating the enveloping, even after reading your posting about the SQL adapter.

    Any advice or examples you know of?

  6. 6 Richard Seroter February 10, 2009 at 8:35 pm

    Hi Matt,

    I don’t think there was an envelope in Scenario #3. You’re talking about the article this post references, the one using the Oracle adapter, right?

  7. 7 Matt Holt February 11, 2009 at 6:26 am

    Silly me, this is what happens when I’ve got 4 windows with your blog on them open…

    Anyhow, yes… I was asking about the oracle adapter post where you stopped short of making it “enterprise ready.”

    If you want to delete these comments, I’ll repost on the correct posting.

    • 8 Richard Seroter February 11, 2009 at 7:41 am

      I’ll take it as a compliment that you have 4 blog posts open at once ;)

      Yes, I see the text that you are referring to. Have you made the envelope schema yet? Did you take the original schema, mark it as an envelope, and then set the body xpath? Then you’d need to create a copy of that schema, rip out everything but the innermost POLLINGSTMTRECORD. Hopefully then, the envelope would debatch and you’d end up with that secondary schema type for each output message.

  8. 9 Matt Holt February 11, 2009 at 7:50 am

    Very similar to the solution I finally worked out:

    1. Set the generated schema to “Envelope=yes”
    2. Set the XPath.
    3. Set the root node to POLLINGSTMT (neccessary, or the message doesn’t route). I also set the Attribute FormDefault to Unqualified like you did in your SQL example.
    4. Set max occurs to 1 on POLLINGSTMTRECORD under POLLINGSTMT
    5. DELETE the POLLINGSTMT record (high level, up with the POLLINGSTMT) in the generated schema. This conflicts with the new schema created next.
    6. Create a new schema and “include” the generated schema. Note: You must copy the namespace of the original schema.
    7. Create a new record in the schame called “POLLINGSTMTRECORD”
    8. Set this new record as the root reference and it’s datatype to POLLINGSTMTRECORD.

    Now the xml pipeline will debatch successfully.

    I’ve had comments on forum posts that I should be careful setting the root reference, but it was the ONLY way I could get the error message that a schema for “POLLINGSTMTRECORD” was not found that aligned this solution with your SQL post.

    suggestions / Feedback?


  1. 1 BizTalk WCF Adapter Pack Articles on TopXML.com « Connected Thoughts Trackback on May 15, 2008 at 2:06 pm
  2. 2 Article Series - BizTalk and 2006 - Riaan's Blog Trackback on August 5, 2008 at 8:03 pm
  3. 3 Excellent BizTalk/WCF Resources by « Miguel’s BizTalk Blog Trackback on August 17, 2008 at 10:08 pm

Leave a Reply




Disclaimer

Entries and comments here do not necessarily reflect the opinions, attitudes, and statements of my employer, my friends, or anyone associated with me.

Syndication

Publications

Order my new book SOA Patterns with BizTalk Server 2009 (Amazon.com, Packt Publishing)

Contact Me

Categories

Twitter Feed

Blog Stats

  • 226,232