« Client/Server Architecture | Main | Two birds with one stone: Understanding 3-tier client/server architectures »
3-tier architecture
A three-tier architecture is a design strategy (a kind of software framework) that describes a software application by grouping its components into three classes: Presentation, Application, and Data.
Posted by Mark Hemphill on October 29, 2007 in Module III - Software | Permalink
Comments
so is the 3-tier system the same as 3-tier architecture?
Posted by: Jolene | Nov 6, 2007 10:31:09 PM
I don't really get this one either. I mean I understand what the differences are between presentation, application and date but are there any examples?
Posted by: Colin Butler | Nov 7, 2007 8:27:19 PM
@Jolene....yes system and architecture can sometimes be used interchangeably so 3-tier system is the same as 3-tier architecture here.
@Colin, we will go through a few examples for sure but pretty much every software system can be broken into these three layers.
Take an inventory management system for instance. The data layer stores and manages all the data that is required (product numbers, product attributes, warehouse, plant, storage location information, etc). The application layer does all the logic and control that is required to support an inventory management function (i.e. add a product, move a product, look up a product location, remove a product, provide reports etc...). And the presentation layer represents the parts of the system that manage user interaction (i.e a point of sale system, a web-based control panel, a handheld device perhaps?).
This is just one example....
Posted by: Mark | Nov 8, 2007 9:08:44 AM
Thanks mark, i think that cleared it up for me quite a bit, so the presentation layer is always the parts of the system where user interaction occurs, the data layer is the storage of all data required for the system, and then the presentation layer is the logistics required to support the system ie. maybe the physical aspects of what needs to be done in each system in order to support the function. This might not be as clear as your post, but i think it makes sense inside my head...
Posted by: Ashley Gallant | Nov 13, 2007 7:49:38 AM
Hi Ashley,
The application layer has nothing to do with anything physical. Everything is driven by software. We are only concerned with software here.
The application layer manages the business logic as it is called. It performs the basic functions which gives the system its name. If it's an mp3 application we're talking about it does the logic required to carry out the mp3 player actions (i.e. play, pause, repeat, shuffle, add to playlist, or whatever). If it's a search tool it does the actual search activities.
But you are right on those other two, the presentation layer focuses on user interactions. The data layer focuses on the storage and management of data.
Posted by: Mark | Nov 13, 2007 11:27:05 AM
I think this really cleared things up for me too. Software makes up so much about what really goes on with a computer. The Presentation layer is the one that focuses on user interactions, The Application layer focuses on all the logic and control that is required to support an inventory management function, and manages the business logic, and the Data layer focuses on the storage and management of all data required for the system. More examples might help too, Thanks!
Posted by: Holly MacInnis | Nov 13, 2007 2:09:14 PM
I know that excel is an application but if this was used to manage data (as in a spreadsheet) would this be considered to be somewheres between these two layers(application/data)? Where does one draw the line because I know that it does not store the data persay but it does save it in a specific format.
Posted by: Chad MacLean | Nov 13, 2007 3:03:28 PM
Hi Chad,
MS-Excel is an application that, by coincidence, might be used to work with data. As a stand alone application it too has elements of presentation, application, and data (it has its own database/filing system).
But Excel itself really isn't used a data solution in the context of a distributed software system. That's the domain of relational database management systems....which is a new topic (coming soon).
Posted by: Mark | Nov 14, 2007 8:39:34 AM
If a business is not ebusiness, such as fast food restruant. The presentation layer is the food right?will they include service in it?
Posted by: XiaoJiang | Nov 14, 2007 9:52:13 PM
We're talking about software in this course. There is no reason to try to apply the three-tier architecture to other types of systems. And it doesn't make much sense.
Posted by: Mark | Nov 15, 2007 8:08:18 AM
When we started talking about this information I was completely confused and did not understand it. After completing the last assignment on Pages, I feel that I have a good understanding of the 3-teir architecture application. It was a great way to get a person to learn about the information through examples.
Posted by: Cayla Leger | Nov 20, 2007 10:20:20 PM
I feel that all the labs/assignement really helped me grasp a better understaning of the 3-tier architecture. Using examples of things that we encounter at some point in life makes it so much easier to understand! The way I see it is that eveyone knows what pizza is, so that is a great way to relate it to software (the lab assignement).
Posted by: Stephanie Doucette | Nov 21, 2007 6:00:51 PM
I also feel that the assignments in the lab about 3-tier architecture really helped me understand the three layers of the system. It makes it much easier to see how the different components of this system are classified into the three groups.
Posted by: Sam Koughan | Nov 22, 2007 3:30:08 PM
I agree with sam. The lab did help out alot in understanding the 3-tier arcitecture.
Posted by: Nick Drake | Nov 27, 2007 10:31:34 AM
I am having trouble understanding what happens in the presentation layer as well as the application layer. The data layer is easy because it is basically just a data base. So I guess my question is what is the acctual function of the application and presentaion layers?
Posted by: Mike Adams | Dec 1, 2007 4:44:40 PM
I have to agree with everyone completely the labs helped to solidify the material for me as well!
Posted by: Alesia Gallant | Dec 1, 2007 9:04:56 PM
I agree with everyone aswel in saying the lab really helped me in understanding 3-tier architecture. Now that I can look at it with a real world example it makes so much more sense.
Posted by: Jenna Clow | Dec 2, 2007 1:42:50 PM
Thanks Mark... that example really cleared things up. I knew that there were three layers but I wasn't completely sure what each layer was in charge of. The inventory management system is a really good example of each layer and its specific functions.
Posted by: Ryan Keefe | Dec 3, 2007 1:36:07 PM
This example really helped me understand what the three layers were and how they worked, doing the labs in class help to put what we learn in class down on paper.
Posted by: Tiffany Richard | Dec 3, 2007 2:12:46 PM
So okay is the 3 tier architecture basically just the client server model, except without the application layer dealing with managing business logic? If so then with the ATM example that you clarified in the previous entry on client server architecture, wouldn't there also be an application layer present there computing things? Such as my chequeing accounts previous balance minus the money I put on a line of credit to register my new chequeing account balance. Or am i just way off here?
Posted by: Zach | Dec 3, 2007 6:07:19 PM
what i dont really undestand is how can it be called a 3 tier architecture if some of the components fit into both categories. does that not make a 4th tier, im confused, im just slow sometimes :( lol
Posted by: Sean Hughes | Dec 4, 2007 8:45:24 PM
Three-tier architecture reminds me of the first semester when we did the lab on dividing the computer into three parts of: Content, Software, and Physical/Transmission.
Posted by: Nathan Snowie | Dec 4, 2007 9:13:05 PM
So my thoughts are that the presentation layer is basically accessing the procurement system in the Amazon example. The application is focused on servicing the needs of the customer and then data layer would be managing the collected data?
Posted by: Colin Butler | Dec 4, 2007 10:49:42 PM
