Front End on Server or Local Machine?

C

Chertsey

I have just given a presentation to my client, explaining that the database
will eventually be split and that the Front End will be stored on each users
Machine. I intend to use Tony Towes AtuoFe Updater. Well, the end users were
aghast that anything should be stored on their pc's. They have been trained
to store ALL thier files on designated servers by the IT dep't.
Should I/How do I disuade them from doing so for the Front End?
Will the AutoFE Updater work when storing a FE on a Novel network?
Thanks for any advice!
 
A

Albert D. Kallal

Chertsey said:
I have just given a presentation to my client, explaining that the database
will eventually be split and that the Front End will be stored on each
users
Machine. I intend to use Tony Towes AtuoFe Updater. Well, the end users
were
aghast that anything should be stored on their pc's. They have been
trained
to store ALL thier files on designated servers by the IT dep't.
Should I/How do I disuade them from doing so for the Front End?
Will the AutoFE Updater work when storing a FE on a Novel network?
Thanks for any advice!

The problem is that you not suggesting to store data or files on their
computers. You are suggesting to place SOFTWARE on their computers. placing
files, or placing data, or SOFTWARE on each computer is a grand canyon of
differences of an issue.

I explain this issue in details here:
http://www.members.shaw.ca/AlbertKallal/Articles/split/index.htm

You can print out the article and hand it to them.

Basically, it simply means if people can't tell the differences between
files and data and that of a application being deploying, it likely time for
a good round of layoffs due to incompetence here. If people don't know the
differences between a file and a application the how can they be telling you
how to deploy software then they not even willing to distinguish between
software and data?

Why have then been installing every other application on their computers for
the last 20 years, and then single out your application for different
treatment? for what reason are they treating your software different then
all the other software they ALWAYS been installing on EACH computer?
 
Y

Yuta

Here is one of their reasons;
If Mary creatres a report or a query on HER FE, to deliver info that is
requested by a manager, then when Mary isn't there (away on vacation), THAT
report or query isn't available to them. Therefore Jane has to recreate the
Report/Query to deliver the info to the manager who had Mary create the
report.
I don't know how to counter that argument.
So the question becomes; Can the FE be run off of the server?
Lets face it...the managers certainly aren't about to fire themselves. You
know the managers old refrain. "Just give me what I want!"
 
J

John Spencer

Well, if you don't have separate front ends Mary CANNOT create a report
or a query anyway unless by some happenstance she is the ONLY one in the
database application.

Also, why would users be creating reports. They would run reports and
set up specifications - date ranges for example - but users normally
would not be creating the report layout, etc.


'====================================================
John Spencer
Access MVP 2002-2005, 2007-2009
The Hilltop Institute
University of Maryland Baltimore County
'====================================================
 
Y

Yuta

I agree with your last point whole heartedly. In fact that is exactly what
I've been suggesting to them all along. However, as most end users exclaim
"Ours is a unique situation" and "We need and insist that we have the
ability to create our own reports and queries as we wish" On the fly so to
speak.
Nevermind that when they see the complexity of the Table
Structure/Relationships, they become overwhelmed and don't understand the
reason for "All those lines" linking the tables. Understant that they are
moving from a "DB" that serves their purpose but is definitely NOT
NORMALIZED! Now that I have designed a normalized DB for them thier
comprehension of that structure is severley lacking. BUT, although I've
convinced them that what I have created is as or more functional than their
"Glorified Spreadsheet" (wich insults them) they STILL want to be able to
create their own Reports/Queries...
Now to your first point, the server is set up to store each users files in
their own "area" of the server, So Mary, and Jane, and every one else has
their own space on the servers. Therefore, what they are asking is that each
of thier FE's be palced in each of thier user defined space on the server.
Therfore Mary CAN create her own Reports/Queries, completely distinct from
Janes and anyone elses. I am not a network person so forgive my terminology.
Can this be done is the question? Also, that it shouldn't be done requires
some "splainin Lucy" My communication skills though limited are being
chalenged :)
 
S

Sylvain Lafontaine

Yes, they can each have their own FE on their user space on the server. The
performance will be a slightly lower - because the forms and modules will
have to travel over the wire - but the importance of each user having
his/her own copy of the FE is more about difference of versions for Windows
and Service Packs than about network performance.

However and whatever the place where these FE will be located, I don't know
how you intent to use Tony Toews Auto FE Updater if you want to have them
create their own reports at the same time because each time this Updater
will get activated, it will overwrite any previous modification on the
user's personal version.

If they want to create their own reports - and I have serious doubt about
this because a database is not a spreadsheet - they should do so in their
very own personal MDB/FE file.

