Web Application Architectures

There are essentially only two ways to access databases over the Internet: 1. Using Web browser (and forms) as the client. That is, to develop web forms applications using web server backend tools. This architecture typically relies heavily on the CGI gateway. This approach grants access to anyone with a web browser. 2. Using a programming language such as VB as the client. This alternative permits you to use the development tools that you are familiar with, like VB, VC, Powerbuilder or MS Access. You can develop your application on a local database, then deploy the application using the Internet to access your database.

In addition to the above primary access themes, there are multiple variations on these themes including:

For the purpose of this discussion only the first two scenarios will be considered.

Using a Web Browser as the Client

The formatting capabilities of the browsers are relatively powerful, but do have some limitations. Documents are formatted by the browser to fit the display area, so the HTML documents must be designed to be displayable in any reasonably sized window.

Data entry is made possible by using 'forms'. These can include radio buttons, push buttons, pull down pick lists and user entry fields of any size (single line or scrollable text areas). When the form is submitted by the browser to the server, the data entered in the form, the position of radio buttons, and which button may have been pressed to submit the form are all passed as parameters to the server which in turn will pass this information to the CGI program which will process the data.

The only data entry validation which can be done when the user enters data is to place items in pick lists and/or to limit the length of the data entered. Any other validations must be done by the receiving CGI program when the form is submitted, or through the introduction of a scripting language such as Java Script or VB Script, which would enable some additional client-side validation and control.

The form may originally have been loaded (sent to the browser) from an HTML document file, or may have been generated by a CGI program.

Using a Programming Language such as VB as the Client

An alternative to using a standard browser is to use a Visual Basic application as the Client. This application would be written for a specific application and would appear to the server as if it were a normal browser. Data entered via the VB client program is sent to the HTTP server in the same form as a Browser would have sent it, data from the server would be processed and/or displayed by the VB client.

However, since the data entry is being handled by the VB application, the entry form can include any of the elements allowable in VB, and some entry validation can be done at entry time by the application. In addition, while normal processing would probably mean that the data entered is only sent when the form has been completed, the VB application could send data at any point during entry for processing/validation/data retrieval by the CGI program.

Data returned from the CGI program via the server can also be formatted or processed in any way required by the VB Client since this aspect is no longer limited by the capabilities of a browser. An additional advantage is a speed gain, since the returned data does not need to include the HTML formatting code or any of the image data - the formatting would be done by the VB program and any images would be part of that program.

Alternatively, one can write VB application that bypasses the Web (or FTP, etc.) server and talks directly to the database connector by deploying Windows sockets. Of course, this would require low level calls the WinSock layer to manage the connection. This is the application architecture deployed by most Internet mail client packages such as Eudora.

Browser vs VB as a Client

There are advantages and disadvantages to either type of client. The best client to use would be dictated by the business objectives of the application. Moreover, it is important to note that both the browsers technology and the application development tools are undergoing rapid change, incorporating each others strengths. Thus, what might be lacking in one tool today may well be a feature of that tool next week.

A summary of the advantages/disadvantages of these client programs based on today's technology is presented below.

Programming Considerations

Programming for this new environment requires some restructuring of the traditional windows programming approach:

Skill Sets

Choosing and building the right Internet architecture means taking into account your existing application development skills and hardware support skills. Factoring in existing skills may prove to be more important than any of the architectural components. If you have VB skills in house, then it makes sense to deploy an Internet strategy that leverages those skills. The cost of not doing so may mean additional training and support costs.

Back to The Technology Page

Return to The Homepage