views:

59

answers:

3

If I look at something for Java I an see JBoss, WebSphere, others. Ruby I guess could be Ruby on Rails (I don't know if that qualifies), but for Windows is IIS and the .NET runtime the application server in the Microsoft World? The other languages had to come up with what Windows has by default with IIS and the .NET framework?

edit: for example, is saying I can administer IIS the same as saying I can administer WebSphere?

A: 

I guess under Windows ASP.net under IIS is considered the JSP, Servlet, the application server and the web server. I don't see why you couldn't write your own container to run ASP.net applications using the .net framework the way j2ee is used and then use Apache as a reverse proxy, but since it's not an open standard like Servlets IIS is the reference implementation.

Novikov
A: 

WIndows itself (+ IIS) is the application server. You run your apps as windows services utiilizng the standard class libraries and the standard windows features. You use IIS for the web part.

Java went with application servers, as they needed a runtime that could be control (as opposed to an entire operating system), they wanted to be portable and vendor independant.

nos
@nos thanks. it seems so much more complicated than IIS, though. Are they really analogous?
johnny
@johnny: I don't see how it's any more complicated. In Win you have Windows (OS) and IIS (Web/App Server), for Java you may have Linux (OS) and JBoss (Web/App Server). You have more choices though - we run Linux + Apache + Tomcat where Apache acts as a front-end to Tomcat and also serves plain HTML pages. Of course you can also have Windows + Apache + Tomcat or Windows + JBoss so you have more choices available for hosting.
Stephen P
+2  A: 

Windows does not have an "application server" per se. Instead there are different pieces of Windows/.NET Framework that come into play.

I'm not an expert on Java and Java App servers, but what you get there in the context of an application server is kind of combination of Servlets/JSP talking to objects (JavaBeans - here object pooling/caching comes into place, as well as stateful, stateless beans etc.). Then there is JMS as queueing service, and all stuff like talking to databases, sending mails etc. - if you look for example at LOB applications.

In the Windows world you can use different pieces of technology. ASP.NET/MVC would be your JSP equivalent, you can use .NET POCO instead of JavaBeans, ADO.NET/LINQ/other ORM as the database communication layer. There are some services from the operating system, like MSMQ (=JMS) that offers queueing/persistence, or COM+ with object pooling/transactioning etc. (though .NET was slated to be COM(+) vNext, e.g. you should get same benefits using for example .NET TransactionScope support)

Last time I heard Microsoft is working on something that will be called an "application server" - currently known as "Dublin", which will extend IIS/ASP.NET/MVC to include workflows, services etc.

liggett78
See [Windows Server AppFabric](http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx). It's not longer called "Dublin", which was only a code name.
John Saunders