Home Products & Downloads Support Education COBOL Links Contact
Evaluation Software Downloads
Distributors
COBOL sp2
COBOL FormPrint
Thin Client
Web Client
Flexus COBOL Add On Tools
Active X Control Support
JPG Image Display and Printing Support
AdvLineP Printing Emulation Support
SMTPSimple COBOL E-mail Support
APISimple WinAPI Support
TCPSimple TCP/IP Socket Support
MultiDrv Multiple Windowing Support
ListView Control Support
Registration for Support
Contacting Technical Support
COBOL sp2 Changes Log
COBOL FormPrint Changes Log
Thin Client Changes Log
Flexus FTP Sever
Flexus List Server - User Forum
Flexus Web-based Helpdesk Support
Migration Solutions
Annual Maintenance
Authorized Flexus Consultants
Flexus COBOL Tools Product Training
COBOL Education and Training
Books on COBOL
EBCDIC to ASCII Conversion
COBOL Compiler Company Links
Third Party Tools for COBOL Programming
COBOL Web Pages
COBOL USENET Newsgroup - COBOL Forum
*item0-4*

The Flexus Web Client, Web Browser User Interface Screens Using 100% COBOL

A Brief Summary of Web Client

COBOL applications based on HTML and CGI are usually difficult to design and build for two reasons.

First, the server-based application code which is responsible for processing user input only runs when the user clicks on a submit button and, as soon as a new web page is displayed, the code terminates.  This means that it is usually impossible to write a normal program which stays in memory while it processes data from several screens in a row.

Second, data must be merged into complex HTML code in order to display the information in a web browser and then data input by the user must be extracted from the CGI environment in order to process it.

The Flexus Web Client solves both these problems.  Web Client it allows regular (resident) COBOL programs to be used in conjunction with HTML and CGI and it hides the intricacies of HTML from your COBOL code.  More importantly, Web Client allows existing COBOL applications to be migrated into an HTML/CGI environment without completely restructuring the application.  If you have an existing COBOL sp2-based application, the transition to a web browser user interface even easier.

HOW IT WORKS

The following diagrams depict how the Flexus Web Client works.

Figure 1

Client Machine has pre-Installed Internet world wide web browsers.

Because Web Client uses generates standard HTML and JavaScript, it produces a web browser interface which is browser independent.

The allows for the use of all web browsers which support HTML and JavaScript, including Opera and Safari, although we show only the two most popular browsers in the diagram to the left.

Figure 2

The local client machine establishes a network connection to their internet service provider.

This is not necessary if the local machine will connect directly to the application server or if the local client machine has access to the Internet through a local area network.

Figure 3

The end user on the local client machine types the universal resource locator (URL or web address) of the base HTML page.

The COBOL programmer has generated HTML (Hypertext Markup Language Source), JavaScript and CGI Script (Common Gateway Interface) code from the COBOL sp2 panel definitions and loaded them on the application server.

Web Client can also be configured to generate the code dynamically.

Figure 4

The web browser submits a request to the remote server.

The request is for the standard web page which was generated from the COBOL sp2 web client code generator template.

Included in the web page is generated CGI script designed to launch the SP2CGI.EXE program which resides on the application server.

Figure 5

The SP2CGI.EXE program launches the COBOL program on the application server and awaits a CALL to COBOL sp2.

When the CALL occurs in the COBOL program, the COBOL sp2 dynamic link library (SP2.DLL) communicates with the SP2CGI.EXE program to send the appropriate web page to the web browser on the client PC.

Figure 6

The generated web page includes CGI Script which allows the web browser to send data to and receive data from the SP2CGI.EXE program.

This creates a two-way communication between the web browser on the client machine and the COBOL program on the application server.

Figure 7

Because the HTML and CGI Script are generated from a template-driven code generator, the code can be completely customized in any manner desired.

This can include Javascript, DHTML or XML code in addition to or instead of the generated HTML and CGI Script.

Web Client even supports the ability to display your web browser user interface screens in the very powerful and sleek Macromedia Flash MX format.

Supported Server Platforms Include Windows, UNIX, Linux, VAX/VMS or Open VMS Server

