2 Tier and N-Tier

R

Raju Joseph

Hi

I am looking for some suggestions here. We are creating a distributed app
(3-tier) using VB.NET and ASP.NET Web Services. The architecture follows
that of a 3-Tier architecture. Now, one of our clients do not want the
3-tier model. They want the application to be just a client-server model. I
am in the process of advising the clients to get on board with our 3-tier
architecture.

My question is, if I have to make the app a client-server model for this
client, what is the best approach. I am trying to avoid having two different
solutions - one based on n-tier and another on client-server model.

All suggestions will be highly appreciated.

Thanks

Raju...
 
S

Sancerre

Raju,

I suggest that you consider a logical/physical N-tier design that can
be run on three machines, or simply on one machine. I assume that your
client doesn't want to have two separate machines and that they don't
care that there are two dll's running on the same machine. This type of
flexibility is one of the goals of N-tier design. If, at a later time,
the single app server is getting overloaded, then moving the back end
dll to another box should be painless.

-- Sancerre
 
C

Chad Z. Hower aka Kudzu

Sancerre said:
I suggest that you consider a logical/physical N-tier design that can
be run on three machines, or simply on one machine. I assume that your
client doesn't want to have two separate machines and that they don't
care that there are two dll's running on the same machine. This type of
flexibility is one of the goals of N-tier design. If, at a later time,
the single app server is getting overloaded, then moving the back end
dll to another box should be painless.

I agree with Sancerre. I just posted these in another thread but they apply here too and may in fact
help your customer understand:

http://www.codeproject.com/gen/design/DudeWheresMyBusinessLogic.asp

and

http://www.codeproject.com/useritems/TierPressure.asp


--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"

Make your ASP.NET applications run faster
http://www.atozed.com/IntraWeb/
 
G

Guest

I also agree with Sancerre. In fact, client-server is really a 1 Tier
architecture. You should make your application flexible enough to be able to
be distributed in N-tiers.

Good luck!
 
C

Chad Z. Hower aka Kudzu

=?Utf-8?B?TWFkZXN0cm8=?= said:
In fact, client-server is really a 1 Tier

Not reaally. Client server is squarely 2 tier. A 1 tier application is a desktop application using and
embdded ISAM database etc like Paradox, DBase, flatfiles, or Access.
 
R

Raju Joseph

Okay Guys,

I guess, may be I described my issue wrong. Here is the issue.

We are in the process of building from scratch a distributed n-tier
application. Our phase one coding is over. We have currently 3-tiers which
can be extended to more. But for now 3 tiers. The client is Windows Forms,
the middle tier is ASP.NET web services, then we have the BL and DataLayers
with data storage. The phase one coding is over and is currently under test
phase.

One of our singapore clients now has requested us that they do not want the
N-Tier based solution. They just want a Client-Server solution in .NET. This
just threw me off.

This is my question. Is there any way I can make the current 3-tier model to
2-tier. The only way I could think was to take out the web services part.
But then, it would mean a whole lot of code changes on the client since all
requests are being forwarded thru the web services.

I am still in the process of persuading the clients not to opt for it. But
like the old saying, they are the ones who pay the money.

Thank You,
 
C

Chad Z. Hower aka Kudzu

Raju Joseph said:
One of our singapore clients now has requested us that they do not
want the N-Tier based solution. They just want a Client-Server
solution in .NET. This just threw me off.

Why does this client want a 2 tier? Do they even know why? This would be the first step - find out
why they think they want a two tier system.
 
B

Ben Kloosterman

Hi Raju,

You cant simply convert 3 Tier to 2 Tier , though there is nothing to stop
you hosting the Web services on the SQl server making it 2 physical Tiers
and 3 Logical Tiers.

2 Tier apps need a completely different design as you need to tune and
optomise the SQL , 3 Tier server can use Caching , shared collections etc so
dont need to tune SQL to the hilt. 2 Tiers often need Triggers or SQL
polling which 3 Tiers often can do without.

2 Tiers tend to become more problamateic when you have hundreds of users.
For a small number of users 3 Tiers are not worth the extra cost and
difficulty.

Regards ,

Ben
 
Z

Ziga Jakhel

What exactly do your clients consider a "server"? The physical box? If so,
you're ok... just host the WS and SQL on the same box.

Otherwise... you could always kick the BLL/DAL components over to the client
side without much hassle, if you tiers are designed right.

Generally I would suggest you talk to the client a bit more... reall
understand what they mean or want (they might be talking about stuff they
don't really understand), and maybe try and talk them out of their own
stupidity... present the benefits of updating the BLL without affecting the
clients, etc.

Regards,

Ziga Jakhel
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top