I have an existing VB6 application that runs on in a client/server configuration on a LAN. I want to rewrite the application in .net and as it is very large I want to get the architecture right before I start.

I would like to get any advice from the experts who have worked on similar architectures.

Are there are any good books you could recommend regarding different structures on .net. I am not worried about the coding, it is the architecture.

----------------------------------

The new application must be a client/server application and be able to run on a local LAN as well as over the internet. I would like the client to be winforms, but it there are any good reasons I would change to webforms.

I would also like to only have one client interface and not one separate one for remote and another for local access.

The questions I ask are:

1.) What and where would you structure the different modules.

2.) Must I use ASP.NEt, XML and IIS etc, for both client intefaces. This would be a great overhead on the local system.

3.) Another problem is that most of my clients use Access mdb but some use SQL Server. Now I would like to use stored procedures but in the past this is not possible in both cases and I have done all the queries in the code. Is this still the best option and should I have a separate module for the queries.

Any advice would be greatly appreciated.