1

A (WPF) application for a small business used from multiple machines (<5) may use only one database (from SQL Server express). All computers are close enough to connect them with wire. A possible solution for such requirements would be to use a CPU as database source and all other machine could be connected to this CPU. That way every user will essentially be working with same data.

Currently the best solution I can think of is to buy space from an external webserver to keep database and use WebAPI to retrieve and push data to the server. But not all business would agree to use this method for different reasons.

So how do you solve this problem without using an external webserver? I can guess that more hardware and software are involved but I don’t know what those tools are and how to use them. I think this is a common scenario and the solution should be low cost so that small businesses can afford it.

Not sure if it is off topic or on topic but it is probably something to worry about for many beginners like me.

2
  • Is this a existing WPF application? If so how do you currently connect to the database? Commented Nov 16, 2015 at 12:44
  • @TjaartvanderWalt It isn't an existing application. I will be building a new application. Normally I use localdb or sql server express with entity framework. Commented Nov 16, 2015 at 13:13

1 Answer 1

3

If external server is prohibited then other way out is to devote one computer and host there both database and service(WCF for instance). Service will be dealing with database and clients in turn with service. By depriving client of direct access to database you make sure that it will not jeopardize security. Within service you can take care about aspects such as transaction, concurrent invocations, authentication etc. Every client communicates with specific address, that is instead of localhost for instance 128.169.1.2. This address refers to computer where service along with database are hosted. Having service is inevitable since clients may be accessing database simultaneously and as a result data could be overwritten.
EDIT
If your computers reside at the same local group (for instance LAN) then you can effortlessly comminucate to each other. I refer you to this post to take a look how easy it is, just basic WCF service with precise address specified.

Sign up to request clarification or add additional context in comments.

2 Comments

Thank you very much. So my wpf application would communicate with the wcf service to communicate with database. Understood. The other part of my question is how I physically connect these computers. Could you give me some suggestion? or a Link?
Your answer is a great starting point for me. Thanks a lot for your time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.