--
Sylvain Lafontaine, ing.
MVP - Windows Live Platform
Email: sylvain2009 sylvainlafontaine com (fill the blanks, no spam please)
Independent consultant and remote programming for Access and SQL-Server
(French)
 
A

Albert D. Kallal

Lets face it...the managers certainly aren't about to fire themselves. You
know the managers old refrain. "Just give me what I want!"

You're absolutely correct here. I'm sorry if my message sounded little bit
confrontational.

Obviously in a work environment you're not there to be confrontational, but
to do the best job possible and help everybody out as much as you can! And
that why you are asking questions here! (this is good!)
Here is one of their reasons;
If Mary creatres a report or a query on HER FE, to deliver info that is
requested by a manager, then when Mary isn't there (away on vacation),
THAT report or query isn't available to them. Therefore Jane has to
recreate the Report/Query to deliver the info to the manager who had Mary
create the report.
I don't know how to counter that argument.

Their is seveal issues and answers to the above. In other words because you
company has a particular user need doesn't necessarily override how you been
deploying all your software applications for the last twenty years. Because
some employee might need to work in an restricted area on occasion at work,
it doesn't mean that you remove all the locks in the building to accommodate
that one request. The old saying about the cure being worse than the problem
comes to mind here.

So the first thing you need to do in that case is to formalize that process
of creating a new report. If a new report is created, then it needs to be
incorporated to the next release of the software that you're going to deploy
to all the users. There are always certain documents and procedures that
need to be followed when certain things in an organization are changed.

This situation should not really be much different. As pointed out by the
other responder, there's also the fact that you can't make design changes to
the application when other users are using that un-split application.

The beauty and advantage of working in an split environment is that you can
have your team of developers and software people (or Mary!) make changes to
the application. It's possible that some of these changes are potentially
giving wrong information, or could even potentially damage the production
data. Most companies don't work on their airplanes while they're in flight
with passengers in them, and often software is the same kind of thing. I've
seen some companies make mistakes in a sales report, and as a result spend
HUGE amounts of money because their access application was giving out the
wrong numbers for sales data. So like anything else, the more important this
stuff becomes, the more formalized and a more serious approach is needed
here.

The other important issue here is often it's better to formalize the process
of having a new reprot built since then you have someone overseeing that
need or the "why" that report is being made in the first place.

I been deploying software for customers for about twenty years now. I will
say that in virtually EVERY single case after about a year, the requests for
additional reports goes down to near zero. They will then run that
application for MANY years without requesting additional reports.

I mean if you have a sales report, it's only to be sliced up by perhaps
employee, sales region, city, and a couple other areas. So, as each new
request comes for reports options, you simply add those features and
filtering options to your report prompt or flter form. If this is done
right, the beauty of this approach means that often that if a new request
for some type of filter reports by a city comes in, then your change in your
software design will work for ALL EXISTING reports you've built for the last
five years. If you don't take this type of approach to adding features then
you'll add one new feature to one report, and the next week every body else
will be asking for that SAME filtering ability to go all the other existing
reports. Next thing you wind up having to spend more time adding new little
features everywhere because you didn't spend any time planning this out in
the first place.

For things like yearly sales data and monthly or quarterly reports, that's
going to be done witth some type of report prmopt system. In other words
it's quite rare that people will need to develop and design their own
reports. Here some screen shots of what I mean:

http://www.members.shaw.ca/AlbertKallal/ridesrpt/ridesrpt.html

Take a close look at the second screen in the above, you can see this been
many options added over about the first year of use.

some options are:

[] include garbage accounts

[] Include key accounts

[] include all new accounts for this year

The list goes on.

There's two very significant issues in the above that bodes very well for a
software development process.

#1 - new users of the application don't have to be taught what kind of
criteria is needed for "key" accounts. They don't have to be taught what
kind of criteria is needed for garbage accounts. In other words this far
more easy and requites far less Training for new employees to use your
application. In other words if you spend some time to build a particular
report, you also ensure that every new employee reaps the benefits of that
new option here.

#2 - Current users don't need to be sent off to some school to learn complex
SQL (which is needed for some of those criteria is in that sample above).

I mean if your employees have to start doing software desing, then you might
as well start also having your employees working on the company truck when
they also have some spare time. In other words you have to question what
kind of training and what kind of software development process you want
these employees to learn in place of YOU providing a solution for them in
order for them to get their work done during the day.

As I said, it is extremely rare for my customers of my products to come back
to me to ask me for reports. Usually after the first few months of running
the application, we pretty much figured out what what kinda criteria and
prompts they need to drive the selection of reports we've built for them.
after that, they're good to go for the next ten years.

