Transport: applications can accept input from a variety of means, from the file system to the network.
Data format: speaking the right protocol is only part of the solution, as applications can use ALMOST any form of representation for the data they exchange.