Question

until now I have only been working on apps that uses their own database

I have a question about best practices and architecture of the application I have to develope. Requirements are: - same office with multi (desktop) application instances on different machinces - single database would reside on one of those computers and all other machines would use it - let's say maximum of users (application instances) wouldn't exceed 10.

1) I need your advices and guiding, also, is there an easy way to keep the data available to everyone In case the connection is lost, something like synching or distributed databases?

2) do I need to install sqlserver on each machine?

Thanks in advance.

Was it helpful?

Solution

A quick search on the internet for 3 tier architecture will give you a lot of information on the best practices for developing applications for multiple users. The following image should give you an idea of the 3 tier architecture . If you have a very basic application then you could get away with a 2 tier application with the application on the desktops connecting directly to a single database server. But using the 3 tier model is the recommended and correct way to do this.

A starting point would be an article like the one found here. http://www.codeproject.com/Tips/662107/Understand-3-Tier-Architecture-in-Csharp

OTHER TIPS

Put the database on a shared server, and no - you do not need to install SQL Server on each machine. Only the executable would be on each individual machine.

Ensure users have access to the server.

Using a 3-tier approach as the others have recommended can be a good and clean approach. You can read more about Layering and Tiering from here.

Layered Architecture: Introduction http://serena-yeoh.blogspot.com/2013/06/layered-architecture-for-net.html

Layered Architecture: Deployment Strategies http://serena-yeoh.blogspot.com/2013/07/layered-applications-3-tier.html

You can also get samples from here http://layersample.codeplex.com/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top