So the question becomes; Can the FE be run off of the server?

Well you can do, but it makes the reliability of the software very low.
Worse is users can NOT make design changes when other users are working on
it.

I mean you can ask the question to your mechanics that run the company
vehicles should you change the oil regularly? You don't have to! You can run
those vehicles and trucks untill they breakdown. At the end of the day you
are wasting a lot of money. It simply not a smart way of doing things.
Lets face it...the managers certainly aren't about to fire themselves. You
know the managers old refrain. "Just give me what I want!"

Right but I know of small companies with only about 5-8 computers spending
MORE money on support dollars and more downtime and more problems than some
companies with 25 computers! This is just like running trucks or any other
kind of machinery that you have. If you do it the wrong way you'll be
wasting a lot of money. You not saving any money here.

At the end of the day you been deploying all your other software on each
computer. You can automate the updating process to deploy out new changes to
your software application to reduce the issue of having to deploy new
updates one report a are created. You simply want to formalize how this
process works.

Perhaps you plan to send your employees off to school to learn how to repair
the photocopier. Perhapys you plan to give your staff more lessons on
software design expertise. At the end of the day it's really your choice how
you want to do this.

For about the last twenty years as a general rule we been installing
software and each computer because it works better. Further as pointed out
if one person needs to do design work on the application, then all the other
people must stop working and stop using this application. Can you imagine if
you're modifying word and everybody else goes home because they can't use
their word processing software anymore?

At the end of the day only you can only figure out the consequences of your
actions here. Maybe there's only three employees, and maybe the only the
other two use this application once a month for a few minutes. In this case
you're not going to have much problems in terms of reliability if you allow
occasional users into that same front end.

However if you have several users all the time during the day using that
application, then the frequency of problems will increase dramatically.

There's never one size that fits all here. You might have a company truck
used once a year for the company picnic. Who cares if you change the oil
every few years, it don't matter. In the other hand if you're in the
delivery business, you better maintain those vehicles and trucks very well
or they will eat you alive with huge maintenance costs.
 
P

Paul Shapiro

If you're doing centralized development, you can't have users individually
modifying the application. Once they've done that you can't distribute a new
version without overwriting their changes. I agree with the other
suggestions that users should not be developing, especially if they don't
have appropriate skills. But if that's a requirement, then I would implement
it by giving each user their own separate reporting FE, with nothing in it
except links to the backend db tables. That way each user can add whatever
they want, without impacting the centralized application development. The
users become responsible for maintaining their custom reports. So now they
have 2 applications for this system- one that you maintain and one they
maintain for their customizations. You could incorporate their custom
reports into the centralized application upon request. I have never found
amateur users who could work with normalized data structures and get correct
results. Most of the time they won't even try, which is a good thing. Maybe
you can offer them the opportunity and let them realize that it's not
feasible on their own.
 
C

Chertsey

Albert, by no means did I think you were being confrontational !
I was just pointing out the obvious that managers aren't about to do
themselves in. Although maybe someone SHOULD put them out to pasture.... :)
I have followed your posts on these groups for years and have great respect
for your willingness to advise and help.
And with with that in mind, thank you VERY MUCH for your detailed response
here. I will be having more meetings with them in the comming weeks and will
continue trying to convince them that once the app is delivered the user
should have no need to modify it. But I know it will be a chalenge with this
group... wish me luck...I'm sure i'll have some more questions on these
groups as time goes on. Thanks to you all !



Albert D. Kallal said:
Lets face it...the managers certainly aren't about to fire themselves. You
know the managers old refrain. "Just give me what I want!"

You're absolutely correct here. I'm sorry if my message sounded little bit
confrontational.

Obviously in a work environment you're not there to be confrontational, but
to do the best job possible and help everybody out as much as you can! And
that why you are asking questions here! (this is good!)
Here is one of their reasons;
If Mary creatres a report or a query on HER FE, to deliver info that is
requested by a manager, then when Mary isn't there (away on vacation),
THAT report or query isn't available to them. Therefore Jane has to
recreate the Report/Query to deliver the info to the manager who had Mary
create the report.
I don't know how to counter that argument.

Their is seveal issues and answers to the above. In other words because you
company has a particular user need doesn't necessarily override how you been
deploying all your software applications for the last twenty years. Because
some employee might need to work in an restricted area on occasion at work,
it doesn't mean that you remove all the locks in the building to accommodate
that one request. The old saying about the cure being worse than the problem
comes to mind here.

So the first thing you need to do in that case is to formalize that process
of creating a new report. If a new report is created, then it needs to be
incorporated to the next release of the software that you're going to deploy
to all the users. There are always certain documents and procedures that
need to be followed when certain things in an organization are changed.

