Summary

In this chapter, we implemented three extensions to the BizTalk channel. Parsers accept custom data formats and produce XML for standard BizTalk consumption. Functoids transform XML data within the channel and can include custom business logic. Serializers output custom data formats from the XML flowing out of the channel.

We started with an overall architecture of the channel to see where programmatic extension was possible. For each extension, we began with the design considerations before getting to the implementation.

Implementation was in ATL, and we covered the steps necessary to configure and debug our extensions. For a test harness, we used an HTML application that took advantage of BizTalk's capabilities for an HTTP receive function. We also used BizTalk's SMTP capabilities to connect output from a channel directly to e-mail.

At this point, you should feel comfortable in molding the BizTalk channel architecture to meet the custom data needs of your business.

Coding Takeaways

The samples in this chapter were specifically designed to get you started building channel extensions. A number of programming takeaways were designed for reuse in your next project.

There are three ATL Object Wizards for jump-starting new parsers, new functoids, and new serializers. The wizard for the functoid includes a familiar map-driven implementation similar to ATL's map-driven philosophy.

Another takeaway is the HTML application used for the test driver. It shows by example how to use an HTML form post to submit information to BizTalk. It even shows how to queue a series of posts and submit them in one batch using the COM interface IXMLHTTPRequest. This HTML application also uses a modular technique for building a toolbar-driven GUI. Each major subpage is dynamically shown in much the same way that a CView is dynamically shown in a Microsoft Foundation Classes (MFC) application. Just follow the pattern and you can add your new views with toolbar support.


..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset