Re: Philosophical question about separating tiers
- From: "Nicholas Paldino [.NET/C# MVP]" <mvp@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 28 Jun 2006 15:12:18 -0400
Ronald,
Tiers in an application are abstractions, they don't necessarily have to
be defined by a physical separation.
Have you asked your boss why he wants to move those classes to a
business server? What kind of benefit are you getting? Distributed calls
are not something that can just be wired up through remoting. The nature of
distributed applications is generally that you want to have large chunky
calls, instead of small, little calls. If you have a business object layer,
and you connect to objects on another server, it will probably be slower
than you expect (especially given that the server should handle the load
from all of your clients now). The reason for this is that you usually set
a good deal of properties on your objects before you actually do anything
with them. This will cause a number of remoting calls to occur.
In reality, you should be making one big call, passing all the property
values to be set.
Also, remoting is pretty much dead, with the advent of WCF in .NET 3.0.
Remoting doesn't have the support for authentication, authorization,
transactions, queued messages, etc, etc that WCF does. I really couldn't
recommend it in good faith given what is on the horizon.
Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mvp@xxxxxxxxxxxxxxxxxxxxxxxxxxx
"Ronald S. Cook" <rcook@xxxxxxxxxxxx> wrote in message
news:eCVi7HumGHA.4100@xxxxxxxxxxxxxxxxxxxxxxx
We have a Windows app which contains UI code and all classes that perform
business logic and make calls to database stored procs (located on a
database server - i.e. not local to the app).
My boss wants to bring all those classes to a business server and out of
each instance of the Windows application (i.e. separate into a business
tier).
I understand that by having the business tier separate from the user tier,
we can make changes without having to republish the application. But is
it worth it? With ClickOnce, publishing updates is now very simple. And,
to have the business components on a separate server, doesn't that
necessarily mean .NET Remoting (which adds complexity)? Or is there a
simpler route to be had? Are there more pros that I'm not thinking of?
Thanks,
Ron
.
- References:
- Philosophical question about separating tiers
- From: Ronald S. Cook
- Philosophical question about separating tiers
- Prev by Date: Re: How launch app from within code?
- Next by Date: Must be more elegant solution than this?
- Previous by thread: Philosophical question about separating tiers
- Next by thread: Re: Philosophical question about separating tiers
- Index(es):
Relevant Pages
|