Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Simple Question, what is front end/backend? 5

Status
Not open for further replies.

buee04

Technical User
Jun 27, 2002
129
US
Hi,

I'm nearly finished with my first db, but I still don't know what the terms front end and back end mean. I know it's a dumb question but I haven't been able to find the answer from books or the web.

Could someone explain it to me and also use examples?

THANKS!!
 
First, the only dumb question is one not asked.....

Front End/Back End is a common programming term related to splitting a database. The Front End is the part you work with - your forms, reports, etc. The Back End is the data you are working with...

So to have a front End/Back End system, you typically place all your tables in one database, and everything else - queries, forms, reports, macros, and modules - in a separate database. You then link the Front End to the Back End by linking all the tables.

This is typically done for a couple of reasons. The first is for updating....you can work on the Front End and not affect the data if you need to make changes to the program. Second is distribution. Instead of distributing a huge database with all records and forms, etc, you only distribute the forms etc. Third is multiple use...all users have a front end, but all share the same nback end....data is always current. And finally, continuity. If you front end crashes...it normally doesn't affect the back end and vice versa...insteadof having to fix it all, you only have to fix one part.

Hope this makes it a bit clearer. Let me nkow if you need any mroe info. The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Hey Robert!

Thanks for responding, I understand now. So then do you think I need to split my db then? If all of my users will be using opening the db up on the network so they're all using the same copy. And then I'm going to load it up on the internet for salespeople across the country to use but they will not need edit or add data.

I'm just gonna load it up on the net once a month or so for the salespeople to download. Lemme know what you think.

THANKS!
 
I ALWAYS recommend a Front End/Back End approach....look back at my reasons for doing this and yuo can easily see why.....That being said, I would also do a comparasion check before distribution.....

It has been noted that sometimes a Back End/Front End system with Access can severely slow down performance, but generally I have found it only to improve performance.

Ultimately you need to do whatever is best for you and your users....Having only to distribute a (relatively) small Front End file and never having to distribute all the records is the most efficient method by far. The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
And one more note.....

NEVER let your users all use the same "copy" of the Front End, either by opening it or by linking it with a shortcut.....

EACH user MUST have their own COPY of the FRONT END...... The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Mstrmage1768,

For about 4 years the company I work for has had the users about 14 open up the same front end via a shortcut. Vary rarely will it ever corrupt. It's a compiled mde file if that makes any difference. My point is, shortcuts have worked great, why not use them? However, I haven't worked with a lot of differnt companies or dbs...

Another thing to mention Buee04.. and maybe you can comment on this Mstrmage...One thing read on this site said there is some performance differnce with using the relative path and the fully qualified path(i hope i have the terminology right there) as a link to the back end. using \\servername\mdbname.mdb was said to have a slower performance in comparison to a path like q:\servername\mdbname.mdb. I have used both and notice no difference. Then again, It might be that the front end is about 15mbs and the back end is 45mb, we have fast computers and there's only 14 users.
 
Markphsd,

Point noted about the shortcuts.....I have just found them to also sometimes cause performance problems. That being said, it is MUCH easier to maintain one and provide the users a link, especially for updating. I haven't ancountered any difference between absolute and relative pathign either.

As I suggested to buee04 a couple of posts back, always benchmark your different options and use that which gives you the best results. I have set up systems where front end/back end stunk, and others where it greatly outperformed single database development.

So make some copies, and try it different ways. And yes, use .mde's where possible. I also find this to be more efficient. The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Okay, I'll test out different methods and see which one is the best. But how should my security of the db be handled? I am using Access 2000 and most of the users have Access97. Can you give me pointers on how to distribute the front ends?
OH yeah, how do users not on the corporate network use the back end, if I only give them the front end?

 
First, you'll have to save you database as Access 97 format for the 97 users to even be able to use it. That may cause you some problems, so troubleshoot heavily.

Second, security can be handled by the front end....just set you .mdw file to be run with the front end and then all is well.....This does not "technically" secure the back end, and there are ways to effectively secure both, but they are beyond the scope of this. If you want some info, let me know and I will try to dig something up. I have found that just securing the front end is usually good enough.

Finally, your external users will either have to have a connection to your back end, or you can distribute to them a "complete" database with both tables and program files. They also will not be seeing "live" data. In other waords, their database is only as current as their last "sync". The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Buee04...

It would be more helpful for everyone, including you, if you start a new post on off topic questions. That way when people search for answers to questions they have they can find answers by topic. Right now people only know to answer your back end front end question.

There's a lot of information about Access Db Security on here. Just type security as a search word. You'll find a lot of really good information
 
I've tried converting to my db to Access97 and it didn't cause any problems, yet. Is that a good sign?

I think securing the front end is sufficient, I'll give that a try.

So if you're saying that I need to distribute to the users a "complete" database, then I don't need to split that version?

Mark, thanks for the advice. I'm reluctant on creating another thread simply because I've started alot already and I was afraid that people would just ignore mine. But in any case, it makes sense to start new threads for different topics.

