VFP and web services for ubiquitous applications

Topics: New Project Idea
Oct 19, 2011 at 2:40 PM

VFP executables are small in size (around 3-5 Mbytes) and VFP run time libraries  (DLLs) are compact and relatively small in size (7-10 Mbytes). VFP has a poweful databae engine.

Downloading and setting up the DLLs from a web can thus be fast and need only be done once. (VFP libraries are  smaller than Java)

Similarly downloading and running an exectuable from the web is also fast and can be done on demand thus allowing the latest version of the executable to be downloaded easily.

VFP has a treendous data engine which allows  working with local  databases and tables much easier than working with datasets and records sets under .NET

So downloading and running (locally on your PC) a VFP application from the web is a quick process and gives the user the wonderful experience of working with a user friendly application.

Now consider the data. For Ubiquitous applications that can be accessed from anywhere at anytime over the web, we need the data to be stored remotely on a web server. Accordingly we need to access a remote database over the web. This can be accomplished by using a web service. A class can be built using internet componets to send an SQL query to a web service; and to retrieve the data from the web service, then load it into sql tables, then working on it locally. Using a web service will give the user the option to work with any web server (Unix, Windows etc), work with any scripting language supported by the server (php, ASP, Foxweb), and using any database supported by the web server (MySQL, MSSQL,Oracle,DB2 etc). This technique is not new and is being used by many developers.

Though such a ubiquitous  architecture runs on PCs (not MAC or Unix)  only in a client server environment (Not in a web browser), it nevertheless  has the advantage that it uses the full power of VFP and the full power of the PC operating system (Not the browser in a sandbox). It has the added advatnage of having the richer navigation and user experience we are familiar with in client/server environment (drag and drop, pop-up menu, the versatile ActiveX and COM, multiple forms, local persistant storage,etc. It also has a speed advantage over the web based applications in that instead of having to do call back and load full html pages you only need to request and send the needed records.

Such an architecture matches the security provided a web application, in that we can use SSL for communications and have the database of our choice resident on a remote server. 

Many industries and businesses need a ubiquitos applications that allow managers, sales reps, medical doctors etc, to access their systems in a secure and easy manner. They usually have a limited number (1-1000) of users who carry their PCs around and who want to access uptodate sales data or medical data etc while away from the office. Serving VFP over the web gives them the rich experience of VFP, is faster than the web and their data is updated instantaneously.

I have used this architecture with an operating room scheduling application (using foxweb and MSSQL) and also in a demo system (Using php on a Yahoo server). They work great and the applications provide all the rich experience you may wish to build into them (You can add a browser within the app to view documents, a rich text editor, pop up menu, quick data validation against a remote data base etc). Some of these features can be accomplished in a web based application, but tyou will need to use several technologies: javascript, ajax, html etc, and still  you will not be able to match the rich user experience you get with a VFP application. Similarly .Net can be used, but the long development time, and the heavier  .NET platform would be no match for the ease, speed and simplicity provided by VFP.

If you are interested in pursuing such a project please let me know.  My name is Sami Cortas, and my email is sami.cortas@gmail.com. Of course this would be done in the context of the VFPX framework.

Thanks

Sami Cortas