Talk:Multitier architecture

From Wikipedia, the free encyclopedia

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

search for Data Access architecture of client/server computing

Contents

[edit] MVC

Whats written in the section comparing three tier to MVC is true but leaves the implication that MVC and n-tier are competing architectures when MVC is a pattern and could be simply part of an architecture. For example the presentation layer of a multi-tier architecture could be MVC. —Preceding unsigned comment added by NickHollingsworth (talkcontribs) 16:43, 29 May 2008 (UTC)

[edit] Cleanup and merging

I'd like to clean this article and the Three-tier (computing) article up and merge them together. Two-tier, three-tier, n-tier, are all just names for the same basic concept (that steps from Model-view-controller) and both articles do a bad job explaining things. I originally just merged the articles (bad idea) and planned to work on them later, but I haven't really gotten the chance yet.

And technically, the article should probably be named "Multiple tier" (why I merged the bigger article into the smaller!) because it's more encompassing.

Anyway, I will work on the articles more before merging them, and maybe others will join in. -- Foofy 07:11, 19 October 2005 (UTC)

  • Thanks for unmerging; thinking and talking about this beforehand is a much better idea. I will help out some with the cleanup as I have bandwidth. We do need to keep the three-tier explanations clear in the eventual outcome; that's how most people come to know of / about multi-tier architectures these days. Georgewilliamherbert 00:57, 20 October 2005 (UTC)
    • Yeah, almost everytime I read about another tier beyond the original three, it's more of a clarification of another tier. I'm gonna sink my teeth into this later tonight, still reading and gathering a bunch of info. Have a general outline I'll try to pound in tonight. -- Foofy 19:22, 20 October 2005 (UTC)
    • Multiple tier is still refered to in the CIW educational manuals for testing as another definition of three-tier. Unless the curriculumn changes, I think it is a good idea to keep the three tier explanation with the mutli-tier name as simply another defining term. Kat.


I agree!The preceding unsigned comment was added by 58.104.82.22 (talk • contribs) .

Maybe all of this should just be merged into Client-server, especially since that article already has a small section on multi-tier architectures. --Allan McInnes (talk) 05:47, 7 February 2006 (UTC)

Pmerson: I agree with merging multi-tier and three-tier. But there are some other points to clarify:

  • Client-server and multi-tier are not the same thing. They are variations of the same architectural pattern, but are distinct enough to deserve their own pages.
  • Tiers in multi-tiered systems are not equivalent to layers. Tiers are abstractions of runtime environments or containers; layers are abstractions of a logical grouping of implementation units. Although tiers and layers are overloaded terms, this distinction is most often assumed or implied.
  • Thus, it is not always correct to equate the three tiers to model, view and controller in the MVC framework. Likewise, it's not a good idea to relate the tiers to presentation, logic and data. In general, presentation and logic may reside in more than one tier. The picture in the three-tier article is not a good representation. It mixes the concepts of tiers and layers. It's common to talk about a presentation layer, which is usually on top and contains code to handle the UI. But when we talk about tiers, the first tier is usually called the client tier, which is the runtime element that runs on the client machine. The client can be a thin client (typically a web browser) or a rich (or thick) client. Rich clients may implement more than presentation; they may embed an entire MVC implementation.
  • Multiple tier and two-tier are not commonly used terms, so I'd avoid them.

217.186.131.146 19:01, 19 May 2006 (UTC) cbass:

Merging is all right, as long as i can find multi-tier when searching for 3-tier, for the 3-tier-term is still used in a lot of lectures and articles. So Foofy is right.

Well, this proposal has been up for a while, and it looks like a merge is the way to go. I'm going to get started on it as well as clean up the articles/article in general. I've been learning a lot about application design these past few months so time to put it to some use here.  :) --Foofy 04:21, 26 May 2006 (UTC)

Oops. I think we had a quiet consensus to merge the other direction, to Three-tier as the base article name... I didn't notice that you had the tags to go the other way.
Let me fix that. Georgewilliamherbert 04:35, 26 May 2006 (UTC)
Hey, don't revert the revert saying "see discussion" without having commented in the discussion. The discussion consensus above was that three-tier was the right parent node. Put 'er back again, or explain why... Georgewilliamherbert 04:44, 26 May 2006 (UTC)

[edit] "Multi-tier" or "multitier"

I was always told to use the hyphen unless it's in the dictionary that way, so I'm pretty sure it should have a hyphen... what do you think? --Foofy 04:32, 26 May 2006 (UTC)

Agreed. What's worse, the article title and the usage inside the article are inconsistent. (The article is "multitier architecture" while the article itself uses the spelling "multi-tier".) DoctorElmo 00:04, 19 July 2006 (UTC)

[edit] Ambiguity on certain terms (George?)

