views:

345

answers:

7

Let's say I asked Microsoft to describe the perfect, modern, Microsoft-based technology stack to power a standard e-commerce web site, which perhaps has a simple 2-tier web/database architecture. What would it be like? Yes, I'm just looking for a list of product / technology names.

For example, in the J2EE world, I might describe a stack that includes:

  • J2EE 6 standard
  • JavaServer Faces
  • Glassfish 3
  • MySQL 5.1.x

I'm guessing this stack includes some combination of .NET, SQL Server, ASP.NET, IIS, etc. but I am not familiar with this world. Looking for ideas on the equivalent in Microsoft-land.

+8  A: 

Your typical Microsoft stack probably looks like this:

  • IIS 7
  • ASP.NET 4
  • ASP.NET MVC 2 or Web Forms (MVC is probably considered to be the more modern technology)
  • Entity Framework 4
  • SQL Server 2008

You can substitute non-Microsoft technology at some points in the stack. The database server is probably the most common place to do this. I have used Oracle, PostgreSQL and MySQL with ASP.NET in addition to SQL Server. As long as you have an ADO.NET driver you're good to go.

Cory Grimster
I don't think I would consider the Entry Framework part of the stack. It's an implementation option, but not part of the required stack.
Chris
Server 2008 R2, IIS 7.5, SQL Server 2008 R2. Dump EntityFramework for something not sucking - NHibernate.
TomTom
I heard that folks weren't fond of EF. I haven't used it for anything substantial. Hanselman said version 4.0 was better than previous ones. Any truth to that?
Cory Grimster
+3  A: 

This would most likely be:

  • SQL Server (DB Layer)
  • IIS
  • ASP.NET or ASP.NET MVC

Depending on your requirements, there could also be various web services written in .NET using Windows Communication Foundation, as well. This is often used for communication between layers, and includes many "sub products" like WCF Data Services. Data layers may be using technologies such as ADO.NET Entity Framework.

Reed Copsey
+12  A: 

To take just one example:

All on Windows Server 2008

Just like in the Java world however, there are a lot more choices - that's even sticking with just Microsoft.

Joe R
Ah - outdated like hell. Make it Windows Sever 2008 R2 and SQL Server 2008 R2 ;)
TomTom
+2  A: 
  • J2EE ~ WCF (The most enterprisy of the various component and service technologies)
  • JavaServer Face ~ ASP.NET
  • Glassfish ~ IIS 7 (I'm not expert on Java app servers, but until IIS7, ASP.NET seemed to be in IIS, but not of it and didn't make much use of IIS. In IIS7, the app server is more interesting as a provider of various services)
  • MySQL ~ MS-SQL Server
MatthewMartin
+7  A: 

A helpful utility to get a machine set up for the MS stack is their Web Platform Installer 2.0. It includes the IIS (and it knows which version is applicable for your particular OS), ASP.NET and the 3.5 and 4.0 .NET runtimes, the Express version of SQL Server 2008, and options like WCF RIA Services, ASP.NET MVC2, etc. It also supports dozens of web applications (blogs, CMS apps, wikis, etc.) you might want to host.

Tim Trout
+1  A: 

I'd say something like

  • Windows Server 2008 R2
  • IIS7
  • Visual Studio 2010
  • ASP.NET MVC 2
  • SQL Server Standard (unless you need more)
Nate Bross
A: 

Something no one has mentioned yet is the .Net equivilent of the Java AppServer environment - IIS, ASP.Net et al do not come together as an equivilent of the Java AppServer.

For that you need AppFabric.

Moo