Cgidev2
# Cgidev2

CGIDEV2 is a free and open source IBM i (formerly known as AS/400) based program development toolkit that facilitates the development of interactive web-based programs using RPG ILE or Cobol (using the older CGIDEV version) as the back-end Common Gateway Interface language. The functionality of this toolset is incorporated into an RPG ILE program by means of a service program that contains all of the procedures required to read input from a browser, generate and send the appropriate response back to the browser. CGIDEV2 is commonly used to generate static or interactive HTML/DHTML pages but it can also produce CSV, XML, Excel-XML and other text based files.

## Overview

CGIDEV2 was developed by Mel Rothman while he was with IBM Rochester. It was released to the public in 1999. The product was maintained and promoted by Mr. Rothman and Dr. Giovanni B. Perotti of IBM Italy, who have added enhancements, documentation and code samples to the package. When Dr. Perotti left IBM, the company at first refused to allow him to maintain the product, then later relented. Because the product is written in RPG ILE and comes with complete source, end users have also been able to contribute enhancements to the package and modify it for their specific requirements. In addition to Perotti and Rothman, CGIDEV2 has been enhanced, promoted, or discussed in detail by Brian May, Jon Paris, Susan Gantner, and Brad Stone.

Unlike most web solutions for the iSeries, CGIDEV2 is neither a terminal emulator or an SQL based solution. CGIDEV2 effectively extends widely used RPG programming language with specific procedures for the web. This permits an iSeries programmer to continue to use all of the familiar tools and techniques that they are accustomed to as they develop interactive programs for the web.

A particular feature of the CGIDEV2 toolkit is that it allows the programmer to isolate the HTML in one or more external template files from the executing CGI program, with special tokens in the HTML templates being replaced at run-time via toolkit procedures. This separation of the HTML code from the CGI program promotes the efficient and consistent development and subsequent maintenance of enterprise scale business applications.

## Criticism

While CGIDEV2 is a popular choice as a web development languages for RPG programmers on IBM iSeries systems, CGIDEV2 lacks in some features offered by other web development languages such as session management and the ability to design programs using object oriented design principles. IBM's ambiguous commitment to the CGIDEV2 product and to the iSeries in general is also an issue to some users.

