Information Systems:IBM i open-source development conventions
Jump to navigation
Jump to search
This page outlines the conventions established for modern (post-2017) development on IBM i. While other, related articles are exploratory, this page will be kept to documenting stuff that is more-or-less set in stone.
Principles
- Python on IBM i will be used to develop business programs/software in place of RPG.
- Django will be the web framework used to make the front end of new programs.
- Python and Django together can thus be regarded as the decided platform of choice going forward for making new ERP extensions, in place of RPG/DDS (green screen programs).
- Whereas Python/Django is considered the software Python can and will be used to make standalone batch programs.
- Since Python/Django create web applications, new extensions can thus be also regarded as extensions/additions to Infonet.
- Infonet (or more accurately, the entire collection of WebSmart programs we consider the company intranet), will not be replaced. It will continue to run and be developed in WebSmart.
- Infonext (abbr. INX) is the proposed name for referring to the collection of new Python/Django programs that will be added to Infonet. The term will mostly be used internally to begin with, so as to not cause confusion amongst users.
- Despite being programmed differently (Infonet in WebSmart PML/RPG and Infonext in Python/Django), the users will interact with the site the same way. The concept of a web front-end (HTML/CSS/Javascript), which is common to both platforms, is what enables presenting it all as a unified site to the end user.
- In the back-end, Python/Django will not run on the built-in IBM i web server (Apache), as WebSmart does. This is for performance/compatibility reasons. Instead, an alternative web server will be used and Infonext programs will be accessed on a different port.
- The INX_D library will house data/tables used for INX programs. It will be automatically journaled (QDFTJRN) for compatibility with Django.
- The UWDX_D library will house data (tables) that is less directly involved with Infonet. This parallels the current conventions where we have WEBPRDD for data used in WebSmart programs and UWDASWPRDD for general extensions data.