How should my team decide between 3-tier and 2-tier architectures?

Posted by j0rd4n on Stack Overflow See other posts from Stack Overflow or by j0rd4n
Published on 2010-04-27T16:04:41Z Indexed on 2010/04/28 23:47 UTC
Read the original article Hit count: 249

Filed under:
|
|
|

My team is discussing the future direction we take our projects. Half the team believes in a pure 3-tier architecture while the other half favors a 2-tier architecture.

Project Assumptions:

  1. Enterprise business applications
  2. Business logic needed between user and database
  3. Data validation necessary
  4. Service-oriented (prefer RESTful services)
  5. Multi-year maintenance plan
  6. Support hundreds of users

3-tier Team Favors:

  1. Persistant layer <==> Domain layer <==> UI layer
  2. Service boundary between at least persistant layer and domain layer. Domain layer might have service boundary between it.
  3. Translations between each layer (clean DTO separation)
  4. Hand roll persistance unless we can find creative yet elegant automation

2-tier Team Favors:

  1. Entity Framework + WCF Data Service layer <==> UI layer
  2. Business logic kept in WCF Data Service interceptors
  3. Minimal translation between layers - favor faster coding

So that's the high-level argument. What considerations should we take into account? What experiences have you had with either approach?

© Stack Overflow or respective owner

Related posts about architecture

Related posts about .NET