Groups | Blog | Home
all groups > dotnet distributed apps > january 2006 >

dotnet distributed apps : Help on n-Tier architecture ???



serge calderara
1/19/2006 7:18:02 AM
Dear all

I am studying an application architecture based on an n.Tiers architecture.
I have it defined as:

Presenation tiers
Buisness logic
DataLayer

Actually as far as I have understand benefits of 3 or N-tiers architecture,
excpet all adavntage of code maintenance and scalability, they shoud be able
to be installed separatly on different machine rignt ?

In that case let say that my Presnetaion layer is my Internet browser from a
computer A. Then my buisness logic is installed on a computer B (Web Server)
and Datalayer is on Computer C (SQL server DB).

On computer C I have a class library which is in charge to connect to the
database
From computer B my application need a reference to the class library of
computer C.

How all this reference is done ?

thnaks for your reply
regards
serge calderara
1/19/2006 12:40:05 PM
so in that as soon as we wnat to handle tiers- architecture, all reference
are manage as a proxy classe which is implemented in each machines that need
that references ?

same as web services, when is it not directly available for implementation
then.

Doe sthis proxy can be created also when implementing remoting instead of
web services ? how?

thnaks for your help
regards

[quoted text, click to view]
Michael Nemtsev
1/19/2006 7:37:21 PM
Hello serge,

Take into account that there are two concepts - "tier" and "layer"
Tier is a physical location and layer is abstract location. Tiers located
on different machines and liers could locate on one.
Advance of n-tier architecture is to give scalability, reliability and durability,
and it's not important that all layers/tiers should be physically distributed

In general, in small apps, the tier-layer-layer is most common solution.
It means that smart-client locates on separate machine and
business and data layers on the second one. In your scenario B and C componens
could locate together.
To move divide the on different machines only thing u should undertake is
to create proxy from component C and use it with your B component.
It's a couple of clicks in Component Explorer

sc> I am studying an application architecture based on an n.Tiers
sc> architecture. I have it defined as:
sc> Presenation tiers
sc> Buisness logic
sc> DataLayer
sc> Actually as far as I have understand benefits of 3 or N-tiers
sc> architecture, excpet all adavntage of code maintenance and
sc> scalability, they shoud be able to be installed separatly on
sc> different machine rignt ?
sc>
sc> In that case let say that my Presnetaion layer is my Internet
sc> browser from a computer A. Then my buisness logic is installed on a
sc> computer B (Web Server) and Datalayer is on Computer C (SQL server
sc> DB).
sc>
sc> On computer C I have a class library which is in charge to connect
sc> to the
sc> database
sc> From computer B my application need a reference to the class library
sc> of
sc> computer C.
sc> How all this reference is done ?
sc>
sc> thnaks for your reply
sc> regards
sc> serge
---
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/members/laflour

"At times one remains faithful to a cause only because its opponents do not
cease to be insipid." (c) Friedrich Nietzsche

serge calderara
1/20/2006 12:05:03 AM
thnaks michael for your reply, but sorry to say that I am a bit confused now..

Lets be clear.
For example I have an Application A which is on Computer A (Clientapp.exe)
Then that client app will have a config file as it will be the user interface.

Then I have an application B which is located on computer B (serverapp.dll)

So first I am creating un VS2003 the library for serverapp.dll and compile.
Next I create the user interface and I need to add a reference to
serverapp.dll.

As I do not know in advance where the serverapp.dll will be located, how my
ClientApp project will contain that reference ?

How my client application will know where to get the location of
serverapp.dll during runtime.

I ma sorry for this basic question maybe but I am not familar at all with
distibuted application, I am actually study it for my MCAD exam but could not
find clear example. Most of the time I get sample of client and server
application that use .NET Remoting, but running on same system. Nothing is
explain on what to clearly do if the server application is installed on a
remote location.

Thnaks for your help
regard
serge

[quoted text, click to view]
Michael Nemtsev
1/20/2006 5:06:42 AM
Hello serge,

Yes, even using web-services u need a proxy.

With remoting and SOAP services u may not create app proxy. Only what do
u need is the serviced component assembly (ClickOnce deployment is possible)

and therefore u can use configurate client's config files and use smth like
below in code

ChannelServices.RegisterChannel(new HttpChannel());

RemotingConfiguration.RegisterActivatedClientType(
typeof(RemotingDemo),
"http://devstation/RemotingDemo");

RemotingConfiguration.RegisterWellKnownClientType(
typeof(StatelessComponent),
"http://devstation/RemotingDemo." +
"Demos.Networking.StatlessComponent.soap");


sc> so in that as soon as we wnat to handle tiers- architecture, all
sc> reference are manage as a proxy classe which is implemented in each
sc> machines that need that references ?
sc>
sc> same as web services, when is it not directly available for
sc> implementation then.
sc>
sc> Doe sthis proxy can be created also when implementing remoting
sc> instead of web services ? how?
sc>
sc> thnaks for your help
sc> regards
[quoted text, click to view]

---
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/members/laflour

"At times one remains faithful to a cause only because its opponents do not
cease to be insipid." (c) Friedrich Nietzsche

Michael Nemtsev
1/20/2006 7:46:43 PM
Hello serge,

Look at the n-tier system as a chain of client-servers

after u created serverapp.dll u install it in GAC on the computer B, and
create proxy.
U need to either copy that proxy to the comp A, or deploy it with ClickOnce

on the comp A you need add reference to this proxy in your client app

sc> thnaks michael for your reply, but sorry to say that I am a bit
sc> confused now..
sc>
sc> Lets be clear.
sc> For example I have an Application A which is on Computer A
sc> (Clientapp.exe)
sc> Then that client app will have a config file as it will be the user
sc> interface.
sc> Then I have an application B which is located on computer B
sc> (serverapp.dll)
sc>
sc> So first I am creating un VS2003 the library for serverapp.dll and
sc> compile. Next I create the user interface and I need to add a
sc> reference to serverapp.dll.
sc>
sc> As I do not know in advance where the serverapp.dll will be located,
sc> how my ClientApp project will contain that reference ?
sc>
sc> How my client application will know where to get the location of
sc> serverapp.dll during runtime.
sc>
sc> I ma sorry for this basic question maybe but I am not familar at
sc> all with distibuted application, I am actually study it for my MCAD
sc> exam but could not find clear example. Most of the time I get sample
sc> of client and server application that use .NET Remoting, but running
sc> on same system. Nothing is explain on what to clearly do if the
sc> server application is installed on a remote location.
sc>
sc> Thnaks for your help
sc> regard
sc> serge
[quoted text, click to view]

---
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/members/laflour

"At times one remains faithful to a cause only because its opponents do not
cease to be insipid." (c) Friedrich Nietzsche

serge calderara
1/21/2006 7:07:06 AM
thnaks michael I will give a try

[quoted text, click to view]
AddThis Social Bookmark Button