473,805 Members | 1,949 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

N-tier application - Design issue

Hi folks,
In an N-tier application, what is the possible values of N??? I'm not
kidding, I just interviewed with a programmer today, and he started the
"2-tier application" conversation. From then on, I heard about "5-tier
application" and then "7-tier application"... . I do know what is a
3-tier application, but what about 2, 5, and 7??? Does 2-tier means a
"Client-Server" application model? What about 5 and 7???

Would you please describe me this?

TIA,
Mehdi

Dec 11 '06 #1
13 1966
2 tier is client server, either with the majority of the logic on a fat
client, or on the server accessed through a thin client.
3 tier is the classic client - server - database architecture where the
client's job is to look pretty but all the business logic is processed
at the server which hides the database away from the user, validates
stuff, applies business rules, etc.
>From there each additional tier is generally a way of breaking the
server into discreet sections. A data access tier for example manages
all communication with the database while a business rules tier would
implement business logic. This offers the advantage that if you wanted
to replace the data access tier with one that communicates with a
different database, you can work on the data access tier in isolation
knowing you won't damage your business rules.
On the client end, you can have a presentation abstraction tier which
defines how an application should look and feel regardless of whether
it's running as aspx or a windows forms app.
Add in a tier for distribution of server requests, so you can have two
or more servers acting as one seamless application, that's at least
five tiers.

mehdi_mousavi wrote:
Hi folks,
In an N-tier application, what is the possible values of N??? I'm not
kidding, I just interviewed with a programmer today, and he started the
"2-tier application" conversation. From then on, I heard about "5-tier
application" and then "7-tier application"... . I do know what is a
3-tier application, but what about 2, 5, and 7??? Does 2-tier means a
"Client-Server" application model? What about 5 and 7???

Would you please describe me this?

TIA,
Mehdi
Dec 11 '06 #2
Hi,

DeveloperX wrote:
2 tier is client server, either with the majority of the logic on a fat
client, or on the server accessed through a thin client.
I think the politically correct term for a non-thin client is a "thick"
client ;-)

Laurent
--
Laurent Bugnion, GalaSoft
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
Dec 11 '06 #3
I think the politically correct term for a non-thin client is a "thick"
client ;-)
What about FAT32 then? THICK32?

- sorry, couldn't resist :-)

--
With regards
Anders Borum / SphereWorks
Microsoft Certified Professional (.NET MCP)
Dec 11 '06 #4
How about proportionally normal for this type of client client. No one
will have any idea what I'm talking about but at least my client won't
have hurt feelings :)

Laurent Bugnion wrote:
Hi,

DeveloperX wrote:
2 tier is client server, either with the majority of the logic on a fat
client, or on the server accessed through a thin client.

I think the politically correct term for a non-thin client is a "thick"
client ;-)

Laurent
--
Laurent Bugnion, GalaSoft
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
Dec 11 '06 #5
Amazing :))))

Laurent Bugnion wrote:
Hi,

DeveloperX wrote:
2 tier is client server, either with the majority of the logic on a fat
client, or on the server accessed through a thin client.

I think the politically correct term for a non-thin client is a "thick"
client ;-)

Laurent
--
Laurent Bugnion, GalaSoft
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
Dec 11 '06 #6
So there's actually 2 (client-server) or 3 (presentation, middle layer,
data layer) major tiers. And any other tier that's being added to this
model is actually partitioning each of those tiers. For example, in a
3-tier application, the data layer is actually divided into Business
Logic Objects, Data AccessLogic and etc. Right?

Thank you for your time,
Mehdi

P.S.: I really enjoyed the "fat client" phrase. ;)

DeveloperX wrote:
2 tier is client server, either with the majority of the logic on a fat
client, or on the server accessed through a thin client.
3 tier is the classic client - server - database architecture where the
client's job is to look pretty but all the business logic is processed
at the server which hides the database away from the user, validates
stuff, applies business rules, etc.
From there each additional tier is generally a way of breaking the
server into discreet sections. A data access tier for example manages
all communication with the database while a business rules tier would
implement business logic. This offers the advantage that if you wanted
to replace the data access tier with one that communicates with a
different database, you can work on the data access tier in isolation
knowing you won't damage your business rules.
On the client end, you can have a presentation abstraction tier which
defines how an application should look and feel regardless of whether
it's running as aspx or a windows forms app.
Add in a tier for distribution of server requests, so you can have two
or more servers acting as one seamless application, that's at least
five tiers.

mehdi_mousavi wrote:
Hi folks,
In an N-tier application, what is the possible values of N??? I'm not
kidding, I just interviewed with a programmer today, and he started the
"2-tier application" conversation. From then on, I heard about "5-tier
application" and then "7-tier application"... . I do know what is a
3-tier application, but what about 2, 5, and 7??? Does 2-tier means a
"Client-Server" application model? What about 5 and 7???

Would you please describe me this?

TIA,
Mehdi
Dec 11 '06 #7
Hi,

mehdi_mousavi wrote:
Amazing :))))

Laurent Bugnion wrote:
>I think the politically correct term for a non-thin client is a "thick"
client ;-)

Laurent
There was a smiley in my post, but somehow it doesn't show in Thunderbird...

