473,405 Members | 2,154 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

N-Tier question

Posted on behalf of a team member:
Our organization is in the enviable position of starting a new web-based
product with a clean slate working with the latest ASP .NET tools (VS 2005
Pro using ASP 2.0). We have been researching the best practices for creating
an N-tier application and have found several varying viewpoints as to how
proceed, which leaves us wondering which specific model is easiest to build
and maintain with the latest and greatest. We are very comfortable with
stored procedures and building a solid object class library and BLL on top of
that, and would naturally tend towards this methodology. That being said, we
don’t want to count out a much more easily built and maintained methodology.
Is there a suggested standard for building N-Tier web applications?
---

Thanks.
Feb 20 '06 #1
4 1500
Sounds just fine to me.
Peter

--
Co-founder, Eggheadcafe.com developer portal:
http://www.eggheadcafe.com
UnBlog:
http://petesbloggerama.blogspot.com


"Brent Borovan" wrote:
Posted on behalf of a team member:
Our organization is in the enviable position of starting a new web-based
product with a clean slate working with the latest ASP .NET tools (VS 2005
Pro using ASP 2.0). We have been researching the best practices for creating
an N-tier application and have found several varying viewpoints as to how
proceed, which leaves us wondering which specific model is easiest to build
and maintain with the latest and greatest. We are very comfortable with
stored procedures and building a solid object class library and BLL on top of
that, and would naturally tend towards this methodology. That being said, we
don’t want to count out a much more easily built and maintained methodology.
Is there a suggested standard for building N-Tier web applications?
---

Thanks.

Feb 20 '06 #2
Agreed...and at the rick of starting a debate, don't use datasets (typed or
untyped) :) Simply use datareaders a datareader and have ur DAL map it to
actual classes.

karl

--
http://www.openmymind.net/
http://www.fuelindustries.com/
"Peter Bromberg [C# MVP]" <pb*******@yahoo.nospammin.com> wrote in message
news:45**********************************@microsof t.com...
Sounds just fine to me.
Peter

--
Co-founder, Eggheadcafe.com developer portal:
http://www.eggheadcafe.com
UnBlog:
http://petesbloggerama.blogspot.com


"Brent Borovan" wrote:
Posted on behalf of a team member:
Our organization is in the enviable position of starting a new web-based
product with a clean slate working with the latest ASP .NET tools (VS
2005
Pro using ASP 2.0). We have been researching the best practices for
creating
an N-tier application and have found several varying viewpoints as to how
proceed, which leaves us wondering which specific model is easiest to
build
and maintain with the latest and greatest. We are very comfortable with
stored procedures and building a solid object class library and BLL on
top of
that, and would naturally tend towards this methodology. That being
said, we
don't want to count out a much more easily built and maintained
methodology.
Is there a suggested standard for building N-Tier web applications?
---

Thanks.

Feb 20 '06 #3
It sound like you've got a good basic understanding of what you need to
build. For a more advanced understanding of middle tier designs in .NET I
suggest you read this high quality book on the subject:

Expert VB 2005 Business Objects, Second Edition (Expert) (Paperback)
by Rockford Lhotka

http://www.amazon.com/gp/product/159...lance&n=283155

--
I hope this helps,
Steve C. Orr
MCSD, MVP
http://SteveOrr.net

"Brent Borovan" wrote:
Posted on behalf of a team member:
Our organization is in the enviable position of starting a new web-based
product with a clean slate working with the latest ASP .NET tools (VS 2005
Pro using ASP 2.0). We have been researching the best practices for creating
an N-tier application and have found several varying viewpoints as to how
proceed, which leaves us wondering which specific model is easiest to build
and maintain with the latest and greatest. We are very comfortable with
stored procedures and building a solid object class library and BLL on top of
that, and would naturally tend towards this methodology. That being said, we
don’t want to count out a much more easily built and maintained methodology.
Is there a suggested standard for building N-Tier web applications?
---

Thanks.

Feb 20 '06 #4

I do this:
(biz)
public class Emp{}
public class EmpCollection{}

(data)
public class EmpData{}

(back in the biz)
public class EmpController{}
Emp is the business object.
EmpCollection is a collection of Emp objects.

EmpData (I put mine in its own assembly) is the data layer object.

EmpController is the business layer object..which returns Emp and
EmpCollection objects... and ~talks to EmpData

full names:

((MyCompany.MyApplication.BusinessLayer (assembly) ))
MyCompany.MyApplication.BusinessLayer.EmpLib.Emp
MyCompany.MyApplication.BusinessLayer.EmpLib.EmpCo llection
MyCompany.MyApplication.BusinessLayer.Controllers. EmpController