This situation should not really be much different. As pointed out by the
other responder, there's also the fact that you can't make design changes to
the application when other users are using that un-split application.

The beauty and advantage of working in an split environment is that you can
have your team of developers and software people (or Mary!) make changes to
the application. It's possible that some of these changes are potentially
giving wrong information, or could even potentially damage the production
data. Most companies don't work on their airplanes while they're in flight
with passengers in them, and often software is the same kind of thing. I've
seen some companies make mistakes in a sales report, and as a result spend
HUGE amounts of money because their access application was giving out the
wrong numbers for sales data. So like anything else, the more important this
stuff becomes, the more formalized and a more serious approach is needed
here.

The other important issue here is often it's better to formalize the process
of having a new reprot built since then you have someone overseeing that
need or the "why" that report is being made in the first place.

I been deploying software for customers for about twenty years now. I will
say that in virtually EVERY single case after about a year, the requests for
additional reports goes down to near zero. They will then run that
application for MANY years without requesting additional reports.

I mean if you have a sales report, it's only to be sliced up by perhaps
employee, sales region, city, and a couple other areas. So, as each new
request comes for reports options, you simply add those features and
filtering options to your report prompt or flter form. If this is done
right, the beauty of this approach means that often that if a new request
for some type of filter reports by a city comes in, then your change in your
software design will work for ALL EXISTING reports you've built for the last
five years. If you don't take this type of approach to adding features then
you'll add one new feature to one report, and the next week every body else
will be asking for that SAME filtering ability to go all the other existing
reports. Next thing you wind up having to spend more time adding new little
features everywhere because you didn't spend any time planning this out in
the first place.

For things like yearly sales data and monthly or quarterly reports, that's
going to be done witth some type of report prmopt system. In other words
it's quite rare that people will need to develop and design their own
reports. Here some screen shots of what I mean:

http://www.members.shaw.ca/AlbertKallal/ridesrpt/ridesrpt.html

Take a close look at the second screen in the above, you can see this been
many options added over about the first year of use.

some options are:

[] include garbage accounts

[] Include key accounts

[] include all new accounts for this year

The list goes on.

There's two very significant issues in the above that bodes very well for a
software development process.

#1 - new users of the application don't have to be taught what kind of
criteria is needed for "key" accounts. They don't have to be taught what
kind of criteria is needed for garbage accounts. In other words this far
more easy and requites far less Training for new employees to use your
application. In other words if you spend some time to build a particular
report, you also ensure that every new employee reaps the benefits of that
new option here.

#2 - Current users don't need to be sent off to some school to learn complex
SQL (which is needed for some of those criteria is in that sample above).

I mean if your employees have to start doing software desing, then you might
as well start also having your employees working on the company truck when
they also have some spare time. In other words you have to question what
kind of training and what kind of software development process you want
these employees to learn in place of YOU providing a solution for them in
order for them to get their work done during the day.

As I said, it is extremely rare for my customers of my products to come back
to me to ask me for reports. Usually after the first few months of running
the application, we pretty much figured out what what kinda criteria and
prompts they need to drive the selection of reports we've built for them.
after that, they're good to go for the next ten years.

So the question becomes; Can the FE be run off of the server?

Well you can do, but it makes the reliability of the software very low.
Worse is users can NOT make design changes when other users are working on
it.

I mean you can ask the question to your mechanics that run the company
vehicles should you change the oil regularly? You don't have to! You can run
those vehicles and trucks untill they breakdown. At the end of the day you
are wasting a lot of money. It simply not a smart way of doing things.
Lets face it...the managers certainly aren't about to fire themselves. You
know the managers old refrain. "Just give me what I want!"

Right but I know of small companies with only about 5-8 computers spending
MORE money on support dollars and more downtime and more problems than some
companies with 25 computers! This is just like running trucks or any other
kind of machinery that you have. If you do it the wrong way you'll be
wasting a lot of money. You not saving any money here.

At the end of the day you been deploying all your other software on each
computer. You can automate the updating process to deploy out new changes to
your software application to reduce the issue of having to deploy new
updates one report a are created. You simply want to formalize how this
process works.

Perhaps you plan to send your employees off to school to learn how to repair
the photocopier. Perhapys you plan to give your staff more lessons on
software design expertise. At the end of the day it's really your choice how
you want to do this.

For about the last twenty years as a general rule we been installing
software and each computer because it works better. Further as pointed out
if one person needs to do design work on the application, then all the other
people must stop working and stop using this application. Can you imagine if
you're modifying word and everybody else goes home because they can't use
their word processing software anymore?

