Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

2 tier or 3 tier design

 
Yan Zhou
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

This is about the B&S assignment, but should apply to the others as well.

I am battling with either a 2 tier or 3 tier architecture. With 3 tiers, things can be easier because I can wrap lock/process/unlock all in one interface method that is exposed to client, this can save me worrying about whether the thread calling unlock() is the same one calling lock().

My assignment does not say that client must use DBMain interface. However,
it does say that

"The main architecture of the application must be a traditional client-server system."

My understanding of a traditional client-server system is 2 tiers.

In addition, the requirement also says that one of the top level features is:

"A client program with a graphical user interface that connects to the database"

So the client should connect to the DB, not a middle layer, then.

How do you read such text?
Thanks.
Yan
 
Matt Sheehan.
Ranch Hand
Posts: 63
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is a much debated topic on this forum. A long dicussion about it can be found at this thread. People have passed with the 3-tier, though including the design decribed here.

Matt
 
peter wooster
Ranch Hand
Posts: 1033
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Yan Zhou:
Hi,

This is about the B&S assignment, but should apply to the others as well.

I am battling with either a 2 tier or 3 tier architecture. With 3 tiers, things can be easier because I can wrap lock/process/unlock all in one interface method that is exposed to client, this can save me worrying about whether the thread calling unlock() is the same one calling lock().

My assignment does not say that client must use DBMain interface. However,
it does say that

"The main architecture of the application must be a traditional client-server system."

My understanding of a traditional client-server system is 2 tiers.

In addition, the requirement also says that one of the top level features is:

"A client program with a graphical user interface that connects to the database"

So the client should connect to the DB, not a middle layer, then.

How do you read such text?
Thanks.
Yan


I started with the 3 tier or "thin client" model, but switched to the 2 tier or "rich client" model because I feel that model better conforms to the project requirements.
 
Inuka Vincit
Ranch Hand
Posts: 175
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was thinking about rich client, but then the assignment talks about the program being steps towards a webbased app. Its not a requirement but if its going to be webbased... then wouldnt thin client be easily upgrade to that?
 
Steve Taiwan
Ranch Hand
Posts: 166
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear Zhou.

I am in thin client camp.
As a j2ee designer, i think 3 tier makes more sense, dosne't it?
If I fail due to 3 thier, I will feel disappointed at sun very much.
 
mike acre
Ranch Hand
Posts: 197
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Steve Taiwan:
Dear Zhou.

I am in thin client camp.
As a j2ee designer, i think 3 tier makes more sense, dosne't it?
If I fail due to 3 thier, I will feel disappointed at sun very much.



You won't - guaranteed.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic