Solved

Terminal Services, Citrix or PCAnywhere for remote access ?

Posted on 2004-08-18
11
2,607 Views
Last Modified: 2007-12-19
Hi All,

I'm interested in running an MS Access application using Remote Access like TS/Citrix/PCAnywhere/etc.....
I would like to get a quick impresssion of the experiences of you with one (or more) of these ways.
Especially the performance, security and reliability of the connection are of interest and when you have good experiences with another Remote Access possibility, don't hesitate to add your findings.

Thanks in advance !

Nic;o)
0
Comment
Question by:nico5038
  • 4
  • 3
  • 3
  • +1
11 Comments
 
LVL 9

Accepted Solution

by:
solution46 earned 225 total points
ID: 11828994
Not had any problems running Access over TS; only problem I've had with Citrix is that message boxes sometimes don't appear.

Other thing to take care with is memory management. Access will chew up memory if you forget to kill off objects once you've finishe with them as the garbage cleaner is notoriously unreliable. Many instances of Access apps with memory leaks on a TS / Citrix / similar server = major performance problem!

Final thing is to think about record locking issues. An Access app with bound forms can lock a lot of records (I've usually started encountering problems with more than 10 concurrent users) so it may be worth using unbound forms driven by OO style code with manul record checking in place (e.g. make a note of LastUpdatedDate on a row, and a note of the server time you retrieved the current row. If the lastupdateddate > retrieve date when you try to write back to the table, ditch the write).

All in all, try a web front end on a sql server database - that's what I've started doing!!!

s46.

0
 
LVL 84

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 225 total points
ID: 11829459
I manage several Access applications in Terminal Server environments with around 30 users, appx 10 of which are concurrent at any one time. We're using Server 2000 in all of them (no licensing issues when connecting to Windows 2000 and Windows XP Pro boxes) and we've had no real issues. Printing can sometimes be a pain in TS. Make SURE your printers are verified to work properly in the TS environment - most of your el-cheapo ink/laser printers won't work, opt instead of business class machines from well-known vendors (HP, Canon, Lexmark, etc). From researching this issue and speaking with those more knowledgeable than myself, this (using an un-verified printer driver) is the single biggest cause of crashes in the TS environment.

I've had no trouble with bound apps, but my apps are written to pull as few records as possible. In the past year, I've only had one record locking incident, but this is not a "heads down" data entry app; while there is a fair amount of data entry, I'd be hesitant to call this an extremely active entry application. In general, only about 100 records/day are added/modified (these are R&D people, once a document is created, they view it quite a bit, but don't do much in the way of edits).

Images can be troublesome on a Win 2000 box; you're limited to 256 colors, which is fine for most logos and such, but if your application requires viewing of fairly detailed photos or images, you'll have to upgrade to 2003 (which significantly increases the resolution available in the TS environment).

Performance is dependant on (a) the machine housing the TS and (b) the method by which your users connect. In general, you'll notice an increase in performance (every app I've moved to TS noticed a SUBSTANTIAL increase in performance when compared to standard network type deployment). The machines running the server are all P4 class machines, with a minimum of 512 MB of memory; two of them use Raid arrays, the third has a single disk setup (note: the machines with the Raid arrays are definitely peppier than the single disc machine). Security is entirely up to you; you can lock down the server as tight as you wish. If, however, you'll have remote users (i.e. people NOT on your local network), you'll probably want to provide access to the TS via secure VPN connections. While you can expose your TS to the internet and provide a web address for it, it's just an attack waiting to happen!!

