Building a dabase for a network of users. I need your thoughts.

Posted on 2006-10-29
Last Modified: 2010-04-16

I am a recent computer science graduate and I am developing a small (but growing) software application for my employer.  The design of the application is in its infancy and I am in need of “Experts” who can coach my direction with its development.  

Application Information:
-      The  application will be used to collect, process and publish information in real time.  I intend to leverage a platform independent user interface and a database backbone to accomplish this.

-      initially the application will be used by 300 to 400 users – but this may quickly increase to something between 3,000 and 10,000 users.

-      The application will need to display information from the DB to the user, and allow the user to update that information relatively quickly.

-      The application will need to produce reports for the user – similar to the reports in MS Access ( I WILL NOT USE MS ACCESS.)

Development tool information:

-      I can code in C#, SQL, VB, C++, and a variety of other popular languages.  I am most comfortable with C# , C++, and SQL.  I very much enjoyed using visual studio but have not fully explore how easily it integrates with a declarative language (SQL).  After some initial research, I am seriously considering using Visual Web Developer and MS Sequel Server.  I am a novice at integrating SQL with other languages.

-      I need to find a good reference (preferably a textbook) that can aid my understanding of how databases, and platform independent user interfaces are appropriately designed.

Given this information, I now need your thoughts on ANYTHING that will be useful for me to know about the above issues, or others, that I have not even addressed.

Thank you for your time,

Question by:travishaberman
LVL 17

Assisted Solution

CSecurity earned 150 total points
ID: 17831903
When you are going to manage large amount of users, your application should be so dynamic and should be coded properly to be able to support such users.

If you are going to have large amount of data in SQL and alot of queries, I suggest you to use Oracle database. Fast, secure, but not easy!

If this software will be client/server based, I suggest you to have good authentication and encryption support and if it is available run the server in a different platform such as Solaris and code server in Java.

If you think your clients can use different operating systems, I suggest you to code in Java as it is most OS independent language.

Ask your questions and I'll try to answer them...

Accepted Solution

herreruud earned 250 total points
ID: 17832203
Given that you are in need of both a good DB Server, that you are comforatble in C# and need something that integrates easily (DB & Logic) I'd say you should definetly go with Visual Studio 2005 + SQL Server 2005. This will allow you to write in C# and T-SQL, Visual studio even has Wizards that will help you utilize your SQL and it let's you use Crystal reports for reporting.

I would have to disagree with CSecurity on reccomending java on the grounds of beeing platform independent; as long as you're coding a web-app the only dependency you will be creating is to the server OS.
LVL 17

Expert Comment

ID: 17832936
>> The  application will be used to collect, process and publish information in real time.  I intend to leverage a platform independent user interface and a database backbone to accomplish this.

- So OS indepentance is needed! Also I think for large options and supporting such large users you need to have client/server based software. Not web interface as web interface is limited.
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.


Expert Comment

ID: 17833553
I disagree with CSecurity.
Large number of users is not a limitation web-based application (quite the opposite is true).
LVL 17

Assisted Solution

CSecurity earned 150 total points
ID: 17833612
Large number of users isn't limitation for web-based application.
Web-based application have limitation in coding... For example deploying cryptography and sending custom commands to clients or broadcasting live and stream data... And alot of other limitations!

Assisted Solution

bdunz19 earned 100 total points
ID: 17842574
Hi Travis,
I myself, am currently working on such a project (90% complete). I want to give you an idea of how I went about completing this task to create an infinitly expandable application.

My design started around my off premise database, which is on a very powerful server and could be expanded via cluster services (running on windows 2003 server). The next step was to develop a way for this information to be accessed from anywhere in the world, but to have limitations on that access. So I created a service in Win32/C++ that sits on a server with access to the database, that listens on a spec. port for incoming connections (TCP). Services are applications that are monitored by the operating system and can be started as a SYSTEM user so that no login is needed for the application. The connections pass their autorization information, and once validated they are then able to send packets that will actually respond with data from the DB. My client application, due to the complexity and situation, was written in MFC/C++ and stores login info in the registry for fast loggin in. This entire application is built upon a unique protocol that I created to satisfy the complex needs of the client applications (modeled after Cisco's SCCP/Skinny). I would recomend this route because you will quickly find how expandable this server/client situation can be. In the future - from our web site - we will be able to program a COM dll to interface with ASP to perform the same capability of the MFC client software from our web site!

As you can see, the most important peice of the puzzel to this project was our server service, that acts as the client autenticater and traslater. I chose Win32 for the speed and low overhead. Though I had to use some MFC (CDatabase/CRecordset) for the SQL interface ;). My favorite Code Projector, Nish, wrote a great beginners article on C++ services:

The key here, is flexablity and expandablity.

I hope this will serve as some insight for your project. Good luck,

Author Comment

ID: 17854301
Thank you for the insight one and all.  I will have more questions comming soon!  Thanks again, Travis...

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A short article about a problem I had getting the GPS LocationListener working.
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question