The CML application uses several RDS controls to retrieve and display database data. RDS controls reside in the parent ASP page, and it is through the parent page that RDS is manipulated as the script is processed. Specifically, the script instructs the RDS control to retrieve * (asterisk, which means "all columns") from the table, and from which table(s) to retrieve this data. In effect, RDS reaches through IIS and finds this generated table. In doing so, it requests that the IIS server give it the results. IIS uses ADO to retrieve the results, packages and marshals them, and sends them back to the RDS control as a recordset object.
After the recordset is received, data binding occurs using DHTML so that the search results are automatically populated to a DHTML table. This happens through an ISAPI DLL called MSADC.dll, which is automatically installed on an IIS 4.0 computer. This ISAPI DLL is specifically designed to interact with RDS controls on the client.
This RDS control can marshal and unmarshal information. It has properties you can set that instruct it what server to communicate with, and it makes its requests to the server over HTTP. It requests a specific DLL and follows it by a GUID and other data. This information tells it what provider to instantiate on the server. All this data is received as a request by an ISAPI DLL. This ISAPI DLL returns a response (the marshaled recordset) in the form of a binary file sent to the client.