Frank Wagner said:
Albert:
The application is presently distributed with the Sage distribution system
for use by students on individual computers.
Ah, ok..then you taken "serious" steps in distribution the software
That helps a LOT in terms of Clarifying your situation.
I don't know if the terms are
right, but I thought that MS Access with VBA code could be used as a Front
End to create user Forms, and SQL Server could be used as a Back-End
instead
of the Jet Engine to manage the Queries and Tables. Is this correct?
Yes, and that's is a good use of sql server. This would mean then all of the
data between each user is going to be shared. If that is your design goal,
then this is indeed a possible solution. if you're looking for design that
shares the the information, but keeps the information separate from each
user, then you'll need some redesigns in your application.
You're not wasting my time by continuing the discussion. That's the only
way I'm going to truely get my questions answered, and it's important to
me
that I do get a clear understanding.
OK, excellent.... then we are on the same train then!
Is it the concept of multiple users that is the problem, or the number of
users?
Certainly the concept of multi user and moving the back end data to SQL
server is a good solution, and is not a problem.
However the number of users is a significant issue, and it really comes down
to a question how many of those 10,000 people will on at one given time
sharing and using the application at the same time. There's no question that
SQL server can scale tools significantly large number of users, but I
certainly have no experience with 10,000 users on the same system at the
same time. You might be able to expand on this issue as to how many users
you expect to be on at a give time.
Presently if I have 25 students in a computer lab working with the
system, the system is loaded on each computer. Could the Back-End of the
system using something like SQL Server be loaded on a Network server, and
just the Front-End forms on the individual computers? If this is
possible,
could the system be accessed over the web in a similar manner? If that is
possible, could the system then be accessed from a number of schools at
the
same time with a web server.
The above is an excellent thought, and the answer is absolutely yes, SQL
server can be used over the Internet, and functions quite well in this type
of scenario. as a general rule you want to design your application to
minimize the amount of network traffic, and most of the good design tips
used in a access "file share" system as you mention with a 25 users, the
same good design approach has worked much the same when you use SQL server .
In a nutshell simply means that your designs need to limit the amount of
records transferred into a form, and thus you never just simply open a large
form attached to a table without some type of where clause to restrict the
data transferred (this issue becomes significantly important as the scale to
more users, and is also significantly important when using SQL server).
It is quite common for people to move the backend from being a shared "mdb"
file to that of using SQL server is a replacement (your tables in the front
end are then linked to sql server). Using SQL server allows you to run more
users then a file share. And, with careful designs, you can also run them
over Internet connections.
The only significant issue will have to be aware of here in this case is
setting up a secure access to that server. In other words you want everybody
to be able use data on the server, from anywhere, but it also means that
you're opening up that server to the Internet wild.
So, you need some good advice on the networking side to make this secure. In
a nutshell it means that you're going to have to give all users access to
that particular network that has the sql server on it. You also might need a
way to remove access from a particular user also. So, a bit of an issue here
with regard to managing the security issue, as I said the large number of
users creates a larger problem here.
Some type of logon system and the implementation of IDs for those people
likey will have to setup.
I know that this discussion may seem a little far-fetched to you, but I
need
someone to bear with me a little bit until I am able to understand.
Your additional information and clarifications were a big help on this
matter. The problem still remains the large user base, however if the number
of users at any given time is not going to be too high, say maybe 500, or
thousand users, then the setup is certainly doable. I would think that a web
based solutions a far better approach here however, as you'll imitate all
the issues of the distribution of the software side, and you will also
eliminate all the issues of having to set up a secure connection for your
software to connect to SQL server.