473,779 Members | 2,015 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Diff between 'n-tier' vs 'distributed architecture' vs. 'multi-layered programming'?

I have a couple questions. First of all, would anyone consider a
multi-layered programming approach (building business objects that are
seperate from data access logic and seperate from user interface logic but
that interface the UI and the data) an n-tier implementation by definition?
Or does n-tier necessitate a network-distributed architecture (beyond IIS
and SQL Server, i.e. COM+/MTS/MSMQ/WCF) in addition to the layered
programming? If a solution is properly broken up into its distinct layers,
does this qualify as 'n-tier'?
Additionally and more broadly, ...

- "n-tier"
- "3-tier"
- "distribute d architecture"
- "multi-layered programming (UIL, BLL, DAL)"

I'm finding a lot of confusion among managers and software engineers
throwing these terms around interchangeably . I have my own opinion about
these--how they relate and how they are distinct--but I was wondering what
the opinions are of others in this newsgroup community. Any thoughts?

Thanks,
Jon
Sep 2 '06 #1
7 4587
Jon Davis wrote:
I have a couple questions. First of all, would anyone consider a
multi-layered programming approach (building business objects that are
seperate from data access logic and seperate from user interface
logic but that interface the UI and the data) an n-tier
implementation by definition? Or does n-tier necessitate a
network-distributed architecture (beyond IIS and SQL Server, i.e.
COM+/MTS/MSMQ/WCF) in addition to the layered programming? If a
solution is properly broken up into its distinct layers, does this
qualify as 'n-tier'?

Additionally and more broadly, ...

- "n-tier"
- "3-tier"
- "distribute d architecture"
- "multi-layered programming (UIL, BLL, DAL)"

I'm finding a lot of confusion among managers and software engineers
throwing these terms around interchangeably . I have my own opinion
about these--how they relate and how they are distinct--but I was
wondering what the opinions are of others in this newsgroup
community. Any thoughts?
IMO, they're mostly synonymous. I would imagine that many people don't
consider a design to be n-tier unless the layers are isolated service
processes (which may or may not be distributed to multiple machines).
Personally, I find that distinction to be irrelevant in most cases - if a
design has be properly separated into loosely coupled, highly cohesive
layers, then the distribution of those layers to isolated service processes
or separate machines is a straightforward , well-solved problem (.NET
remoting, SOAP, etc.).

-cd
Sep 2 '06 #2
Jon,

Of course, but not as a Tier application but as a layer application.

In other words the layers exist on the client as an integrated assembly and
not as more assemblys as with a multi Tier application.

Just my thought,

Cor
Sep 2 '06 #3
Jon Davis wrote:
I have a couple questions. First of all, would anyone consider a
multi-layered programming approach (building business objects that are
seperate from data access logic and seperate from user interface logic but
that interface the UI and the data) an n-tier implementation by definition?
Or does n-tier necessitate a network-distributed architecture (beyond IIS
and SQL Server, i.e. COM+/MTS/MSMQ/WCF) in addition to the layered
programming? If a solution is properly broken up into its distinct layers,
does this qualify as 'n-tier'?

Additionally and more broadly, ...

- "n-tier"
- "3-tier"
- "distribute d architecture"
- "multi-layered programming (UIL, BLL, DAL)"

I'm finding a lot of confusion among managers and software engineers
throwing these terms around interchangeably . I have my own opinion about
these--how they relate and how they are distinct--but I was wondering what
the opinions are of others in this newsgroup community. Any thoughts?
I am old fashioned:

tiers = something that can but not necessarily do run on
different physical systems

layers = logical division within a tier

so you can have 3 tiers:
browser
web app
database

where the web app has 3 layers:
presentation
business logic
data access

Many people (especially within MS technology) uses the term
tier for what I am calling layer.

Which I think confuses matters a bit.

But by using the old definition I think all your questions
is rather easily answered.

Arne
Sep 2 '06 #4

"Arne Vajhøj" <ar**@vajhoej.d kwrote in message
news:VNoKg.8680 $_q4.387@dukere ad09...
>
I am old fashioned:
I think you quite modern and right on target.
The definitions you gave below are correct.
Many people (especially within MS technology) uses the term
tier for what I am calling layer.
Which I think confuses matters a bit.
I never seen ms get it wrong.

Happy Tiers and Layers
- Michael S
Sep 3 '06 #5

"Michael S" <no@no.nowrot e in message
news:eg******** ******@TK2MSFTN GP04.phx.gbl...
>
>Many people (especially within MS technology) uses the term
tier for what I am calling layer.
Which I think confuses matters a bit.

I never seen ms get it wrong.
http://msdn.microsoft.com/asp.net/re...sslayer_cs.asp

The link to the above URL originally on the MSDN home page and currently in
Visual Studio 2005 Start Page is clearly labeled "3-tier Architecture with
ASP.NET 2.0", but this is clearly a programmatic layering discussion without
respect to physical isolation.

Jon
Sep 3 '06 #6
Jon,

I completely agree with Arne, the meaning of my reply was the same,

I have forever had the idea that the Tier part on MSDN is written by the
marketing department of Microsoft. The Tier philosophy is a part of central
processing with 3270 or VT100 processing and not for real advanced
Client/Server processing, as it is done with Windowforms applications.

