Original author(s) | Mel Rothman |
---|---|
Developer(s) | IBM Rochester |
Initial release | 1999 |
Stable release | 2020-08-01
/ August 1, 2020[1] |
Operating system | IBM i |
Type | Program development toolkit |
License | ? |
Website | cgidev2 |
CGIDEV2 is a free and open source[citation needed] 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
[edit]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[2] 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.[3] 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.[4][5][6]
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
[edit]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.[7]
References
[edit]- ^ CGIDEV2 Change Log
- ^ Paris, John; Gantner, Susan (June 2001). "An 'Easy' Route to Web-Enabling RPG Applications". Archived from the original on 9 May 2015. Retrieved 2 May 2016.
- ^ Morgan, Timothy Pricket (25 July 2005). "iSeries Programmers Irate Concerning CGIDEV2 Limbo". Archived from the original on 14 February 2015. Retrieved 2 May 2016.
- ^ May, Brian (23 December 2013). "Move Your Web Apps Forward, Part 1: Build a Basic CGIDEV2 Application". Archived from the original on 27 April 2016. Retrieved 2 May 2016.
- ^ Morgan, Timorthy Pricket. "iSeries Programmers Irate Concerning CGIDEV2 Limbo". Archived from the original on 14 February 2015. Retrieved 2 May 2016.
- ^ Stone, Bradley V. "e-RPG Supercharged: Free and Easy Web Enablement with CGIDEV2". Archived from the original on 7 May 2016. Retrieved 2 May 2016.
- ^ May, Brian (23 December 2013). "Move Your Web Apps Forward, Part 1: Build a Basic CGIDEV2 Application". Archived from the original on 27 April 2016. Retrieved 2 May 2016.
External links
[edit]- Official website
- The meaning of Easy400 as Open Source at the Wayback Machine (archived 2006-02-19)
- Change log
- ReadMe