How can IBM i applications be modernized and brought in line with evolving enterprise expectations for user experience and extensibility? Much of the software for the platform still runs code from the 1990s, which is understandable given binary compatibility, but the truth is that the standard “green screen” isn’t state-of-the-art anymore.
As such, organizations are seeking to move on and update IBM i applications with backends, frontends, and controllers that more closely address mobile devices and the web. Fortunately, there are many available tools—some of which even ship with recent versions of IBM i—for revitalizing code and user interfaces. Moreover, it’s easier than ever for companies to use high-level languages such as Java, Perl, and Ruby to enrich the functionality of their software so proven backend processes can be kept in place while improving the frontend look and feel.
Why Modernize Applications?
Businesses want to make software usable 24/7. To that end, they’ve paid close attention to mobile devices. Smartphones and tablets have raised the bar for user experience, enabling high-quality access to data and applications at anytime, from anywhere. Naturally, organizations now look to leverage these endpoints and extend IT services beyond the traditional boundaries of the enterprise, with the goal of making IBM i applications fit comfortably into ecosystems increasingly characterized by software-as-a-service and modern development frameworks.
On a technical level, this push for modernization often entails the restructuring of applications in modular, reusable components that can easily interact with other technologies. For example, traditional offerings typically follow an “everything in there” design, in which business functions are tightly integrated with applications and proprietary interfaces restrict reuse. Modernization—which stakeholders should begin thinking about even with version 1.0 of a program—takes a different tack, making software more flexible and tunable to business requirements. It confers a number of improvements:
- Better user experiences – intuitive graphical interfaces take the place of the green screen and appeal to a younger work force
- Flexible code – modularization overhauls the monolithic legacy code still at the heart of many IBM i applications
- Modern database design – some databases were designed in the 1980s and haven’t been optimized since then
- More productive programmer environment – new languages and frameworks can be introduced to supplement older ones such as RPG and COBOL
The last benefit is noteworthy because, with these more recent tools, development teams can re-architect applications to more closely target a given audience. A modern IBM i application, for instance, usually exists in a mixed environment with backend business logic in a variety of standard IBM i languages (RPG, CL, SQL), a controller implemented in an object-oriented language such as Ruby or Python, and a frontend that’s been freshened up with graphics and charts.
Tool Sets to Improve IBM i Applications
In addition to these broad new paradigms for constructing applications, there are some specific tools that IBM i developers can use to modernize their processes. Some of these amenities, such as the open source Zend solutions, ship with certain versions of IBM i:
- Rational Developer for i provides a graphical interface that enhances programmer productivity.
- Rational Open Access RPG Edition enables user interfaces to be extended. Contents of an I/O buffer can be dumped to an external program, changing the way the application looks and enabling better communication between technologies.
- Zend Server Community Edition for i ships with IBM i versions 7.1, 6.1, and 5.4. Zend DBi is a MySQL implementation for IBM i, and Zend Studio for i is an Eclipse-based development environment.
- JTOpenLite enables Java frontends on IBM i. Accordingly, mobile devices can call IBM i applications and access files.
There are plenty of other tools out there to help with IBM i application modernization, but no matter which you use, the result is the same: these tools allow you to ensure that your software is returning as much business value as possible and staying relevant in the era of mobile devices and the web.
In this recorded webinar, IBM’s IBM i Product Offering Manager, Alison Butterill, discusses some of the different modernization options available, taking a holistic look at language, infrastructure, tools, database, and methodology.