And of course, thank you very much mstrmage for all of your tips!
 
buee04It is a good thing you haven't encounter any problems with the conversion. Hopefully it will remain that way.

As for your non-network users....all you really need to do is give them a non-split version of the database and a copy of the .mdw file. Make sure they are opening the database with a shortcut that automatically connectes them to the .mdw file. That's it. Again I point out that this non-split version is only as current as the last "sync" or "save". The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Once again, I really appreciate all of your suggestions and explanations on such a simple question. I guess I'll start another thread on how to make the users open the shortcut that automatically connects them to the .mdw file.

Btw, I did split my db and I noticed a dramatic decrease in performance. But I'm gonna keep on trying because a front end/back end db will allow multiple users to simultaneously use the program, right?
 
Yes, but you can also have multiple users use a non-front end/back end setup also. In this instance you would have just one compy of the database on a server and every one has a shortcut to the database on their desktop. So, if you are experiencing performance problems, try a single database setup using shortcuts. But I suggest you try to have several users access that database at the same time during testing to ensure there is no record locking violations or collisions.

As for the format to create a shortcut that automatically connects to the .mdw file, here it is....

In the Target of the shortcut, place:

\Path\to\MSACCESS.EXE "Path to database" /wrkgrp "Path to .mdw file"

Example:
J:\apps_pub\mso97086\Office\MSACCESS.EXE "H:\Dublin\Billing\Client Billing\Robert\Access\test.mdb" /wrkgrp "C:\winnt\system32\test.mdw" The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Awesome, perhaps I won't split my db afterall. Btw, does Access 97 have that feature? Can Access97 users access at front end/back end db?

 
Yep.....I mostly use 97 at my office (but I am a 2000 supporter at home and with my "personal" clients). And again, I have had to use both ways....never can tell without some benchmarks.

Another key point......BACKUP, BACKUP, BACKUP!!!!! This includes during development and after release. As you develop you databases, every so often save it, copy it, and begin working on the new one. That way, if you make a major mistake, it is easier to go back.

After development, I recommend making a complete copy of the comlpete database (both parts if front end/back end) at least once a week. If somethign happens to it, you are only out a week or so. I don't support replication, so either set up a function to copy the database for you, or just do it manually every so often. You will thank yourself later.....trust me. The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Yep, I backup my work just about everyday on to the network server because I already had to start over once :\ learned the hard way. Actually, I have 2 different copies on the server - each a day's work apart.

SO, if i keep the database on the network someone, and send the shortcuts to everybody who wants to open it? But what keeps them from opening it by going to the direct path and open it without the shortcut?
 
And if I do split the db, and you said each user should have his own copy of the front end, then how do I make sure they open it with the workgroup file since I don't give them the shortcut?
 
You are now stepping into that realm of secureing both front and back end I was talking about....this gets tricky and confusing very fast.

I generally go with this...if security is that much of an issue, one database with one .mdw, and everyone has shortcuts....

Here's why....
You have back end on server and one .mdw stored somewhere. You give each user a copy of front end, but also have to provide shortcut to force them to connect through .mdw. Some user may not use the shortcut and all you security is gone.....On the back end, there is no security. If you want to add security to the back end, we are going to throw another kink in the works, because you are actually connecting to the back end through a linked table.....

As you can see, it gets difficult to set it all up. And maintenance is a real nightmare. So if you need the security, go with one database and shortcuts.

As a side note, I would like to stress that the .mdw security solution is by no means secure. If the user is connecting through a shortcut, then as soon as they close that database, or open any other, they are using the default security file, which has no security. If they can navigate to the file on the server and just click on it, then they are bypassing your security also. There are many programs and I even have several Access functions that can break passwords out of Access and give someone the ability log in as Admin anyway. So take the security lightly. It is designed for stopping the Average Joe User from mucking up your stuff. I generally only use the .mdw security to "protect" my forms and objects, by not giving them design Access and to stop a company non-authorized employee from open the database.

I kind of create my own security on the fly per database I develop. If I need an "admin" section, I include a user/password/security level table in my database and compare against this. And using the .mdw file, I, the developer, am the only person that can go near that table....I give the superuser command buttons with functions to edit the data, but only I can even get to and see this table in its raw format.

As you can see, you are stumbling into the lovely world of Access Security. Everyone has a different approach and everyone will recommend you different things. Take them all the ear and decide which is best for you.

As always, let me know if I can help in any way. The secret to creativity is knowing how to hide your sources. - Albert Einstein [spin]

Robert L. Johnson III, A+, Network+, MCP
Access Developer/Programmer
robert.l.johnson.iii@citigroup.com
 
Robert,

I understand front/back end design much more now. I'm pretty sure I know how I want to go about distributing the db. I can't tell you how much you've helped me, if I could give you more stars, I'd give you them.

I now see the trouble of Access security. I read about all these problems and loopholes but never really experienced them, until now. But anyway, I don't think my users will hack into my code or anything. I just don't want them to mess it up by accident, so a basic level of security is sufficient.

Thanks again!!

jon
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top