In my opinion 2 of the more important parts of the new architecture in IIS 6.0 are:
The separation of the HTTP endpoint from IIS is very interesting, as it allows any application to partake in the processing of HTTP traffic. This allows any application, including the WWW Service in IIS, to leverage a common component for the processing of HTTP traffic .
What allows HTTP.SYS to determine what HTTP traffiic to route to an application, is a set of API's that are called by an application, letting HTTP.SYS know what URI's it is interested in processing. In fact this is how IIS 6.0 works, and in the near future many of the upcoming applications and technologies will be able to provide and host web services in the same way. Examples include SQL Server 2005 and Indigo.
So with HTTP.SYS being part of the Windows 2003 and XP platforms and with its concept of seperating the URI Endpoint from its application processing logic (i.e. applications/processes) what does it mean? :
In the next posting, I will cover some of the configuration tools and API's for HTTP.SYS.
At our last MSDN event/session here in Ireland, Nick Grattan delivered a great session on how SQL Server 2005 is able to host web services using HTTP.SYS. Nick has pointed out on his blog, that after the session, I mentioned to him that HTTP.SYS was available on Windows XP with SP2 installed (oppps, sorry!!! totally forgot to blog about it!). As I was not 100% certain where SQL Server would work with the HTTP.SYS on XP SP2, I took the example he has on his blog and with a few changes on my particularly abused installination of SQL Sever 2005 I got WSDL back from the example URL that Nick lists in his blog, i.e. http://localhost/sql/adventureworks?wsdl. Btw, it was BETA 2 I did this on. (As an aside, if you need more information on this, I would suggest having a look at this MSDN article, Overview of Native XML Web Services for Microsoft SQL Server 2005 and also there is going to be a webcast on web services in SQL Server 2005 on the 8th of december).