Each time I sit down to cleanup these articles it turns out I can't decide how to define certain terms because there's no clear consensus on what they mean. After a great deal of reading (and talking to programmer friends), I'm still not sure.

  • Some consider three-tier a client-server architecture, to others its a replacement/alternative.
  • Some consider three-tier and n-tier synonymous, others do not. Good explanation here [1]: "The term n-tier comes from the fact that the application logic tier is often subdivided into further logical tiers dedicated to one task or another; the application tier is seldom homogeneous. Some programmers view the division as three tiers, while others view the different classes of application logic as individual tiers."
  • Even more confusing is some people say model-view-controller is an implementation of n-tier.

I'd just like some input on this. Which explanations should I use? Both? It wouldn't be so confusing if things weren't split almost evenly (at least for the first two). --Foofy 12:41, 28 May 2006 (UTC)

    • I am really ignorant of pupular usage. However, I deal with similar issues of the usage of popular terms a lot, and I don't think it is a democratic process. That is, the most popular usage isn't the "correct" usage, insofar as it is not necessarily incorrect to use the term in the less popular way. Wikipedia is an ecycolopedia -- the purpose is to explain the functionality and architecture -- not to define terms. (Leave that to Wiktionary!) Therefore, I suggest that you pick a term that seems appropriate to you, explain the architecture and function, and then mention that various terms are in use that refer to the architecture / function described. --lenehey(207.47.14.66 19:20, 27 July 2006 (UTC))
My apologies for not having noticed the question from May.
Responding to both of you...
  • Current web industry usage considers three-tier unrelated to client-server.
  • All the sites I have been involved with and all the people I work with use 3-tier even if there are multiple sets of different function application servers in the second tier, not n-tier.
  • I can't comment on model-view-controller as it's not used in the industry areas I am familiar with. I'm not sure if it not being used is an answer, or lack of an answer.
  • In terms of defining versus not defining... To some degree I think we have to define it here, as it's a technical concept most people aren't already familiar with if they aren't using the technology already.
Anyways, those are my few cents of input. Georgewilliamherbert 21:33, 27 July 2006 (UTC)

[edit] I say merge them

N-Tier and Multi-Tier mean the same thing.


Has anyone considered semantic relevance? It seems to me that n-tier or multi-tier is a more flexible description of a tiered architecture - it allows that standards may vary to encompass a fourth or further layer(s) whilst still describing the fundamental concept accurately. Put more simply - does the principle of three-tiered architecture rely on the fact that the architecture is tiered, or that there are three of them?
It should definitely all be merged into a single entry for tiered architecture with no limiting number - be that 'n-tiered', 'multi-tiered', 'multitiered' or just plain 'tiered' architecture.
(previous unsigned by User:Johnfrommelb )
John, for your information you get the name/date timestamps you see around using four ~ characters in a row with no spaces, it automatically expands out.
I think that the point of "three tier" is that all "business logic" processing is in the second tier, regardless of how many separate "business logic" processes exist within that tier.
If you have an alternative architecture with a layer other than "Interface / Web", "Business logic / App", and "Storage / Database" then by all means let us know...
Georgewilliamherbert 00:57, 2 August 2006 (UTC)

[edit] Merge from Three-tier (computing)

I just did the merge that was first discussed nearly a year ago. I like it, but people who have spent more time on this article may have different opinions. I don't think it makes much of a difference which is the article page and which is the redirect, but if anyone disagrees, edit away. --Selket Talk 22:37, 27 February 2007 (UTC)

[edit] Article semi-protected on May 1, 2007

I have semi-protected the article after cleaning up various IP vandalism over the last 12-ish hours. The time is currently set for 48 hrs of semiprotection. IP and new users cannot edit right now.

Note that not all of the recent IP edits were clearly vandalism (192.91.147.34 cleaned up a bunch of it, for example, and is thanked for that). Some were questionable information inserts and, as there was a bunch of possibly related IP vandalism, I have reverted overall back to the last known good version.

Feel free to post any comments or questions here or on my talk page. If you believe that this semi-protection was in error or against Wikipedia policy you can post at WP:ANI and ask for review. Georgewilliamherbert 18:04, 1 May 2007 (UTC)

Why did you give a warning to 61.238.111.187? Did you even bother to check the edits? 144.32.177.131 09:21, 3 May 2007 (UTC)
To give context. The York university IP based edits are due to the article being at the center of a Computer Science assignment. 80.41.99.3 00:36, 4 May 2007 (UTC)
I gave a warning to that IP because they deleted the references section. See this edit. Yes, I checked the edits. Georgewilliamherbert 01:45, 4 May 2007 (UTC)

I'm sorry but I find the first sentence of this article confusing and am thinking of editing it. I don't see why it needs to bring in the idea of a software agent and I don't think a software agent can execute an application. I would much prefer something on the lines of Somerville's statement [2] in Software Engineering 7th edition p273:- 'In this architecture, the presentation, the application processing and the data management are logically separate processes that execute on different processors'.

--Bach&Byte 16:16, 14 August 2007 (UTC)