473,396 Members | 2,037 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,396 software developers and data experts.

N-Tier Question

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.

Where I am confused is in which layer should I carry out actions such as
merging the changes of a GetChanges dataset into the orignal dataset before
passing it back to the presentation layer. I currently have actions like this
in the BLL but i'm not entirely sure its the best place or correct place for
it to be.

Any help or guidance towards best practices would be greatly received.

Thanks

R
Nov 21 '05 #1
1 926
Typically you would want to do such things as close to the source of the event that causes
GetChanges to deduced. Most likely this will be in the BL. Alot of these kinds of questions come
down to the specific project in question and personal perference. To me the purpose of the DAL is
too do nothing more than "talk" to the datastore. If you are Get[ting]Changes then you must have
done something that you think may have changed the data in the dataset, therefore you must have
stored the original dataset somewhere so that you could implement the merge. Whereever this occurs
is where you should probably be handling this process.

Something else that might help you decide is in thinking about nTier as not only a separation of
layers for specific functions (presentation/BL/dal) but also what that allows you to do and the
ramifications of where you put the type of code you described. If you were to swap your asp.net
front end for a winforms implementation and your presumably SQL Server backend for an Oracle
backend, how much of this type of code would you have to rewrite?

If it is alot then chances are your putting too much in either end and you should think about
refactoring to the middle tier. If the GetChanges you made require some BI to determine what goes
where and what constitutes a change then it should be in the BL. If it is merely some mundane
translation of some kind then it might well be a DAL function.

hth
Richard


Nov 21 '05 #2

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...
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
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
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
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
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...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

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.