Greetings,
Laurent
--
Laurent Bugnion, GalaSoft
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
Dec 11 '06 #8
Yeah it's all about partitioning the application in a way that
increases scalability, performance, maintainability and security.
Another point that's worth noting is that a well written 2 tier system
should adopt a lot of what you'd see in systems with more tiers.
For example in a 2 tier system consisting of a morbidly obese client
talking to a database server, some how the client is going to have to
get data into that database. Now if you take the seperation described
above, your client can have a library of data objects for talking to
the database with well defined interfaces, a library of business
objects, a library that defines the client's GUI rules, then a GUI.
If in the future your two tier needs to switch to oracle from SQL
Server, or you want to go to a three tier model, it's much simpler
because you've layered the code and only have one layer to change. Want
to upgrade the GUI? Just write a new one that utilises the client GUI
rules.
I hope that helps some,
mehdi_mousavi wrote:
So there's actually 2 (client-server) or 3 (presentation, middle layer,
data layer) major tiers. And any other tier that's being added to this
model is actually partitioning each of those tiers. For example, in a
3-tier application, the data layer is actually divided into Business
Logic Objects, Data AccessLogic and etc. Right?

Thank you for your time,
Mehdi

P.S.: I really enjoyed the "fat client" phrase. ;)

DeveloperX wrote:
2 tier is client server, either with the majority of the logic on a fat
client, or on the server accessed through a thin client.
3 tier is the classic client - server - database architecture where the
client's job is to look pretty but all the business logic is processed
at the server which hides the database away from the user, validates
stuff, applies business rules, etc.
>From there each additional tier is generally a way of breaking the
server into discreet sections. A data access tier for example manages
all communication with the database while a business rules tier would
implement business logic. This offers the advantage that if you wanted
to replace the data access tier with one that communicates with a
different database, you can work on the data access tier in isolation
knowing you won't damage your business rules.
On the client end, you can have a presentation abstraction tier which
defines how an application should look and feel regardless of whether
it's running as aspx or a windows forms app.
Add in a tier for distribution of server requests, so you can have two
or more servers acting as one seamless application, that's at least
five tiers.

mehdi_mousavi wrote:
Hi folks,
In an N-tier application, what is the possible values of N??? I'm not
kidding, I just interviewed with a programmer today, and he started the
"2-tier application" conversation. From then on, I heard about "5-tier
application" and then "7-tier application"... . I do know what is a
3-tier application, but what about 2, 5, and 7??? Does 2-tier means a
"Client-Server" application model? What about 5 and 7???
>
Would you please describe me this?
>
TIA,
Mehdi
Dec 11 '06 #9
DeveloperX wrote:
2 tier is client server, either with the majority of the logic on a fat
client, or on the server accessed through a thin client.
3 tier is the classic client - server - database architecture where the
client's job is to look pretty but all the business logic is processed
at the server which hides the database away from the user, validates
stuff, applies business rules, etc.
Well, keep in mind that a logical tier does not have to be on a
separate physical tier. You can have a 3-tier application, all running
on one box. That's one physical tier, but three logical tiers
(assuming you COULD separate the logical tiers onto separate if the
need arose).

Dec 11 '06 #10

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

Similar topics

0
1262
by: Tim Smith | last post by:
Hi, I have been considering how to personalize mini functional applications and I was wondering if there is an easy way to do the following for an client application design a) User runs myapp.exe b) User login c) Personalized toolbar appear d) Each icon on the toolbar is a separate application which inherits
6
1666
by: Javaman59 | last post by:
This must be a common GUI design issue - whether to treat the GUI object which represents a thing as if it were the thing itself. I'll put it in the form which I've come across recently... I have a GUI which is a controller for an instrument, and I have a UserControl which represents the instrument. Imagine that the UserControl has a text box for the instrument frequency, and a button to turn it off and on.
2
1355
by: mrpubnight | last post by:
Hello everyone I'm hoping someone with more experience can suggest how I would go about designing the following: We have a standard web application and in its current form there are no distinct layers. Everything is jumbled together. In an effort to deploy new code in a more structured manner I've decided to break apart the UI from the Business (no big stretch here). I have a data access class in my business layer which is obviously...
14
1584
by: Mark O'Flynn | last post by:
I would like some advice regarding implementing inheritance using vb.net. I have an application written in vb6 that I am rewritting from the ground up in vb.net to take full advantage of .net, but I have encountered a design issue implementing inheritance. To explain my question, I will use an example. I have a Person class, with properties such as ID, Name, Phone, Address etc. I then have a Manager class that inherits Person and...
1
1278
by: Rachel | last post by:
Hi, I have created a custom provider (extending on ProviderBase) to handle Standards and I wish to package up these classes (StandardService, StandardProvider, StandardProviderCollection, SqlStandardProvider, StandardServiceSection, and related business object classes) into a separate class library so that this (custom) provider can be referenced by multiple Websites. Unfortunetly it seems that the Standard provider does not get...
1
1892
by: keliie | last post by:
I have a relatively simple (I assume) issue which I am at a complete loss to address. My issues is: I want to populate fields in my tables with summary data from the same table. Let me explain: tblItemDetails (contains data on food products purchased) Item_Description_ID (key, source link to tblMenuItemRecipe) Item_Unit_of_Measure Item_Location Item_Type Item_Category
4
1749
by: sagenaut | last post by:
The design issue is detailed as following: One application will write data to a flat file about every hour. Once the flat file is updated, it must be transmitted to three different remote locations simultaneously. The requirement is that the three remote locations must receive the flat file at the same time within a second, or the transfer was failed, that is, it cannot be that some locations receive the flat file and the others do...
8
1874
by: obrianpatrick | last post by:
Hi, I am relatively new to object oriented programming and design. I am developing an application in VS 2005. I am having the following design problem: I have two interfaces X and Y. Y is derived from X as the following: __interface X {
11
2247
Dheeraj Joshi
by: Dheeraj Joshi | last post by:
Greetings, I am working on a remote desktop management system. One of the feature in this product is remote configuration, i.e i must be able to create a new process, delete a process etc on remote machine. And it must be: Single host single operation(SHSO) Single host multiple operation(SHMO) multiple host single operation(MHSO)
0
9596
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
10359
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...
0
10104
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9182
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7645
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
6875
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
5541
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 last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5677
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3843
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.