RE: Monolith -> layered client/server?

From: alaspin (alaspin_at_discussions.microsoft.com)
Date: 08/24/04


Date: Tue, 24 Aug 2004 05:47:01 -0700

IMHO :)

Why not just build ASP.NET system straight off as (non-presentation) code
would be practically the same.

That way you can put as many logical layers (data access, business rules,
whatever) on a server talking to your SQL Server...
AND it would save problems with deployment - users navigate to applicaiotn
via browser with no reason for software updates
AND it wouldn't be a problem for future as you laready have ope eye on an
ASP "version" too...

1) I'd have a specific SQL Server user account for the application and
ALWAYS access the db through that...
Use stored procedures and/or SQL created on the fly by the application if
required. SP's are better for security reaons AND the db can optimise
execution...
Connection details remain secure on the server BUT can be changed easily
should it be required...

2) Client would require db connection info. Using a windows app on the
client MIGHT be problematic if for any reason your db conneciton details
change...
Hence, I reckon ASP.NET is better solution for internal network where all
logic remains in server environment for ease of maintenance...

3) No, you don't NEED anything on the server except the db BUT you are
deploying mulitple instances of your layers to each client...
Why build layers in this case? Yes you are benefitting from logical
extrapolation of functionality but that's about it...
AND you stirring up depolyment problems for new releases (clients out of
synch) and ooh! lots of things...

Better is put layers on server machine and keep thin client for presentation
only - whether Windows Forms or web application...
Advantage of Windows forms? Richer set of controls. No browser requirement...
ASP.NET with subsequent XML/XHTML/JavaScript frontend? Ease of deployment
and maintenance...

You'll end up writing the same back end data access code anyway :)

alaspin@yahoo.com

"Microsoft" wrote:

> I'm about to start converting my application from a old-style monolith exe
> (with flat files and limited database support for sharing some of the data)
> to a layered .NET SQL server version. I have decided to do it as a Windows
> Forms client application, hooking up to a central SQL Server, and then maybe
> later create an asp version of the client if needed.
>
> I have a couple of questions on the setup:
>
> 1) The clients will be going through the I-net to reach the SQL Server. I'm
> assuming I have to set up a VPN for this for security reasons, right?
> Exposing SQL server directly would be bad?
>
> 2) If so, is this process transparent to the client program, or do I need to
> include some code in the client to establish the connection, etc.? E.i. Can
> I just use ADO.NET with a simple IP in the connection string (as I do in my
> test project) or do I need some VPN SDK to handle the connection?
>
> 3) I'm a bit confused about the server side of the application. The way I
> see it now, I only need to have the SQL server on that server machine, and
> have the client.exe, BL.dll, DAL.dll on the client machines. Is there a need
> for an application specific server/service besides the actual SQL server? If
> so, what would its purpose be? I see mention of putting the DAL (and BL?) on
> the server, but that could only work if you had a running server/service
> program receiving requests from the client programs, right? If I already
> have a method of automatically updating the client.exe (and any other files
> the client has), would there be any point in not having the BL and DAL on
> the client side?
>
> Jesper.
>
>
>



Relevant Pages

  • Re: What doesnt lend itself to OO?
    ... >> proxy and instructs the server to constuct the real object. ... rather than client code. ... If 'clock' is instantiated in the server, ... > for the server interface at the OOA level. ...
    (comp.object)
  • This is going straight to the pool room
    ... or not the client has privilege to do what they're trying to do, ... The server environment is this: ... 3GL User action Routines that Tier3 will execute on your behalf during the ... Routine Name: USER_INIT ...
    (comp.os.vms)
  • [Full-Disclosure] R: Full-Disclosure Digest, Vol 3, Issue 42
    ... Full-Disclosure Digest, Vol 3, Issue 42 ... SD Server 4.0.70 Directory Traversal Bug ... Arkeia Network Backup Client Remote Access ...
    (Full-Disclosure)
  • Re: What doesnt lend itself to OO?
    ... > rather than client code. ... no way to do that without also touching the object with clock semantics ... will not encapsulate both clock semantics and network semantics. ... The server can do whatever it wants ...
    (comp.object)
  • Re: Wireless Print Server - Without Connecting to Router or PC
    ... The higher layers only see 802.3 ethernet and never see ... That also brings up the question of what's a client and what's a ... Kinda reminds me of the X11 server versus client and male and ... client initiates a single connection. ...
    (alt.internet.wireless)