As mentioned in the introductory paragraph, BizTalk is both transport and data agnostic. The BizTalk architecture is designed so that the processing responsibilities within the Messaging Engine are clearly demarcated. This simplifies the process of designing integration solutions and provides greater flexibility. Consider the following distinction between adapters and pipelines:
Adapters are the components that deal with the transportation of data; they are responsible for moving data from the wire into the BizTalk engine. One way to think of them is as bitshovelers — that is, they move bits from the wire into BizTalk, and vice versa, without caring too much about the format those bits represent.
The SOAP adapter is an exception to this, since it serializes and deserializes the SOAP packet at the adapter.
Pipelines, on the other hand, are concerned with the processing of the data. They are responsible for recognizing the format of the data, converting the data from one format to another, validating that the format is correct, and performing security checks for some scenarios. Pipelines are not concerned what mode of transport that data was received or sent over.
This demarcation of responsibilities provides a great deal of flexibility. For example, if you were to write a TCP-IP adapter and followed the design principles, you could use it to send data that was formatted as XML, flat file, EDI, and so on. That adapter code would not have to be changed ...