Several of the TS machines I admin are located in DC, which is 500+ miles away from me ... I have the occasional dropped connection, and every once in a while I am unable to connect to the machine. These are extremely isolated incidents, however. Performance via the VPN connection (they use Cisco) is as good as when I visit the client onsite (note: I'm connecting via broadband, and they have a T1 line going into their facitlity).

All in all, for Remote Access with an Access/Jet db, Terminal Services is the way to go.

Citrix is, basically, a program that "sits on top" of Terminal Services. This is a very, very simplistic way of looking at it, but basically that's what it is. I'm just now beginning to learn about Citrix; the next project, due to start in early December, will use Citrix. Citirix does provide more security, and does make several things (including printing) easier than straight TS, however, it is pricey.

I've not heard good reviews of TS over PCAnywhere or GoToMyPC type setups. If your needs are very, very trivial (i.e. your remote office needs to run a report once each day, or something), then PCAnywhere would likely work for that. I admit I've never tried PCAnywhere, but I did try GoToMyPC; it worked okay, but screen refreshes and such were very disorienting, and I would have HATED to try and do any work on that thing!!

Note that if you run Server 2003, you MUST purchase Terminal Server licenses in addition to the standard Server licenses.
0
 
LVL 9

Expert Comment

by:solution46
ID: 11829684
OK, I'll clarify...

the applications I was looking at weren't necessarily that well set up (the usual story of apps that evolve over time rahter than being designed properly). On these, record locking was a big problem. The company I was helping out had about 20 users in a customer services environment, 10 or more of whom could be logged in, adding or changing records on a regular basis. This is also far from extreme but the system as it was would pop up the 'the record you are editing has been changd or edited...' box on a regular basis. It managed to prevent the records being over-written but the users were a bit fed up with having to re-type stuff all the time. Eventually, I bit the bullet and re-wrote the back end in SQL Server, but that is a different story.

So far as performance goes, the app in question had many instances of objects being created in code that were not shut down. It was a fairly simple front-end / back-end type system and the front end would bloat in server memory from about 10MB to 200MB+ during the course of a day. Going through the code closing everything down helped enormously, as did making the front end read-only to prevent the mdb file from bloating. Performance is obviously not going to be an issue if the memory footprint stays at a sensible size, but ten 200MB processes running on a server with 1GB RAM was slowing things down a lot. Equally obviously, for a well-designed database, running a standard network installation is going to be much slower, especially if significant amounts of data are being transferred. My point remains that performance can be an issue if the app hasn't been well-written and that this may be a pertinent issue, especially if you've inherited the applications.

I fully agreee (from what I've seen as a user / developer; I have no experience managing Citrix) that dodgy printer drivers are dreadful for bringing down Citrix servers (we once had big problems trying to get a Zebra label printer up and running, for instance) but I have never tried using anything other than standard printers with TS.

s46.
0
 
LVL 84
ID: 11829788
s46 - I wasn't arguing or attempting to discredit your post, just giving my observations ... I agree with your post regarding memory and properly written applications. I was merely pointing out that a well-written bound Access application can thrive in a Terminal Server environment.
0
 
LVL 9

Expert Comment

by:solution46
ID: 11829847
sorry bud, didn't realise that sounded so defensive!

Fully agree that well-written apps are fine... but beware the person who tries to run a badly written front-end on TS.... :)

Any idea what the garbage collector in versions of Access since 2000 is like?
0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 84
ID: 11829936
>> Any idea what the garbage collector in versions of Access since 2000 is like?

It's better in XP (2002), at least from my experience with several cleanups ... supposedly better still in 2003, although I have yet to install it on any machine.
0
 
LVL 54

Author Comment

by:nico5038
ID: 11835227
Great info guys, thanks for you elaborate comments !

I was also looking into  GoToMyPC and TightVNC, however the latter didn't refresh the form when scrolling through records in a subform :-(

The final planning is to transform all into a real web based application using open software, but for the time being a start with MS Access is planned using remote access like TS and your comments certainly gave me some thoughts. The application will certainly use unbound forms and using a timestamp and userID for testing concurrent updates is a known mechanism for me.

Hope we get some additional experiences so perhaps this can be used in the near future by the Access Page Editor Jim Dettman to write a white paper in this subject...

Thanks so far !

Nic;o)

0
 
LVL 15

Assisted Solution

by:ericpete
ericpete earned 50 total points
ID: 11873256
nico5038,

One of the first things you'll want to do is make sure you have a backup copy of your database someplace safe...  LOL ... (sorry, LMS and solutions46 -- that's an inside joke between Nico and me)...

I've used Access databases over both PCAnywhere, a Citrix "neighborhood" (essentially TS, as LMS suggests, although it's a little more than that) and through a Cisco VPN. Any issues I had were almost always caused by the fact that I was using a 56k modem, and not by anything related to Access. As solution46 points out, the Access-related issues would have happened had the database been on my computer or on the local network (such as the bloating with which we're all familiar).

Regards,

ep
0
 
LVL 54

Author Comment

by:nico5038
ID: 11878815
Hi ep,

Hmm, the backup ghost beats again <LOL>. Read the other day in the Guardian that an English writer lost 4 chapters of his new book when his laptop was stolen. He had no backup and no printed version, guess he should have read our previous discussion.....

Nic;o)
0
 
LVL 54

Author Comment

by:nico5038
ID: 11929604
Thanks guy's, I'll try to keep you posted when the system is "in the air" by creating a white paper for the PageEditor on the subject as the Access TA is going to be the testing ground for the new EE setup :-)

Nic;o)
0
 
LVL 9

Expert Comment

by:solution46
ID: 11931279
cheers nico,

s46.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

706 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now