Although Windows is the overwhelming choice for the user interface environment on the desktop, the power, stability and reliability of UNIX servers is unsurpassed.  Because of this fact, in addition to our support for Windows-based server machines, the Flexus Web Client can support powerful UNIX-based web server platforms.

Flexus offers this support to provide you with the ability to choose the server platform which best suits your needs.  And because we provide you with encrypted source code, you can implement the Flexus Web Client on virtually any UNIX or Linux server imaginable……even mainframe Linux servers.  Flexus has been offering UNIX-based solutions since 1987.  We have a wealth of UNIX experience and have yet to find a UNIX platform which we are unable to support.

Many companies still use the very powerful and reliable VMS based operating system.  Flexus also supports this server platform with Web Client.

Generate HTML Directly from Your Existing COBOL sp2 Panel Definitions

Flexus provides you with a special version of our sp2.cbx code generator template file.  The Web Client version of the code generator template file allows you to create HTML-based web pages directly from your panels by running the COBOL sp2 code generator against your panel file.

Automatic BMP to JPG Raster Image Conversion Tool Included

If your COBOL sp2 application uses bmp images, Flexus includes a conversion tool to allow you to convert your BMP files directly to JPG image files. 

Automatically Generate HTML Web Pages at Program Execution Time

The Web Client supports the ability to run your COBOL application without pre-generating html code from your panels.  Web Client can be configured to generate HTML source code dynamically.

Normally, it is best to pre-generate HTML because it avoids any delay at runtime caused by having to generate the HTML dynamically.  It is also possible to dynamically reset the lists of items for listboxes and comboboxes.

If it is not practical to pre-generate the HTML, because you're dynamically generating panel definitions from your COBOL sp2 program, for example, the HTML can be generated dynamically. 

Two Solutions for the “Web Browser Back Button” Problem

In a browser environment, the user is more-or-less free to load up whatever page he wishes.  He might do this by clicking on an HTML link, typing in the name of a new page, or by clicking on the back button or selecting a previous page from the history list.  It is possible that either of these last two actions might cause problems for your program. This is because your program is waiting to process a particular page (panel) and the user might click on the back button and submit a page (panel) that has already been processed.

The Flexus Web Client offers two solutions to this problem:

The default action displays an out-of-sequence error message when the back button is pressed.  It works like this:  When a page is loaded that has already been processed by the Flexus Web Client, the page is automatically resubmitted, sp2cgi.exe detects a page out of sequence and resends the current page with an error message.

You can also set a Web Client configuration variable which causes the Web Client to return the ASCII decimal value for the escape key (27) to your program.  This in turn, allows you to send out whatever page is appropriate.

Cursor Positioning Supported

Cursor positioning is done using javascript and the hidden field  "sp2focus".  The Web Client places in this field the name of the field to receive the focus and looks in this field to retrieve the name of  field which last held the focus.

HTML Links Supported

HTML links can be generated for a panel when the COBOL sp2 field is defined with specific properties set.

Timeout Supported

Web Client supports the ability to specify the length (in minutes) that the various components of the Web Client should wait for a response from the end user.

HTML Frames Supported

Web Client supports the ability to specify frames for your web pages as well.

Multi-Panel HTML Pages Supported

Web Client supports that ability to string together HTML from multiple panels to produce scrollable web pages or on-line reports.

Ending a Web Client Session

Normally, a Web Client session is ended when the user responds to an html page and your application issues an end-session call and terminates, resulting in the display of a "session ended" message or the HTML in the file sp2endss.htm.

Sometimes this arrangement is not optimal.  For example, you might display a page that doesn’t really need a response from the user - a report or something.  If the user fails to respond, your application will eventually timeout based on the settings in sp2cgi.ini but, until this happens, your application is taking up system resources unnecessarily.

To avoid this situation, you can force the session to end directly from your COBOL application.  When you make the end- session call with Web Client, nothing further will be displayed and the application can end normally.

Offline HTML Output

Web Client supports the ability to produce HTML output outside of a webserver environment.  A Web Client program can be used to do this as  long as it doesn't attempt to accept any user input.

Macromedia Flash MX User Interface Screens Supported

Flexus has a rich history of adding exciting and useful new features to our development tools ever since we released our first products back in 1986.  We have been a pioneer in providing COBOL programmers with state-of-the-art capabilities to help them write the most sophisticated COBOL applications possible.  We were the first COBOL programming tools company to support GUI screen display, Active X component display, JPG image display, Windows Print Manager printing support, Internet Thin Client support and a host of other very important features.

