Advice on setting up development versus production environment.

  • Thread starter Cap'n Dave via AccessMonster.com
  • Start date
C

Cap'n Dave via AccessMonster.com

Hi,

I am working on a project that seems to have no controls or logical
development environment. Currently we are developing our working in a
"master" database and replicating the programs/data to a "production"
database. Each of the databases has a separate directory and is backed up
daily. Replication is required since we have 1 other sites entering data into
this database locally. We manually retrieve those database files and sync
them on a weekly basis. Our databases are fairly small (2mb) and we are in a
war zone which means limited bandwidth and intermittent connectivity.

Here are a few questions?

1. Should I separate my application into a front/backend?

2. If I separate my application can I still use replication to sync the data
and program changes?

3. Is there a better approach to setting up a production and development
environment?
 
T

Tom Ellison

Dear Cap'n Dave:

A project will have controls and logical development only when the person
who is designing it is able to control it and impose logic on it, and when
that person has the authority to do so. Otherwise, it will stay that way.
The principle is that the universe is chaotic, and only management ever
changes that. So, either make sure you have the authority to impose order
and make decisions, or that someone else who is competent to do the job has
the authority. To make someone responsible for a product and not give them
authority to make it work ensures failure. Success happens when
responsibility, authority, and competence come together under one roof. You
had better determine if the environment can be structured for success, or
not waste your time.

So much for design philosophy. But I recommend you use the tools and
arguments I've just put forward.

Now, being a Cap'n and in a war zone, it sounds military to me. You would
then be very aware of the linkage between responsibility and authority.
That would be a good thing. Chain of command is just what you need.

1. Absolutely no question. YES!

2. Replication syncs data, not program changes. It may be simple and
sufficient to announce program changes and make sure everyone using the
program, and getting the announcement, knows they must get the program
changes before proceeding. The program changes could be distributed by
email attachment (if the attachment would not be too large) or by copying
from the server. This can also be automated if desired, so the program
checks the date on the currently installed version against the newest
version available on the server, and just goes to get the new one. This can
be done every time the user initiates a session. But that would depend on
them closing their session every time they finish and leave the computer.
Not leaving a session open is a very good security procedure anyway, and
this is the time to pull rank. Make sure they do this. If you are at the
server, you will be able to tell when they do or do not log off when off
duty. You can even build into the program to log the Computer Network Name
of every client computer along with the date and time into a table recording
every log in and log out. Then you'll know just what is going on when you
need to check.

3. With limited bandwidth and a distributed network, I would really opt for
an MSDE back end rather than Jet. This may take some hard study on your
part, as you'll be running the database as SQL Server rather than Jet. How
will your connections be made? Will you set up a wide area network (or you
may already have one). Or would you use VPN connections with the internet?
The latency of the wide area network or with VPN is a KILLER for performance
with a typical MDB / Jet setup. Even with ADP / MSDE it will not be as fast
as you might like, but it will almost certainly be at least acceptable. I
have seen a difference in performance for an application of 500:1 between
the two. The ADP / MSDE approach is just acceptable. The MDB / Jet
approach has you sitting for as much as an hour, just trying to load a
complex form. Likely you would not have any forms as complex as I did, but
it might still be 5 or 10 minutes just to get a form up.

The kinds of questions you have asked are excellent, and that bodes well for
the eventual success of your project. I hope I may have been able to
contribute even slightly to that. Best wishes! And, if I'm correct about
your military situation, my deeply felt thanks.

Tom Ellison
 
T

Tim Ferguson

Otherwise, it will stay that way.
The principle is that the universe is chaotic, and only management ever
changes that.

You've never worked for the NHS, have you? Over here, it's the other way
round.


All the best


Tim F
 
T

Tom Ellison

Dear Tim:

I certainly have mis-spoken here. "Only good management ever changes that."

Or, you could have taken me to have meant that only good management is
management at all.

So you work at NHS? Or perhaps that is now "worked".

Tom Ellison
 
T

Tim Ferguson

Or, you could have taken me to have meant that only good management is
management at all.

If they left it all up to us doctors, then all would be light... it's the
managers that bring the chaos. This has the makings of a thread that could
run and run said:
So you work in the NHS? Or perhaps that is now "worked".

Oops. Actually you have to sleep with a patient to get sacked here, and
since I am a paediatrician, that's definitely a no-no.

All the best


Tim F
 
T

Tom Ellison

Dear Tim (Dr. Tim to me!):

So, doctors are always good managers. Or perhaps all good managers are
doctors. I'm so glad to know that. They can now add that to their "God
complex"! : )

As for how to get fired if you're a paediatrician, well, I certainly didn't
intend to open the subject in quite that much detail!

Tom Ellison
 
N

Nikos Yannacopoulos

To build on Tom's valid points:

On point 2, you might want to check out MVP Tony Toews' Auto-FE Updater,
it's great for the job and it's free:
http://www.granite.ab.ca/access/autofe.htm
By the way, you can't rely on file dates for determining new if the
version on the server is newer, because the local FE's date will always
be updated every time you use it.

On point 3, performance with a Jet BE over a WAN or VPN is one issue
(and certainly a big one), but the most important one is corruption of
the BE: very high risk with Jet, none with SQL Server (of which MSDE is
a limited version, yet just as robust).

HTH,
Nikos
 

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