However, just my idea,

Cor

"Jon Davis" <jo*@REMOVE.ME. PLEASE.jondavis .netschreef in bericht
news:eU******** ******@TK2MSFTN GP04.phx.gbl...
>
"Michael S" <no@no.nowrot e in message
news:eg******** ******@TK2MSFTN GP04.phx.gbl...
>>
>>Many people (especially within MS technology) uses the term
tier for what I am calling layer.
Which I think confuses matters a bit.

I never seen ms get it wrong.

http://msdn.microsoft.com/asp.net/re...sslayer_cs.asp

The link to the above URL originally on the MSDN home page and currently
in Visual Studio 2005 Start Page is clearly labeled "3-tier Architecture
with ASP.NET 2.0", but this is clearly a programmatic layering discussion
without respect to physical isolation.

Jon


Sep 3 '06 #7
Well, maybe they got the terms wrong with layer and tier, but not the idea.
They still got the concepts right, and don't mix them.

I've read a book from microsoft press that got all normalforms in
datamodeling wrong by one notch. Hence their second normal form was the
third (or was it first), all this while giving examples that held true for
the correct form.

So maybe I shouldn't defend ms, but go back to only say that Arne was
correct in his definitions.

But to help the OP

Jon: You should check out SOA, and why the typical 3-tier/3-layer
architecture people was used to in COM and VB; just don't hack it no more
and make for a troublesome architecture.

If you want to learn why SOA may be good and want to read for yourself,
please do. But I am willing to write a few paragraphs on the subject if you
want me to. Partly to help you, but mostly for my himem.sys joke, that
people got really angry about, and by so; I need some redemption.

But this thread is getting old so you must say ping.

Happy Architecture
- Michael S




Sep 4 '06 #8

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

Similar topics

2
2518
by: Charley | last post by:
I've got a diff file that I think is a patch for a bunch of file in a directory. How do I apply this file? I thought it was #patch myfile.diff But that does nothing. I must be missing something. The diff file contains diff's for a nuch of files, not just a single file. Do I need a
0
3684
by: Guillaume Lahitette | last post by:
Hello everyone, I am looking for a lightweight Java Applet to diff and merge two text files. The functionality would be a subset of what WinMerge (http://winmerge.sourceforge.net) offers: - diff 2 text files - merge (in both directions) - color coding to highlight differences I found some Java diff tools but they were all command line. And my
0
3314
by: python | last post by:
Hi- I have a lot of monthly time series data. I need to be able to compare two dates and get the number of months that they are apart. The datetime module is a daily-frequency data type. It has a timedelta object that returns the difference in days between two dates: >>> d1 = datetime.date(2002,1,1)
3
4223
by: Nick Allen | last post by:
After using ndiff from difflib, the function restore would return the sequence that generated the delta. Unfortunately, restore does not do the same for unified_diff. I do not see any similar function that is intended for unified_diff. Does anyone know how to "restore" from a unified diff generated delta? Thanks for all your help in advance. Best Regards, Nick
9
6520
by: Ching-Lung | last post by:
Hi all, I try to create a tool to check the delta (diff) of 2 binaries and create the delta binary. I use binary formatter (serialization) to create the delta binary. It works fine but the delta binary is pretty huge in size. I have 1 byte file and 2 bytes file, the delta should be 1 byte but somehow it turns out to be 249 bytes using binary formatter. I guess serialization has some other things added to the delta file.
6
6456
by: Igor Shevchenko | last post by:
Hi! Suppose I have "pg_dump -s" of two pg installs, one is "dev", another is "production". Their schemas don't differ too much, and I want to get a "diff -u"-like schema diff so I can quickly add missing/remove old tables/sequences/etc to one or another (manually). Is there some quick tool for doing this ? There was a thread about it sometime in aug, 2002, but it ended without producing anything useful.
4
4957
by: Andreas Kasparek | last post by:
Hola! I'm preparing my master thesis about a XML Merge Tool implementation and was wondering if there is any open standard for XML diff regarding topics like: - is a diff result computed on the ordered or unordered xml node tree of the compared documents? - what identifiers/criteria should be used by default to match elements of the same type in different documents? - should a diff tool consider move operations or only insert/delete
3
3011
by: AirYT | last post by:
Hello, I'm looking for an implementation for diffing 2 (text) files and spitting out the output using php only. i would like to extend this to use ftp to diff two files on two ftp servers, or one local file & a remote ftp server. Anyone have any ideas on source for this before i go ahead and build it? At least the diff engine? a nice gui would be best, but not totally necessary. TIA,
6
3317
by: Aaron Gray | last post by:
Hi, I am working on an HTML WYSISYG Wiki and need to display a diff page like WikiPedia does if two people edit a file at the same time to give the second user the diff. Basically with additions in red and deletions in red strike though. There seem to be several in Perl and Python and many diff programs which all seem to be line based and work on text written in PHP.
2
1951
by: akshaycjoshi | last post by:
I have got one tree tree view control.I have three levels in it. Example- Root1 ------->child1 ------->child2 ---------------->child1 ---------------->child2 ------->child3 Root2
0
9636
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
9474
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
10306
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...
1
10074
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7485
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
5373
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
5503
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4037
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
3632
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.