Three-Tier System Architecture
The illustration shows the three-tier system architecture and describes the way HTTP requests from the client are handled.
The middle tier is the Microsoft® Internet Information Services (IIS) server on which you must first create a virtual root using the IIS Virtual Directory Management for SQL Server utility. The IIS server name specified in the URL identifies the IIS server. The IIS server examines the virtual root specified in the URL and determines whether an ISAPI DLL extension (Sqlisapi.dll) has been registered for the virtual root that is specified in the URL. The IIS server loads the DLL and passes on the URL request to the DLL. The Sqlisapi.dll extension communicates with the OLE DB Provider for SQL Server (SQLOLEDB) and establishes connection with the instance of Microsoft SQL Server™ identified in the virtual root.
The entire XML functionality is implemented in Sqlxmlx.dll. When SQLOLEDB determines that the command is an XML command, the provider passes that command to Sqlxmlx.dll, which executes the command and returns the result to SQLOLEDB.
The template files, XML-Data Reduced (XDR) schema files, and Extensible Stylesheet Language (XSL) files reside on the IIS server. The XPath queries and the XDR schemas are handled on the IIS server. The XPath queries are translated into SQL commands by Sqlxmlx.dll.
The FOR XML clause and OPENXML are implemented on the server running SQL Server.