?
Solved

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

Posted on 2006-10-29
7
Medium Priority
?
295 Views
Last Modified: 2010-04-16
Greetings,

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,

-Travis
0
Comment
Question by:travishaberman
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 17

Assisted Solution

by:CSecurity
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...
0
 
LVL 3

Accepted Solution

by:
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.
0
 
LVL 17

Expert Comment

by:CSecurity
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.
0
Technology Partners: 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!

 
LVL 4

Expert Comment

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

Assisted Solution

by:CSecurity
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!
0
 
LVL 4

Assisted Solution

by:bdunz19
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,
Brandon
0
 

Author Comment

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

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

A short article about problems I had with the new location API and permissions in Marshmallow
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
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 …
Progress

719 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