Re: Philosophical question about separating tiers

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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




.



Relevant Pages

  • Re: Separate DAC from BO logic? What about physical assembly?
    ... and how to best logically separate out the ... > Tier of components. ... Then creating a separate tier of Business ... By seperating out the data access ...
    (microsoft.public.dotnet.general)
  • Re: Using SBS2008 with two separate companies
    ... Windows Small Business Server 2008 Unleashed ... separate networks he didn't know if that was a requirement. ...
    (microsoft.public.windows.server.sbs)
  • Re: Philosophical question about separating tiers
    ... If you are pushing your business objects/data access code to every machine ... There is also a security issue here as all of these machines need to be able ... machine needs to be able to contact the SQL server (so you have further ... I understand that by having the business tier separate from the user tier, ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Philosophical question about separating tiers
    ... Business objects (there's a second edition which targets .net 2.0, ... I understand that by having the business tier separate from the user tier, ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Decouple SQL queries from class in OOP design
    ... >>> It should be separate from the business rules. ... We need to separate them. ... > This mapping allows us to express the situation as two ordered pairs. ...
    (comp.object)