Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VFP 7 in MSDN Subscription pamphlets
Message
General information
Forum:
Visual FoxPro
Category:
Conferences & events
Miscellaneous
Thread ID:
00565973
Message ID:
00568320
Views:
36
To all,

Applications should be designed so you get the best of both worlds. You can have a main VFP application that is file share for local network users and a www pages that hook into it so people on the web could have access to the part of the application they need. This would allow the local folks to use the beautiful VFP forms. Since the objects in the forms are bound into the database tables, you have added functionality like the ability to switch indexes, use incremental searches, scroll up and down grids or tables while adding and editing records. This can all be done on the fly. Error checking like referential integrity can be done in real time.

The main disadvantage of web based applications is that 98% of the people using the web are limited to a 56K bandwidth. This is to slow for a file share or client/server arrangement and thus the stateless threaded environment was created. Threaded connection reminds me of the saying [Hanging by a thread]. The threaded connection is thin and error prone. There is a lot of added complexity between a remote web user and the web server being access that is not present in a local network connection. If the user exits the browser or switches to another page without doing a submit, nothing happens on the web server. A good rule of thumb is to trust nothing in a web stateless environment unless it has been written to the disk. Also, duplication errors can occur when the user hit the submit button more than one time. When a cluster of server are being used to host a web site, errors can occur when transactions require multiple submits. For example a memory array created on one server during an initial submit would not be found by another server responding to the first thread. Therefore, in the stateless web environment it is important that everything be done in one trip to the server. In a VFP file share environment, each new PC share the workload. Because all processing takes place on the server in a web server environment, if you need more power you add additional CPUs to the server, or you can add a new server that would become part of a cluster of servers acting a one computer to host the web site.

Even though the web is extremely immature compared to a robust programming language like VFP, it is a good way to allow remote users to access only the part of an application they need. For example web pages could be developed to allow web users to shop and order merchandise. The web page would use HTML as the primary language because it is the only language universally understood by web browser. HTML is good at displaying text or graphic info but cannot add 1 + 1 = 2. The HTML code could be wrapped into any number of other middle tier languages like VB, VFP, Perl, Java, etc that would perform the business logic, write info into the database tables, etc., and then return the output to a browser in the form of a stream of HTML. The browser would then display the output. Languages like Perl and Java currently have an advantage over VB, VFP, or .net because they are portable and run under WINDOWS, LINUX, UNIX and many other software/hardware systems. If you plan on running .net in an enterprise environment you are talking about becoming a strictly windows shop, because it needs Microsoft's Web Server. Microsoft plans to make C# portable but such things can take a long time. I also think Microsoft will add C# capabilities to it browser so web code could be process on the user browse. However, the current 56k speed is a serious limitation. Can you imagine pulling a 10 Meg application over the 56k connection so it could execute on a client’s browser. Java currently can perform application on a client’s browser, but the 56k-connection speed impedes it as well. Using web based Intranet connections would overcome the limited speed problem, but you would still have the problems associated with treaded processing. Threaded processing is very scaleable because nothing happens until a link or submits object is executed at which time the server creates the thread to deliver the page. However, you give up to much in the form of functionality provided by a language like VFP including all the net stuff it does to make handling data fast and painless. If FoxPro is not scaleable enough to handle the local network, you could change to Microsoft SQL Server as a backend server and use one or a combination of any of the other languages as the front end including VFP.

VFP is a full-featured programming language. It is my programming language of choice. It comes complete with a supper fast native database engine. It is a value that hard to beat. Compare its cost to the cost of buying a complex enterprise class database that requires additional outlays for the front end programming language. When you consider the additional cost in terms of money, time, energy and aggravation of programming a front end product, you can then truly appreciation all VFP provides.

Leland
Leland F. Jackson, CPA
Software - Master (TM)
smvfp@mail.smvfp.com
Software Master TM
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform