Up
Why Deploy on the Web?
Architecture for Web Deployment
Configuration
Security
Deploying an Application
Improving Your Application Interface

 

Why Deploy on the Web?

Deploying your 4GL applications on the Web offers the following benefits:

  No need for special programming
You can deploy your existing 4GL applications on the Internet or an Intranet.
  Preserve application appearance and functionality
You can run your Dynamic 4GL application on the Web as easily as you can run it on your local machine. 
  Ability to configure the user interface
You can customize your application's user interface to optimize it for display on the Web.
  Consistent application and database development
You can create applications for deployment in different environments using only one tool; you can reuse your existing application logic; you can use the same database for all of the environments in which you deploy your application.
  Security
You can take advantage of options like firewalls and SSL (secure socket layer) in addition to preserving the security features in your original application.

Limitations

Some limitations appear due to Web technology. With your ASCII 4GL, each character is analyzed as it is typed. With local editing in Dynamic 4GL, each field is analyzed on the display server and transmitted to the runner when the field is completed. With Dynamic 4GL applications deployed on the Web, each page is transmitted to the server, which has the following effects:

Only the top-level window is visible and it appears as one HTML page. Popping up a sub-window therefore creates a new page, and only the information displayed on the sub-window is visible to the user.
The ON KEY actions do not work during input statements because the Dynamic 4GL program does not see the individual keystrokes. For the same reason, the COMMAND KEY options in menus also do not work.
The BEFORE FIELD and AFTER FIELD clauses have no effect on the input sequence. The Dynamic 4GL program receives all data after it has been entered. This also means that NEXT FIELD has no effect, and that displaying the results of lookup data has no effect, either. You can use the BEFORE FIELD and AFTER FIELD clauses to validate the entered data, but there are limits on what you can do when the data is incorrect.
The SLEEP statement without interaction has no effect.
The PROMPT statement has no effect.
The DISPLAY, MESSAGE, and ERROR statements only take effect when the user interacts with the program, such as when an INPUT, INPUT ARRAY, DISPLAY ARRAY, CONSTRUCT, or MENU statement is used.
RUN WITHOUT WAITING can be used, but it cannot be used to start a new Dynamic 4GL program which interacts with the user via the web browser. The user must decide to access the new program.

Enhancements

There are additional enhancements that you can add to your applications:

Customized page headers and footers
HTML tags in the screen portion of the form
HTML tags as labels
HTML tags in your 4GL modules

These enhancements are described in Deploying a Sample Application.