We’ve done it again with our Web Client product!  Web Client now allows the programmer to utilize the power and flexibility of Macromedia Flash MX data entry forms and animations.  This will allow you to write web browser independent applications which only pass a minimal amount of data from the server to the client machine.  That makes your web browser-based applications much faster.  In addition, your applications will have that very modern Flash appearance, be able to display opening animations for marketing purposes and keep your COBOL application completely web browser independent.

Please see Figure 8, on the next page for a screen shot of a small web browser based survey application we recently implemented.

Figure 8

The screen shot to the left shows a Microsoft Internet Explorer Web Browser session running a COBOL application written with the Web Client. 

The application utilizes Macromedia Flash MX for the creation, display and control of the user interface screens.

As you can see, Macromedia Flash MX can make your web browser based user interface screens very modern in appearance.

Run BOTH the Thin Client and Web Client with the Same Application

Figure 9

Sometimes your application has to be available in BOTH a Thin Client mode for high speed, efficiency and user interface robustness as well as a Web Client mode for universal access from any client machine with Internet access and a web browser installed.

Flexus has a great solution for these situations as well.

Flexus COBOL Tools allow you to  run both Web Client and Thin Client in the same application.  It makes perfect sense, works flawlessly …and it’s all done using 100% COBOL source code.

The Type of COBOL Programmer Who Should Use Web Client

COBOL programmers who fit the following criteria would benefit greatly from the use of Web Client.  This includes programmers who are interested in:

·         Maintaining a single set of source code and running is stand-alone or across the world wide web

·         Increasing their productivity

·         Developing web browser user interface systems without learning a new language

·         Adding web browser user interface display capabilities to their COBOL applications

·         Reducing future maintenance efforts

·         Migrating their COBOL user interface to other operating systems

·         Having the greatest amount of flexibility in a COBOL web browser user interface tool

·         Getting away from the proprietary compiler solutions for web browser-based applications

The Benefits of Using Web Client

·         For the COBOL sp2 user, Web Client supports virtually instant support for web browser-based programs

·         Dramatically less overhead and expense than using compiler-based web browser user interface solutions

·         Supports the stability of UNIX server environments combined with the popularity of web browser user interface clients

·         Supports the ability to run the same COBOL application with a Win32 interface as well as a web browser interface across TCP/IP

·         Supports the ability to switch COBOL compilers without changing screen-handling source, screen definitions, print-management source or form definitions

·         Supports the ability to run your user interface on non-COBOL GUI client platforms such as Linux KDE, Linux Gnome or Apple Macintosh client machines

The Hazards of Using Visual BASIC, C++ or Java for GUI Implementation

COBOL was designed to make business applications easier for large programming staffs to maintain. The acronym COBOL stands for "COmmon Business Oriented Language." The C language was developed by system software experts for developing system software. The C language is generally considered a lower level language. Most large companies have worked very hard to avoid the use of lower level languages in application development because of maintenance difficulties.

The Acronym, BASIC stands for "Beginners All-purpose Symbolic InstruCtion Language." Your programs must meet the demands of a mission critical application. It doesn't make sense to use a "beginners" language for the user interface in a professional application.  In addition, Microsoft has a rich history or requiring programmers to re-write substantial portions of a Visual Basic application when upgrading from one version of Visual basic to the next.  You should never be forced to re-write your business application simply because a programming tool vendor decides to make dramatic changes to their programming tools.

Java is very similar in nature to C++.  It is event driven, far more cryptic than COBOL and interpretive.

Using C, C++ Java or Visual Basic with COBOL results in the same headaches as using API code with COBOL. For example:

·         Using C, C++ Java or Visual Basic with COBOL results in "mixed language" maintenance and debugging headaches.

·         Your mixed language source program may not be as portable as your COBOL source program.

·         C, C++ Java and Visual Basic compilers use event driven methodologies, not procedurally driven methodologies.

·         Using C, C++ Java or Visual Basic for your user interface will result in extensive and costly staff re-training.

Risks Associated with Purchasing Web Browser Tools from Your COBOL Compiler Company

