M
Microsoft
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.
(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.