Link to home
Start Free TrialLog in
Avatar of ianmansell01
ianmansell01

asked on

Approach for Application Layers (n-tier) for Web Application

Hi All,
I will try not to duplicate the previous entries (sorry in advance for this post).

A little background. I am a total newbie to ASP.NET. I have previously been involved with Enterprise windows n-tier application using .NET 1.1 with a complex client-side object model talking to the business layer in COM+, hich in turn talked to the DAL. Scaled very well with amazing performance.

I need to author a new website using ASP.NET/FW 3.5/SQL 2008. The site is not overly complex but will need to scale to cope with (potentially) 000s of hits per minute.

Having been "out of the .NET loop" for 2+ years, seems like thinking around object model creation and data access have changed i.e. LINQ, WCF, Generics, etc.

My questions are, if you were starting from scratch...
1) Craft an object model which communicates with a COM+ business / DAL layer?
          a. Quite involved, time consuming but scales well. 100% stored procedures.
          b. Do you still use DataSet or is there something else now?

2) Use LINQ  can you COM+ it? What about when you need to do something really complicated in SQL (I have many times!)

3) Any other ideas!

I am researching like mad, just seems like every book, forum, article has a different opinions / approach. Just need one to aim for...

Help! Many thanks Ian.
ASKER CERTIFIED SOLUTION
Avatar of b_levitt
b_levitt

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Avatar of Mark Wills
Mark Wills
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ianmansell01
ianmansell01

ASKER

Thanks b_levitt and Mark. Great responses...

I've had a digg around... the plot thickens. So the EF seems the right way to go.. but I only require SQL Server support for this application. Sorry to still sound a little dumb on this stuff... only looking at it for less than 48 hours.

1) Seems like L2S and EF do not support the new SQL Server 2008 data types?

2) So does LINQ / EF generate a domain model based on the database schema?

3) I will most likely be using Telerik controls for the main UI stuff... they seem to support LINQ L2S, EF and have their own O/RM tool called Open Access. Its getting dark in here ~;0)

Worrying: Vote of No Confidence for EF?
http://efvote.wufoo.com/forms/ado-net-entity-framework-vote-of-no-confidence/

Choosing between ADO.NET Entity Framework and LINQ to SQL
http://blogs.msdn.com/wriju/archive/2009/03/08/choosing-between-ado-net-entity-framework-and-linq-to-entity.aspx

Tables questioning your requirements and what is supported in L2S and EF.
http://blogs.msdn.com/wriju/archive/2009/01/05/choosing-between-linq-to-sql-and-entity-framework.aspx

Many thanks for your rapid replies so far.
Ian.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thank you to you all... I know its a pretty open ended question. Thanks for the input. P.S. I've split the points..
Thanks, and hope we were able to provide some benefits / thoughts for you. Certainly a lot to think about....

What is your current thinking ? Which way / what approaches do you think you will adopt ? Maybe you could pop-in again and let us know a bit further down the track ?

Hi Mark,

1) Prototype using L2S (with SPs)

2) Actual development using hand-crafted object model / business services. I will author so I can migrate to COM+ fairly eaily if required.

I just know I will run into problems without having full control.. bit more code / effort but I know it will be fast / scalable / fit for purpose.

Cheers
Ian.
Thanks Ian...  Tend to agree with step 2, but could be quite different from step 1.

Cheers,
Mark Wills
I would say L2S is worthy of a look, but to get a handle on it, start with some simple data manipulation without SPs.  If you're going to use SPs for even the simplest DML, then I would agree with mark and go with 2.

.net's wrapper for com+ is System.EnterpriseServices (classes inherit from ServicedComponent).  However, if your only need for com+ is transaction support than use System.Transactions.  It's a lot easier and will work with your hand crafted methods OR L2S.  It's probably one of my favorite additions from .net 1.x.

Good discussion as usual mark.