The primary reason you should purchase Web Client instead of a client/server tool from your COBOL compiler company issue is that your compiler company specializes in COBOL compilers, not the associated toolsets. Flexus has always specialized in COBOL development tools, NOT compilers.  Most people wouldn't ask their attorney to perform surgery nor would they allow their surgeon to represent them in court.  Why would you rely on a company which specializes in COBOL compilers to provide you with the best development tools?  If you use a web browser user interface enabling tool from your compiler company and then need to switch COBOL compilers at a later date, you will probably be required to rewrite a substantial amount of code.  Can you afford to re-write a considerable amount of your COBOL source program next year, when your compiler company changes to a completely different web browser user interface tool?  Compiler companies have also come and gone.  One company, for example, started selling a COBOL compiler a few years ago, and eventually discontinued it.  The company then licensed a compiler from a second company and sold it.  Eventually that COBOL compiler was also discontinued.  If you buy a client/server tool from your compiler company, you are locked into their compiler. Can you take that risk?

Flexus designs and develops tools for PC, Mini and Mainframe COBOL programmers. We focus 100% of our energies on offering the best tools available to the COBOL programmer. COBOL tools are the only thing we do, so we have to do them better than anyone else. COBOL compiler companies specialize in what they know best... COBOL compilers. We specialize in what we know best... add on tools which are 100% COBOL oriented.

Flexus…In Business Since 1983 and Still Going Strong

Flexus was incorporated in 1983, so we've been around for a while and intend to be around for a long time. Flexus has thousands of licensees in over 30 countries around the world.

No Need to Re-write Your Source When a New Environment Becomes a Standard

Nobody can provide you with a guarantee that their system won't become obsolete. Flexus has the best track record in the COBOL tools business against source program obsolescence.

Flexus offers the most portable, adaptable COBOL tools available. Some compiler companies have introduced user interface tools only to discontinue support for those tools later. That means their customers were forced to re-create all of their source programs and screen definitions. We don't do that to our customers.  Any COBOL program developed with any version of our COBOL development tools has always been upwardly compatible and adaptable:

·         across operating systems,

·         across text to graphical user interfaces

·         across COBOL compilers.

Flexus, an Uninterrupted History of Continuous Software Upgrades

Ever since our first COBOL programming tool was released back in 1986, Flexus has provided a continuous stream of major enhancements and major version changes each and every year.  In addition, Flexus has always provided an upward migration path for our customers so that it is unnecessary to expend time and money in major source code re-writes.

NO OTHER COBOL tool vendor can make the same claim!  Some COBOL tool vendors waited for many years to release new versions of their products. Others performed a complete re-write of their COBOL tools which required their customers to completely re-write their source code.  We believe that customers should NOT have to wait years for major new enhancements, nor should they ever be forced to re-write their applications to take advantage of a new environment.

Web Client has been continually enhanced to provide new features

Future Upgrades and Enhancements to Existing Web Browser User Interface Features

Flexus has always taken great pride in continually offering COBOL programmers real solutions for modern COBOL application development challenges.  Flexus has been a technological leader in providing new features to COBOL programmers and supporting the latest operating systems and environments. All Flexus products have constantly evolved to offer advanced capabilities to the COBOL programming community.

Flexus Technical Support Services Programs

We offer great technical support services…..just ask any of our customers.  The following services are included in our standard license fee and available for renewal for a fixed annual maintenance fee 12 months after the initial; purchase:

·         unlimited e-mail technical support services

·         an online community of our customers which we refer to as the Flexus List Server

·         an FTP server to allow you to download the latest version of our software 24 hours per day, 7 days per week

We believe that a software product is only useful if technical support is excellent. Ask any of our customers. They'll tell you that we offer high-quality technical support.  We’re also on East Coast time……so you don’t have to wait until the afternoon for our technicians to respond to your e-mail inquiries.  You can usually get an e-mail reply from us very quickly. We always make every effort to respond to your technical support inquiries as quickly as possible during the normal Monday through Friday work week.

Please give us a call, send a fax or E-Mail if you have additional questions that we didn't answer here.


flexus
A Company of Interex Software, Incorporated
P.O. Box 640, Bangor, PA 18013-0640, U.S.A.
Telephone: 610-588-9400
Telefax: 610-588-9475