Networking infrastructure requirements/limitations is one of the primary drivers for switching from 2-tier to 3-tier. If I were you, I'd try to resolve the issues you mention and just try using a remote data portal. Odds are good that this will improve performance for the people making those calls across the constricted network link.
I always encourage people to go with 2-tier deployments if
possible, because more tiers increases complexity and cost.
But it is important to recognize when the value of 3-tier
outweighs that complexity/cost. The primary three motivators are:
1.
Security –
using an app server allows you to shift the database credentials from clients
to the server, adding security because a would-be hacker (or savvy end-user)
would need to hack into the app server to get those credentials.
2.
Network infrastructure limitations –
sometimes a 3-tier solution can help offload processing from CPU-bound or
memory-bound machines, or it can help minimize network traffic over slow or
congested links. This is your situation the way it sounds, because direct
database communication is a chatty dialog, and using an app server allows a
single blob of data to go across the slow link, and the chatty dialog to occur
across a fast link, so it should result in a net win for performance.
3.
Scalability –
using an app server provides for database connection pooling. The trick here,
is that if you don’t need it, you’ll harm performance by
having an app server, so this is only useful if database connections are taxing
your database server. Given the state of modern database hardware/software,
scalability isn’t a big deal for the vast majority of applications
anymore.
Rocky
From: ajj3085
[mailto:cslanet@lhotka.net]
Sent: Tuesday, November 13, 2007 3:59 PM
To: rocky@lhotka.net
Subject: Re: [CSLA .NET] Minimizing network hops during saving
Rocky,
I'll go this route then; I thought I had the wrong reasons for switching to
remote, but it sounds like I have all the right ones.
Thanks
Andy
Copyright (c) Marimer LLC