This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes Difference between 3 tiers and n tiers?? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "Difference between 3 tiers and n tiers??" Watch "Difference between 3 tiers and n tiers??" New topic
Author

Difference between 3 tiers and n tiers??

Julien Martin
Ranch Hand

Joined: Apr 24, 2004
Posts: 384
Hello,
Can anyone tell me what the difference is between 3 tier and n tier please? What do the 1, 2, 3 and n tiers correspond to?
Thanks in advance,
Julien Martin.
Mark Egloff
Ranch Hand

Joined: Dec 30, 2004
Posts: 30
Hello Julien

tiers have been introduced in order to splitt the logic according their concerns. In practise we have tiers like presentation, business logic, integration and data access or data storage.

This splitting is individual according to the needs. So there is no exact written defined rule how many tier a system must have. This means one systems has 2 tiers another 4 tiers or to keep it generic n-tiers.

Best practise has shown that the application code should be organized into presentation, application logic (business logic) and data access. This improves the not only the maintenance, also the extensibility as the reusage of the logic components could be easier realized.

Today not only more the logic alone should be packaged regarding this also the whole systems are going to be distributed according their concerns. This means you have server(s) for presentation, server(s) for the business logic and server(s) for the data access. Of course one or more tier could consist on a single server. The decision how many presentation servers or application servers etc. are needed depends on the service level requirements i.e.performance , response time etc.

n-tier means you can have as many tiers as you like. Some architects design security or integration of external systems in separate layers. This is depending how big and different your requirments are. i.e. If you have to connect to different external systems like IIOP, HTTP, SOAP, MOM etc. then it would make sense to design a seperate tier for this.

So I hope I could explain your question.

regards
Mark
Julien Martin
Ranch Hand

Joined: Apr 24, 2004
Posts: 384
Hello Mark,
Thanks a lot for your detailed reply! Can you please confirm that 3 tiers means:
Tier one: web browser
Tier two: app server
Tier three: database
I am right?
Thanks in advance,
Julien.
Kailas Lovlekar
Ranch Hand

Joined: Oct 25, 2004
Posts: 34
Hi Julien,

Tier one: web browser
Tier two: app server
Tier three: database

is roughly correct, but client can not be part of any Tier. So following is probably better -

Tier one: Presentation layer - eg HTML/JSPs
Tier two: Business Logic - eg Beans / Classes
Tier three: database


SCJP/SCWCD/SCEA/OCA/Pega System Architect
Julien Martin
Ranch Hand

Joined: Apr 24, 2004
Posts: 384
Hello Kailas and thanks for your reply!
There seems to be a contradiction in what experts mean as three-tier:
Have a look at that:
http://www.webopedia.com/TERM/T/three_tier.html
and that:
http://searchdatabase.techtarget.com/sDefinition/0,,sid13_gci211500,00.html
The second document accords with what you are saying whereas the first one accords to what I thought was the three-tier architecture (user computer==browser==first tier).
Any thoughts?
Julien.
Dan Drillich
Ranch Hand

Joined: Jul 09, 2001
Posts: 1168
Julien,

Sun says the following:

Although a J2EE application can consist of the three or four tiers shown in Figure 1-1, J2EE multitiered applications are generally considered to be three-tiered applications because they are distributed over three locations: client machines, the J2EE server machine, and the database or legacy machines at the back end. Three-tiered applications that run in this way extend the standard two-tiered client and server model by placing a multithreaded application server between the client application and back-end storage.


http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Overview2.html#wp81104

Regards,
Dan


William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.
Kailas Lovlekar
Ranch Hand

Joined: Oct 25, 2004
Posts: 34
Hmmm... That is bit confusing. and I thought I knew what 3 tier means !
Sun's quote seems more convincing.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Difference between 3 tiers and n tiers??
 
Similar Threads
Doubt on the faults of 2-tier architecture!
Layer and Tier
Difference Middleware and MiddleTier
[SCEA 5] Multitier architecture vs Three-tier architecture
Diff Btwn 3-Tier Arch and N-Tier arch