473,785 Members | 2,309 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 1514
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*******@yaho o.nospammin.com > wrote in message
news:45******** *************** ***********@mic rosoft.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.MyA pplication.Busi nessLayer (assembly) ))
MyCompany.MyApp lication.Busine ssLayer.EmpLib. Emp
MyCompany.MyApp lication.Busine ssLayer.EmpLib. EmpCollection
MyCompany.MyApp lication.Busine ssLayer.Control lers.EmpControl ler

(I put my controllers in 1 namespace..just a preference I have..
MyCompany.MyApp lication.Busine ssLayer.EmpLib. EmpController might be good
too)
....
((MyCompany.MyA pplication.Data (assembly))
MyCompany.MyApp lication.Data.E mpDataLib.EmpDa ta

...

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

MyCompany.MyApp lication.Data.D ataSets.EmpDSLi b.EmpDS
(if I need them...sometime s 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.Frame work.UIFramewor k (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,Fi rstName,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...Colle ctionBase's is where I am at these days.

I write always have a
private MyCustomCollect ion ConvertIDataRea derToCollection (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
(MyCustomCollec tion 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.DeptCollect ionAllDepts

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**********@d iscussions.micr osoft.com> wrote in message
news:EE******** *************** ***********@mic rosoft.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
1062
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 don't find a clear migration path is with security. In the classic method, the server side tiers were installed under COM+ and run as a known user. SQL Server then gave full access to this known user so ADO simply needed to make standard calls...
25
5064
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 Logic Layer (BLL) and User Interface Layer (UIL). The problem I found with this was circular referencing...
5
1180
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 as DataRow in.... to kill the one int that's not needed.) For intCount1 = 0 To objData.DataSet.Tables("tblSecondaryNumbers").Rows.Count - 1 rowTemp = objData.DataSet.Tables("tblSecondaryNumbers").Rows(intCount1)
1
1029
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... please help me thank you
2
1022
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 ect. What i dont understand though is what exactly needs to be on a data access tier. For example I am working on a project right now that i was thinking of making
1
943
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 have several DLL classes that call the DAAB and receive datasets on return. These datasets are then passed back to calling BLL classes and then onto the Presentation layer which is ASP.NET.
0
912
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 how do I go about a call from the server to the clients ? An example would be that the clients are using a disconnected dataset and need to be informed that the dataset has been altered and needs refreshing.
0
1049
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 how do I go about a call from the server to the clients ? An example would be that the clients are using a disconnected dataset and need to be informed that the dataset has been altered and needs refreshing.
0
1038
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 objectdatasource to access a proxy which calls a remote business object. The objectdatasource uses a custom class to pass the data to the business layer. The business layer method returns true or false. When false is returned I want to be able to handle this....
0
910
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 livelli (DAL...) esempi per l'accesso ai dati ... e che magari sia già scritta con una versione recente del FMK (non proprio la 2.0 intendo) Grazie
0
9646
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9484
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10350
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10157
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
7505
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6742
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5518
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4055
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3658
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.