(I put my controllers in 1 namespace..just a preference I have..
MyCompany.MyApplication.BusinessLayer.EmpLib.EmpCo ntroller might be good
too)
....
((MyCompany.MyApplication.Data (assembly))
MyCompany.MyApplication.Data.EmpDataLib.EmpData

...

I also put my DataSets (strong typed) outside of these assemblies

MyCompany.MyApplication.Data.DataSets.EmpDSLib.Emp DS
(if I need them...sometimes I don't need DataSets..it depends... I usually
use them in a web app, more than a winforms app)

...

I put Framework pieces in

MyCompany.Data

or
MyCompany.Framework.UIFramework (as an example)

framework pieces are the common code.. that lives "above" and outside any
application specific code.

...

95% of the time, I don't use DataSets. I never use untyped DataSets.
***On occasion***, esp in the web area... I used a strongly typed dataset..
Why?
DataSet.Select("","LastName,FirstName,Age DESC");

Having a multiple parameter sort is nice.
Writing a super complex IComparer sometimes is a pain.

Other than this occasional need, creating strong typed
objects...CollectionBase's is where I am at these days.

I write always have a
private MyCustomCollection ConvertIDataReaderToCollection (IDataReader idr)
method.
This way, I can get an IDataReader in different ways. (1 emp, 10 emps based
on dept, all Emps) from the db...and always get back a collection of Emps
(MyCustomCollection in this sentence, but I call it EmpCollection above).

...

My general rule of thumb is that a strongly typed DataSet is a "poor mans
business object and/or collection".
But sometimes it meets a need.

The other time I use it is with ... large related data.

Lets say I have 100 emps. and 10 depts.
If I do a strictly object design with Emp... Emp has to have an
Emp.DeptCollectionAllDepts

That means.. if I have 100 emps... I have 100x10 depts floating around.
With a dataset, I related to DataSet tables... by a deptid. and only have
to keep 100+10 records around.

I could use the FlyWeight design pattern..but thats alot of work for keeping
track of depts an employee might need to pick from.

(http://www.dofactory.com/Patterns/PatternFlyweight.aspx)


...




"Brent Borovan" <Br**********@discussions.microsoft.com> wrote in message
news:EE**********************************@microsof t.com...
Posted on behalf of a team member:
Our organization is in the enviable position of starting a new web-based
product with a clean slate working with the latest ASP .NET tools (VS 2005
Pro using ASP 2.0). We have been researching the best practices for creating an N-tier application and have found several varying viewpoints as to how
proceed, which leaves us wondering which specific model is easiest to build and maintain with the latest and greatest. We are very comfortable with
stored procedures and building a solid object class library and BLL on top of that, and would naturally tend towards this methodology. That being said, we don't want to count out a much more easily built and maintained methodology. Is there a suggested standard for building N-Tier web applications?
---

Thanks.

Feb 23 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: tstephan | last post by:
In the past we have used the classic nTier design with COM+, SQL Server and MFC. We are currently working on a new project with an opportunity to use .NET, ADO.NET, etc. One of the areas where I...
25
by: Stuart Hilditch | last post by:
Hi all, I am hoping that someone with some experience developing nTier apps can give me some advice here. I am writing an nTier web app that began with a Data Access Layer (DAL), Business...
5
by: Ryan Ternier | last post by:
I know how this should be done in regards to nTier, but it seems a bit inneficient, and was wondering if there's a solution that I havn't thought of yet. (I'm switching this loop to For Each Row...
1
by: Dnx | last post by:
hi i'm a very beginner of visual studio .net 2003 and aspx/vb.net i have to create a project with an architecture ntier i understand the concept but in practical, i don't know where to begin... ...
2
by: WStoreyII | last post by:
I have been reading up on the N-Tier application Design Model. I understand the concept of and the purpose of breaking up the application in to seperate modules (or tiers) for reusabillity and...
1
by: richilli | last post by:
Hello I am getting a little lost in the N-Tier business. Let me explain what I have so far. I am using the Data Access Application Block to execute my SQL stored procedures on the backend. I...
0
by: Jon Vaughan | last post by:
Hello, I have an NTIER Model written in VB.NET, at the moment is running as a client / server. Pushing a pulling data from the client to the server is fine and is done via webservice calls. But...
0
by: Jon Vaughan | last post by:
Hello, I have an NTIER Model written in VB.NET, at the moment is running as a client / server. Pushing a pulling data from the client to the server is fine and is done via webservice calls. But...
0
by: acnx | last post by:
I have an ntier application. I am trying to determine what is the best practice for handing errors in a datagrid. My datagrids are able to add, update and delete data. I am using a...
0
by: fra | last post by:
Ciao a tutti, è disponibile on line un esempio completo di progetto NTier da usare come base per lo sviluppo di una web application strutturata?? Intendo un esempio con gestione corretta dei vari...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.