• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 198
  • Last Modified:

Client/server architecture design

Hi Experts,
I have to make an architecture desicion, any tips are welcome.

a) Accessing an MS Access-database on a NT-server directly through a DSN on the clients. (with ADO or DAO)

b) Writing a NT service application that gets requests from clients (through sockets) and uses ADO and DAO to do the searching and then returns the results back to the clients.

What are the consequences for performance, and do I have to use multithreading for option B?

(btw: most of the time, the database is only used to retrieve either a complete table or to find one specific record)
1 Solution
Option a) is a lot easier to implement than b). If you have only a few weeks to do it, a) is probably a better solution.  

Option b) is more complicated and very hard to debug, but gives you more flexibility.  You can hide database details, add extra business logic at the middle layer, etc.  You don't have to use multithreading for option b).  But if the users are retrieving whole tables, then using multithreading is necessary because in single thread mode, while a whole table is being retrieved by one user, other users have to wait.

I am not clear about performance.  It depends on many factors.  My guess is if there are a lot of simultineous users, b) will perform better.  

Remember it will take a lot longer to implement b).
MelissaCAuthor Commented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now