A New Generation of IBM i Apps
The catalyst for this piece was an article written by Jon Paris and Susan Gantner, published in IBM Systems Magazine this month, titled 7 Keys to Future-Proofing Your RPG Applications. The keys were delineated as follows:
- Use Modern RPG Techniques (e.g. convert to free-form RPG IV, use proper names, use new language features).
- Establish a Reusable Function Library.
- Exploit Db2 and SQL (e.g. SQL may be best for filtered queries and set updates, RLA best for other).
- Modernize Your Development Toolset (focus on personal productivity).
- Enhance User Interface.
- Learn Another Language (broadens one's perspective).
- Exploit Open-Source Options (e.g. applications and frameworks).
I agree with the advice and most of the explanations supporting each tip. All of the keys were familiar to me, because they are not new to those of us who follow these author's writings. But doubts crept into my mind in regard to whether the advice would be sufficient to actually future-proof RPG applications.
Something major seemed to be missing. First, the article placed the onus on coders to up their game rather than on businesses to make strategic investments. Second, the question of whether code improvement and perhaps linear application enhancement would be enough to ensure the future of IBM i and its applications?
What About the Competition Against IBM i?
Various sources assert that the IBM i (and predecessors) ecosystem has been declining, perhaps since the late 1990's. It appears to me that this may be due to intense competition from business applications and database management systems that are based on Windows and Linux platforms, along with competition from mainstream language environments.
It appears that most ISVs and most IBM i shops have adopted platforms, language environments, and frameworks that compete against IBM i. That raises the question, how are the IBM i native virtual machine, native language environment, and legacy databases and applications stacking up against the competition?
What sort of expectations should we have about the future of IBM i applications in the face of such competition? Is there anything that we can do that would BLOW THE COMPETITION AWAY?
Legacy Modernization Initiatives
The legacy modernization tooling and initiatives that seem have gained the most traction (not really measured, but rather based on the level of advertising and talk surrounding) might be categorized as follows:
- Code conversion - fixed-form RPG III to Free-form RPG IV.
- Code conversion - RPG to more mainstream language environments.
- Data migration to DDL based tables, indexes, and views.
- Browser UI via screen-scraper.
- Browser UI via open-access handler and transformation of display files.
- Migration from record-level access to SQL.
Each of these initiatives have significant costs and down-sides. Most of them have been around in one form or fashion for perhaps 20 years. Altogether, they have not impeded the decline of the IBM i ecosystem. Due to negative side effects and poor ROI, some might argue that they have even accelerated the decline of IBM i.
It seems safe to say that none of these initiatives are blowing away the competition.
Bedrock Business Applications
ERP-class systems that have traditionally formed the bedrock for the IBM i ecosystem appear to have gradually transformed to platform-agnostic versions, or have migration paths to platform-agnostic alternatives. What would it take to persuade ISVs to develop new versions of such ERP-class systems, including systems that target vertical industries?
I have participated in discussions about creating an IBM i-centric ERP system, which was dubbed the name intERPrise. The general idea was to foment the establishment of an open-source community to contribute their knowledge, experience, and skills to a product that might disrupt migrations to platform-agnostic language environments, by providing superior competitive advantage. But progress on that initiative appears to be impeded by other priorities of some of the principals involved. What would it take persuade investors to jumpstart, or at least prod such initiatives along?
Open Questions
I don't intend the scope of this piece to include ideas of what it might take to ensure the future of the IBM i platform, by providing applications that blow the competition away.
I might address such ideas in follow-up articles. For now, let's just say that I question the adequacy of the modernization advice and methods that are most discussed. From my perspective, they seem to be inadequate as far as ensuring a future for the IBM i ecosystem and native applications. Rather, it appears to me that we need a new generation of applications that blow the compeition away.