Laying the Groundwork
So, you want to deploy an application on the Internet or your corporate intranet? Let's assume that you've already decided on using Microsoft's Internet Information Server on an NT server platform. I'm not saying that this is the best choice, and I'm still quite jealous of my friends who use Linux and claim to go months between system reboots. However, chances are that if you're reading this article, you are a Visual Basic programmer and that you, like me, are fairly committed to the NT platform. Besides, I'm not qualified to compare Linux and NT anyway.
If you read the latest promotional material from Microsoft, you know that the solution your application server needs is an ASP or IIS Application that uses Microsoft Transaction (MTS) server to handle your transactioning and state management, in conjunction with Active Data Objects (ADO) on an SQL server database to handle your data management needs. Now, I wouldn't suggest that Microsoft is biased—I'm sure that the fact that they want to sell as many SQL server and NT Server licenses as possible wouldn't effect their recommendation. The fact that designing your application for use with MTS effectively makes it permanently dependent on that platform certainly didn't factor into this recommendation either. Being a bit of a cynic (and highly skeptical), it occurred to me that this recommendation deserves a closer look. Is this "one size fits all" recommendation really the best approach for every size enterprise?