Welcome! Log In Create A New Profile

Advanced

Widely dispersed application

Posted by Paul Turner 
Paul Turner
Widely dispersed application
April 08, 2008 03:14AM
Hi all,

I've taken on a new project which is somewhat different to what I have dealt with in the past.

The requirement involves 100's or users who reside around the world, entering alphanumeric data, and probably a dozen or so screenshots each day.

This needs to be forwarded onto a centralised application where analysis is performed.

The approach I've decided to take is to develop a desktop app which the data entry people will use, storing the data and screenshots in a local hyperfile database.

Weekly that information needs to be forward onto the central site, so they will connect to a HFCS database at that site, and simply insert the rows into that database.

I'd be interested to hear other peoples opinions on this approach. All criticisms and suggestions gratefully accepted. If anyone can suggest a better method, I'd love to hear that to.

Rgds
Paul Turner
Glenn Rathke
Re: Widely dispersed application
April 08, 2008 03:50AM
Hi,

It sounds like a perfect use for WebDev....

Glenn Rathke
Paul Turner
Re: Widely dispersed application
April 08, 2008 06:47AM
Hi Glenn

I thought about that, but I thought using Webdev would slow down the entry process considerably, especially when cutting and pasting the screenshots.

Using a desktop solution, the users can enter a week's worth of data, and then upload the lot by pressing a button and walking away for 10 mins.

Additionally, the overhead of webdev (server, hosting etc) considerably ups the cost.

If I'm wrong, please let me know.

Rgds
Paul
Bob Stratton
Re: Widely dispersed application
April 08, 2008 08:54AM
Hi Paul,

I would employ terminal services to centrally store the application.

The only problem I can see is that uploading data via TS could be slow depending on the connection the end user has.

To solve this, I would use something like suresync to automatically replicate data in the users local folder up to a nfolder on the server. Basically whenever the user puts anything in the source folder suresync automatically cuts inand starts transferring (We use this with our 100+ user property rental app). Branch office users download pics from their camera into a shared folder on the local server and they are immediately transferred to a central folder on the TS in the background. They wait a couple of minutes, log in and sure enough the copies of the photos are now on the TS. Easy to import then. No DB replication to worry about etc.

It sounds slightly complex but in practice it is dead easy!

That said, I would be tempted to use webdev...
I.e.
1. zip up all the pics into one file.
2. Upload one file
3. Unzip pics in code
4. etc

If you are sure you want a local desktop app, you could use the same approach, I.e.

1. zip up all the pics into one file. also text describing each pic
2. transfer by ftp internally
3. Central app. unparses etc..

Cheers

Bob
Frank Missel
Re: Widely dispersed application
April 08, 2008 02:33PM
Hi Paul,

Not that I as yet have had a lot of experience with WinDev and WebDev, but I have some experience with replication and database oriented applications working in disconnected mode.

I think that your solution seems quite good.

The other suggestions with WebDev or a terminal server and a central desktop application are definitely also a possibility.

To decide what would be the best solution for your application, I would consider the following:

What kind of connection does the end users have to the central site and/or internet?
If they are not always online, the terminal server is not a solution neither is WebDev. You do not mention it but perhaps the end users needs to work on a laptop in situtations where there is no internet connection.

Would the end users have any advantage in the application being connected to the central database all the time (through WebDev or WinDev with the app executed through WTS or Citrix). If yes, it could add to the argument for that type of solution. But the way you describe the application, it does not seem so.

When working disconnected for a whole week before uploading the data to the central database, one also has to consider loss of data. What if the end users computer is lost, the harddisk breaks down or it has a data loss in another way. When working connected, you know that the data is safe -- at least if the central base is handled in a sensible way with logs and backups :-). But the user could of course upload more often from the disconnedted database if needed.

Also worth considering is whether one would have faster responding application on the desktop compared to an application in a browser. I know that I am entering a religious mine field here, but I do think that there are certain applications not meant for a browser interface. I would call them expert applications where an end user perform certain specialised operations and speed is essential. The user knows the app in and out, use short cuts and have absolutely no patience with internet or other kind of delays.

Finally, there are the costs as you mention. With hundreds of users there will be a cost for Citrix or WTS. As for WebDev I suppose only one server license needs to be bought if the server is dimensioned correctly unless several, separated, central sites are required.

These are the things that I would consider. Hope it is of use to you.



Best regards

Frank
Paul Turner
Re: Widely dispersed application
April 10, 2008 02:32AM
Bob and Frank - thanks for your input.

Frank the issues you mention with respect to Terminal Server / Citrix are indeed a factor, and rule out those options. Similarly with Webdev.

With respect to storing the screenshots as individual files in a directory and simply storing the respective filenames in the database. That is indeed an option, however the possibility of someone accidentally deleting, or even modifying those images made me decide to actually store them as BLOBS.

Thanks again for you time,
Paul.
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: