Cgidev2

Last updated
CGIDEV2
Original author(s) Mel Rothman
Developer(s) IBM Rochester
Initial release1999;23 years ago (1999)
Stable release
2020-08-01 / August 1, 2020;22 months ago (2020-08-01) [1]
Operating system IBM i
Type Program development toolkit
License ?
Website cgidev2.easy400.net

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.

Contents

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 [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

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]

Related Research Articles

XSLT is a language for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG. XSLT 1.0 is widely supported in modern web browsers.

Zope is a family of free and open-source web application servers written in Python, and their associated online community. Zope stands for "Z Object Publishing Environment", and was the first system using the now common object publishing methodology for the Web. Zope has been called a Python killer app, an application that helped put Python in the spotlight.

HCL Notes and HCL Domino are the client and server, respectively, of a collaborative client-server software platform formerly sold by IBM, now by HCL Technologies.

IBM Db2 Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. They initially supported the relational model, but were extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.

CICS IBM mainframe transaction monitor

IBM CICS is a family of mixed-language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE.

Synon was a software company which, at its height, dominated the worldwide market for third-party application development tools for the IBM i platform. Its products continue to be used in that sector today, distributed and supported by CA Inc.

RPG is a high-level programming language for business applications, introduced in 1959 for the IBM 1401. It is most well known as the primary programming language of IBM's midrange computer product line, including the IBM i operating system. RPG has traditionally featured a number of distinctive concepts, such as the program cycle, and the column-oriented syntax. The most recent version is RPG IV, which includes a number of modernization features, including free-form syntax.

OpenEdge Advanced Business Language

OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programming language, uses an English-like syntax to simplify software development. The language was called PROGRESS or Progress 4GL up until version 9, but in 2006 PSC changed the name to OpenEdge Advanced Business Language in order to overcome a presumed industry perception that 4GLs were less capable than other languages. A subset of the language, called SpeedScript, is used in the development of web applications.

The IBM System z Application Assist Processor (zAAP), previously known as the zSeries Application Assist Processor, is a mainframe processor introduced by IBM in 2004. zAAP engines are dedicated to running specific Java and XML workloads under z/OS, accelerating performance. zAAPs are available for zSeries 990 and 890 servers and later zSeries and zEnterprise models. Beginning with the IBM z13, the zAAP functionality is integrated with zIIP processors.

The Darwin Information Typing Architecture (DITA) specification defines a set of document types for authoring and organizing topic-oriented information, as well as a set of mechanisms for combining, extending, and constraining document types. It is an open standard that is defined and maintained by the OASIS DITA Technical Committee.

WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product within IBM's WebSphere software suite. It was initially created by Donald F. Ferguson, who later became CTO of Software for Dell. The first version was launched in 1998. This project was an offshoot from IBM HTTP Server team starting with Domino Go.

Echo is a web application framework created by the company NextApp. The latest iteration, Echo3, allows writing applications in either server-side Java or client-side JavaScript. Server-side applications do not require developer knowledge of HTML, HTTP, or JavaScript. Client-side JavaScript-based applications do not require a server, but can communicate with one via AJAX.

Google Web Toolkit Free Java library

Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under the Apache License 2.0.

Google Developers is Google's site for software development tools and platforms, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.

IBM App Connect Enterprise is IBM's integration broker from the WebSphere product family that allows business information to flow between disparate applications across multiple hardware and software platforms. Rules can be applied to the data flowing through the message broker to route and transform the information. The product is an Enterprise Service Bus supplying a communication channel between applications and services in a service-oriented architecture.

Aldon is a business unit of Rocket Software. It develops, manufactures, licenses and supports software change management products for the enterprise application lifecycle management (ALM) and software change management (SCM) markets.

ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge.

IBM WebSphere Multichannel Bank Transformation Toolkit(BTT) is one of the software products in IBM's Websphere family.

Scott Klement, born January 28, 1969, in Milwaukee, Wisconsin is an American computer scientist, author, and speaker recognized as a top evangelist for IBM i on IBM Power Systems computers. For twenty-eight years, Scott served as the IT Director of family owned Klement's Sausage, which was sold to Altamont Capital Partners in 2014. In 2012 he left to work for Profound Logic Corporation. Scott is a member of the Strategic Education Team (SET) and a Subject Matter Expert (SME) at COMMON, the largest association of users of IBM compatible technology in the world. He has developed numerous frameworks and other open-source development tools, often works that make other technology accessible to the IBM i technology directly from RPG. Many developments by others, including Thomas Raddatz as well as IBM itself, make use of Klement's software in products of their own. His work in developing tools which open the i is widely quoted by others, including sockets and other tools in the book Hacking iSeries, and UNIXCMD, which allows PHP to access UNIX commands from a script. In addition, Klement was a frequent contributor to various Penton Media trade magazines.

References

  1. CGIDEV2 Change Log
  2. 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.
  3. Morgan, Timothy Pricket (25 July 2005). "iSeries Programmers Irate Concerning CGIDEV2 Limbo". Archived from the original on 14 February 2015. Retrieved 2 May 2016.
  4. 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.
  5. Morgan, Timorthy Pricket. "iSeries Programmers Irate Concerning CGIDEV2 Limbo". Archived from the original on 14 February 2015. Retrieved 2 May 2016.
  6. 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.
  7. 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.