Chapter 18. Creating Custom Serializers, Parsers, and Functoids

By Bill Martschenko

In This Chapter

In this chapter, we will extend how BizTalk handles data, one of BizTalk's cornerstones. In addition to a flexible design time for business processes, BizTalk offers unprecedented flexibility for rapid integration.

Our focus for extension, here, is the point where data flows between partner organizations and internal business processes. This flow of data falls in the purview of BizTalk Messaging Services. In contrast, the flow of data within a business process is handled by BizTalk Orchestration Services or by a custom application. See Chapter 12, “Advanced BizTalk Messaging,” and Chapter 13, “Advanced BizTalk Orchestration,” for more details on the design-time environment for BizTalk Orchestration.

The BizTalk channel is the element within BizTalk Messaging Services that defines the data flow extended in this chapter. See Chapter 6, “Introduction to BizTalk Messaging,” and Chapter 7, “Using the BizTalk Messaging Manager,” for more details on BizTalk Messaging.

The channel has two important areas for extension. First, custom data formats need to enter and exit channels. That is, custom data formats need to be exchanged between businesses and internal applications. Second, data transformation within the channel needs to incorporate custom business logic.

Specifically, we will use COM in this chapter to extend channels with parsers, serializers, and functoids. Parsers recognize custom data formats, serializers render custom formats, and functoids perform custom transformation.

Why have custom handling of business data? We live in a world diverse in its data. This diversity is in lock step with business diversity. Every business has its own needs, and although standards help, the number of standards itself is overwhelming.

This chapter will help if you have data in a format different from those natively recognized in BizTalk. BizTalk currently recognizes XML, EDIFACT, X12, and flat files that are comma-delimited or position-based.

This chapter will also help if you have custom data transformations for use in BizTalk Mapper.

Note

For more background on BizTalk's data handling capabilities, look to the following chapters: Chapter 4, “The BizTalk Editor,” specifies the format of data; Chapter 5, “The BizTalk Mapper,” covers data reformatting using the BizTalk Mapper; and Chapter 8, “Document Tracking,” covers the tracking of data.

For another type of channel extension, see Chapter 17, “Application Integration Components.”


We will begin with a series of examples to reveal the architecture for extending channels. Next, we will design and implement an extension for functoids. The majority of the chapter covers the design and implementation of parsers and serializers for custom business data formats.

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

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