473,506 Members | 16,951 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

ASP.Net Mid Tier Component Design

I have a general design question.

What's a 'Best Practice' for middle tier component design?

I'm thinking of a web form that contains data from multiple tables. The
data is supplied from one or more muti-table joins. Is it better to
populate a form by binding to dataset tables or load the data in
collection classes? How are the updates handled? Would there be a
stored procedure for each table that is updated, and have all the
updates wrapped in a transaction?

I know it's a pretty open question. Does someone have a good component
design book recomendation or is some of this available with Microsoft
application blocks?

Thanks in advance,

Gabe

Nov 19 '05 #1
3 1554
There's no best answer to these questions without first knowing a whole lot
about your requirements. Since most of us don't have that kind of time,
it's up to you to decide ultimately. If you want to make an informed
decision, I suggest you read the following book:

Expert One-on-One Visual Basic .NET Business Objects (by Rockford Lhotka)
http://www.amazon.com/exec/obidos/AS...&link_code=as1

or here's the C# version if you prefer:
http://www.amazon.com/exec/obidos/AS...&link_code=as1

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

"gabe" <ga*****@gmail.com> wrote in message
news:11**********************@g14g2000cwa.googlegr oups.com...
I have a general design question.

What's a 'Best Practice' for middle tier component design?

I'm thinking of a web form that contains data from multiple tables. The
data is supplied from one or more muti-table joins. Is it better to
populate a form by binding to dataset tables or load the data in
collection classes? How are the updates handled? Would there be a
stored procedure for each table that is updated, and have all the
updates wrapped in a transaction?

I know it's a pretty open question. Does someone have a good component
design book recomendation or is some of this available with Microsoft
application blocks?

Thanks in advance,

Gabe

Nov 19 '05 #2
Try this, it's a whole catalog of free "patterns & practices" guides:

http://msdn.microsoft.com/practices/...t/default.aspx

--

Joshua Mitts
jo****@msn.com

"gabe" <ga*****@gmail.com> wrote in message
news:11**********************@g14g2000cwa.googlegr oups.com...
I have a general design question.

What's a 'Best Practice' for middle tier component design?

I'm thinking of a web form that contains data from multiple tables. The
data is supplied from one or more muti-table joins. Is it better to
populate a form by binding to dataset tables or load the data in
collection classes? How are the updates handled? Would there be a
stored procedure for each table that is updated, and have all the
updates wrapped in a transaction?

I know it's a pretty open question. Does someone have a good component
design book recomendation or is some of this available with Microsoft
application blocks?

Thanks in advance,

Gabe

Nov 19 '05 #3
Hi Gabe,

It's better not to think in terms of iter *position* but of tier
*functionality*. In other words, the phrase "middle tier" in itself lends to
your confusion. Let me use your question as an example:
I'm thinking of a web form that contains data from multiple tables. The
data is supplied from one or more muti-table joins. Is it better to
populate a form by binding to dataset tables or load the data in
collection classes? How are the updates handled? Would there be a
stored procedure for each table that is updated, and have all the
updates wrapped in a transaction?
Okay, the first thing you mention is a WebForm. That is the presentation
tier. So, we are talking only about the presentation level when we talk
about any kind of user interface.

Second, you mention that the WebForm "contains" data. Incorrect. A user
interface element *presents* data. Although this difference in terminology
may seem purely semantic, it helps to separate the various tiers in your
mind. Yes, in a sense, it contains data, but in a more important sense, it
presents data. That is, the purpose of the presentation tier is to display
data. It is not a storage mechanism. Even though it has storage
capabilities, these are for its own use.

The only thing that should be spoken of as containing data is the data
source. Everything else is simply a mechanism for transporting that data
back and forth to and from the user to and from the data source, or a
mechanism for munging that data in some form or fashion.

The "binding" terminology is excellent for the relationship of data to the
presentation tier, as it implies that the data is not *contained* in the
presentation tier, but merely *bound* or "linked" to it somehow.

So, what you term the "middle" tier is actually more usefully called the
"business" tier. This is the tier which performs business logic with the
data in your app. It applies the business rules of your app to the data it
works with. In a sense, it is the "business end" of your application; the
place where everything really happens. The presentation tier is more of a
messaging utility, a "universal translator" which speaks human at one end,
and business logic at the other.

Below the business tier is another tier of functionality, which can be
called the "data tier." This is not where data is stored either, but is a
set of utilities for communicating with data stores. It is a "universal
translator" between business objects and data stores.

The data store itself can be thought of as a "tier" as well,, but just as
often is not.

In any case, I hope you can see how thinking of tiers in functional terms is
useful.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
A watched clock never boils.

"gabe" <ga*****@gmail.com> wrote in message
news:11**********************@g14g2000cwa.googlegr oups.com...I have a general design question.

What's a 'Best Practice' for middle tier component design?

I'm thinking of a web form that contains data from multiple tables. The
data is supplied from one or more muti-table joins. Is it better to
populate a form by binding to dataset tables or load the data in
collection classes? How are the updates handled? Would there be a
stored procedure for each table that is updated, and have all the
updates wrapped in a transaction?

I know it's a pretty open question. Does someone have a good component
design book recomendation or is some of this available with Microsoft
application blocks?

Thanks in advance,

Gabe

Nov 19 '05 #4

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

Similar topics

77
5624
by: nospam | last post by:
Reasons for a 3-tier achitecture for the WEB? (NOTE: I said, WEB, NOT WINDOWS. DON'T shoot your mouth off if you don't understand the difference.) I hear only one reason and that's to switch a...
25
5548
by: David Noble | last post by:
We've been developing a web site using 3-tier architecture for 18 months now. There is a common layer that defines the classes - using XML schemas. The data layer acts as a wrapper to 3 databases...
51
3998
by: nospam | last post by:
THIS IS the DOTNETJUNKIES MESSAGE ------------------------- We're Sorry As many of you know we have recently launched SqlJunkies.com. We have overhauled our runtime and will be using it on...
16
2986
by: D Witherspoon | last post by:
I am developing a Windows Forms application in VB.NET that will use .NET remoting to access the data tier classes. A very simple way I have come up with is by creating typed (.xsd) datasets. For...
23
1997
by: Steve Barnett | last post by:
Ok, I've never done n-Tier development and I'm getting confused... Assuming I have a business layer and a data access layer that may be running on different machines, how does my business layer...
0
7307
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,...
1
7021
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
7478
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...
1
5035
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...
0
4701
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...
0
3188
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1532
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 ...
1
755
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
409
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

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.