At the end of the day only you can only figure out the consequences of your
actions here. Maybe there's only three employees, and maybe the only the
other two use this application once a month for a few minutes. In this case
you're not going to have much problems in terms of reliability if you allow
occasional users into that same front end.

However if you have several users all the time during the day using that
application, then the frequency of problems will increase dramatically.

There's never one size that fits all here. You might have a company truck
used once a year for the company picnic. Who cares if you change the oil
every few years, it don't matter. In the other hand if you're in the
delivery business, you better maintain those vehicles and trucks very well
or they will eat you alive with huge maintenance costs.
 
C

Chertsey

Yes, they can each have their own FE on their user space on the server. The
performance will be a slightly lower - because the forms and modules will
have to travel over the wire - but the importance of each user having
his/her own copy of the FE is more about difference of versions for Windows
and Service Packs than about network performance.

However and whatever the place where these FE will be located, I don't know
how you intent to use Tony Toews Auto FE Updater if you want to have them
create their own reports at the same time because each time this Updater
will get activated, it will overwrite any previous modification on the
user's personal version.

That is a very good point that I hadn't yet considered. Thank you for
pointing that out. I will have to reconsider using the AutoFE Updater if I
pursue the Server implementation. Thanks Again!
 
J

John Spencer

Also, you might be able to satisify a lot of there requirement for building
custom reports by using a tool like Duane Hookom's Query by Form applet.

You might want to consider the Query By Form applet at
http://www.rogersaccesslibrary.com/Otherdownload.asp?SampleName='DH Query By Form'


***FEATURES***

The DH QBF is a complete query by form applet that can be easily integrated
into any existing Access application. Typically, the functionality provided by
DH QBF can replace many "canned" reports. The developer imports several forms,
tables, a query, and a report from the DH_QBF.mdb, creates some master
queries, and deploys.

The developer creates one or more master queries that join tables, alias
field names, create calculated columns, etc. The users can then select a
master query (data source) from a drop-down and then select up to 30 fields
from the master query. Users can define sorting and criteria as well as
grouping and totaling. All of this "design" information is stored in two
tables for re-use.

The results of the queries are displayed in a datasheet subform contained in a
main form. The main form has options to send/export the records to print, Word
table, Word merge, Excel, HTML, CSV, Merge to Report, or a graph. Most formats
allow the user to automatically open the target application. The Word merge
process will open a new Word document and link to the merge fields.

--
Duane Hookom
MS Access MVP

John Spencer
Access MVP 2002-2005, 2007-2009
The Hilltop Institute
University of Maryland Baltimore County
 
D

David W. Fenton

I been deploying software for customers for about twenty years
now. I will say that in virtually EVERY single case after about a
year, the requests for additional reports goes down to near zero.
They will then run that application for MANY years without
requesting additional reports.

This aligns almost exactly with my experience.

Most of the time when a client asks for a "new report" they don't
mean a new report layout, they mean they want a different subset of
data on an existing report. If you build your report filtering
interface correctly, it becomes very easy to implement these new
filtered data sets for the existing reports.

I have found, though, that clients are often quite inarticulate and
unimaginative in regard to what they want to see in reports. I used
to prebuild a whole set of reports that ran the whole gamut of all
the ways I could see to slice and dice the data. I then watched as
only a handful of those reports got used on a regular basis, with
the occasional moment of vindication when I was asked for a report
and I could say "But have you tried the X report, which has been
there for N years already? If that's not exactly what you want,
maybe it can be revised?" And almost always get the respone "That's
exactly what I need! I never knew it was there." This, despite
having been told about it, and having it readily accessible from all
the appropriate locations.

People get in habits and use the same things over and over again.

This means they miss things later on that they never use at the
beginning, but it also means that they aren't imaginative in
figuring out what reports might be useful.

I have quite a love-hate relationship with the whole reporting side
of things, and nowadays generally don't develop reports that haven't
been explicitly requested. I grew tired of spending time on things
that never got used. And the result is that I find that most apps
need very, very few reports, unless they are financial. It doesn't
pay to go overboard.
 
T

Tony Toews [MVP]

Chertsey said:
That is a very good point that I hadn't yet considered. Thank you for
pointing that out. I will have to reconsider using the AutoFE Updater if I
pursue the Server implementation. Thanks Again!

The Auto FE Updater works just fine if you are copying the FE to a
user specific folder on the server. Lots of folks are doing exactly
this on Terminal Server and Citrix.

And yes many of my clients have their own copy of an MDB linked to the
tables on the BE for querying, reporting and exporting to Excel along
with some starter queries.

Tony
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top