Transmitting an ADO+ data set between tiers or components is easier than transmitting an ADO disconnected record set among them.
To transmit an ADO disconnected record set from one component to another, you use COM marshalling. To transmit an ADO data set, you simply transmit an XML file.
The transmission of XML files offers the following advantages over COM marshalling:
COM marshalling provides a limited set of data types – those data types defined by the COM standard. Because the transmission of data sets is based on an XML format, there is no restriction on data types. Thus, the components sharing the data set can use whatever rich set of data types they would ordinarily use.
Transmitting a large ADO record set or a large ADO+ data set can consume network resources; as the amount of data grows, the stress placed on the network also rises. Both ADO and ADO+ let you minimize which data is transmitted.
But ADO+ offers another performance advantage, in that ADO+ does not require data type conversions. By contrast, ADO, which requires COM marshalling to transmit records sets among components, does require that ADO data types be converted to COM data types.
A firewall can interfere with two components trying to transmit disconnected ADO record sets. Remember, firewalls are typically configured to allow HTML text to pass, but to prevent system-level requests (such as COM marshalling) from passing.
Because components exchange ADO+ data sets using XML, firewalls can allow data sets to pass. Remember, XML is a standard based on HTML.