Go Premium for a chance to win a PS4. Enter to Win


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

Posted on 2006-10-29
Medium Priority
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 600 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 1000 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.
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


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 600 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 400 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: http://www.codeproject.com/system/serviceskeleton.asp.

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

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

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

This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.
Make the most of your online learning experience.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Starting up a Project

916 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