I am trying to get my head around multi tiered web apps in the .net world. In the java world, the tiers can be separated neatly into
Web Tier (say Apache)->remotely accesses Middle Tier App server (say weblogic) which implements code which calls the data tier->Data Tier
In the windows world, IIS can be the web tier but I cant find the middle tier. I read about enterprise services, but that requires inheriting from a COM interface which is something I dont want to do. Is there a pure .NET component app server out there Any tutorials on creating middle tier pure .NET components
I also read about IIS hosting web services and have implemented a couple.. But I want my web app to be able to remotely call components on a separate machine to perform business functions. I cant imagine having two web servers in my architecture to accomplish this goal. Theres some code smell there..
Any answer would be appreciated.
Aaron

Multi-tiered enterprise application
rajendra patel
Like any server listening to a network, IIS responds to requests received via a network stack. It's primary mission is obviously to serve up web pages using HTTP. But it is also frequently used as an application server, especially when web protocols are involved. Hosting web services in IIS makes sense because you don't have to open TCP ports to support DCOM and most WS implementation run over HTTP anyway. It sounds like you have a server-based UI and a server-based application, which isn't unusual. There shouldn't be anything inherently scary about having both hosted by IIS. If you would rather put the middle tier in a non-IIS service, just create a Windows Service project and do your own listening on a network port. Also, the new WCF bits give you a lot more choice in coming up with a programming model.
SalvaPatuel
Intelligence
Hi Aaron,
If you need to draw tha analogy -
consider IIS to be Apache and consider the ASP.NET worker process to be your Weblogic.
If you have a .NET application, and you check out the processes - you will see a process for IIS and another one for W3WP or ASP.NET worker process.
I dont agree with the way you have defined 3 - Tier for J2EE.
In J2EE - typically the web tier is not Apache - it is the WAR which runs in weblogic. The app tier again is the ejb-jar in weblogic and the Data tier is the database.
Apache is just a proxy.
The same happens in 3 Tier IIS application as well.
T.Vargek
Donald Burr
Your quite right, that's no middle tier and quite smelly :-)
If your after a seperate middle tier so you can scale out rather than up etc you just have to make the connection to the middle tier machine.
The middle tier machine can be running a web service or you can use remoting. These give you the ability to make distributed calls to the middle tier (load balanced when your scaling out).
Web services gives you a cleaner upgrade path to Windows Communication Fooundation in .Net 3.0. Remoting can be hosted in a service which negates the need for IIS on your middle tier boxes and is more performant.
You can have x number of Web Servers conecting to x number of business layer boxes connecting to your clustered databases. This scales out as far as you need
Regards
Ed
kalkumar
IIS plays the role of both web and app server. We sell internet banking product .. and infact using IIS at both layers client saves money by not having to purchase additional app server like webspeher or weblogic.
http://DotNetWithMe.blogspot.com
vikas goyal