IBM i has evolved over the years. Begun as an AS400 server series, the IBM iSeries and Power Systems come with many useful features the users cannot stop raving about. In the past, AS400 supported only green screen applications.
The standard user interface (UI) for this world-famous system was a rectangular screen 80 characters wide by 24 lines high. The presence of an abundance of monochrome cathode ray tubes (CRTs) using P1 phosphor, resulted in the term ’green screen’. Since then, green screens show up in many online mainframe-based applications.
It was in the mid to late ‘90s, when IBMI AS400 was introduced to a new UI known as the “Graphical User Interface,” or GUI. The GUI was invented for distribution-based applications and it was not limited to 80 x 24 characters. The GUI provided a lot more space and features. New developers started taking interest in GUI based applications and customers saw it as more user friendly and interesting. Soon, green screen UIs began to lose their popularity and GUI’s began to take over. Graphical User Interface is not only attractive but they enhance the user experience and usability of the application.
UI modernization approaches
The green screen UI looked dull and more like a complex interface that only geeks could love. This complexity motivated developers to look for user friendly interfaces. This figure shows the history of popular approaches to UI from the early 1990’s.
Of all the approaches or methods shown in the chart, APIfication and UI frameworks are the latest and the most trusted methods to modernize IBM i applications. Modifying legacy IBM I application to the latest version is recommended because the current state of IBM i has many extraordinary features.
As already stated above, application modernization has been used heavily since the 90’s. Today companies are using IBM i7.4 that has modified screens and features. There are a handful of popular steps to application modernization that focus on a combination of micro services architecture, cloud migration, and exposing an application’s functionality via API.
The AS400 application can be modernized using cloud-native techniques, such as microservices, docker containers, decoupling, data analytics, artificial intelligence, and machine learning services.
Dividing into microservices
Application modernization can also involve dividing or breaking down a legacy application into a collection of smaller components or microservices.
In the illustration, a single application is divided into a collection of microservices or individual services within the app. Each service would have their own database and data model.
Mostly the strangler pattern is followed when dividing the application into parts. Instead of breaking down the monolith application all at once, the application is divided part by part.
Cloud migration is one of the modernization processes that involves microservices, re-platforming or re-hosting. During this process, IBM provides a nest migration approach to your enterprise. Cloud migration for your IBM i application involves a complete plan, various migration options and ROI calculation.
Expose functionality via APIs
A legacy IBM i application can be enhanced by securely exposing its functions or data via APIs without hampering its existing code. This approach enables new, cloud native applications to leverage the capabilities of existing systems and data.
How does APIfication work in modernizing AS400 applications?
APIs on legacy systems are represented as REST APIs that share the required information with external users. To modernize the legacy systems or UI, organizations are using web frameworks such as Angular, React, or Vue. The new screens created using these frameworks help enhance communication with the legacy systems using REST APIs.
Benefits of APIfication and frameworks:
This implementation provides a future ready architecture for the application as it uses lightweight services and APIs
- The application developed is componentized and modular
- There is proper vendor support for exposing programs as API
- The developers must use AS400 for exposing microservices
GUI using Angular Framework
Angular is a typescript based open-source web application framework. The applications developed using this framework are very progressive, faster and user friendly because of the spot-on UI features. The components of an Angular application include: view, styling, and controller/model. These three components define the entire application. Modular framework is essential as it extends the application’s capabilities.
For application modernization, layered architecture is recommended, and Angular framework is one of the best when layered architecture development is required. Middle processing tier is counted as the most important in a multi layered application. It is important because it acts as an API gateway, handles security and adopts validations. Modernizing an IBM i application also involves development using Java, Node.js or Python.
The middle tier needs to be connected and for this the RPG logic has to be exposed. IBM IWS is used to expose the logic in the form of REST APIs.
IBM is pushing companies to modernize their green screen RPG applications to Java/J2EE. Organizations are opting for other options, such as ASP.net, but most of them are trying to follow the IBM road map that clearly indicates migration to Java.
Java as a language tends to promote better separation of code. In general, Java offers everything as a service program, where all parameters are passed with VALUE set, OPTIONS (*no pass: *omit) is disallowed, CONST is generally recommended, and most parameters are of type DS (data structures) and passed around by pointer.
The green screen applications built in RPG/Cobol are now being easily migrated to modern platforms or open environments like Java. Many developers try to rewrite entire pieces of code in Java, but this procedure has resulted in poor outcomes because RPG is the language of IBM i and for mission critical and enterprise applications there is no other option than RPG. Enterprise Applications can be modernized by leveraging the talent of RPG coders with the help of REST APIs. And this is the best way to switch from legacy to an open world.
RPG Open Access for application modernization
Many IBM i businesses have at least one application that is key. It is often a RPG application that they have been using for years and has been customized and enhanced over the years to enable the business to deliver its unique value to its customers. Although, this application does many things that the business needs, the application cannot generate a modern graphical user interface that the business needs. To meet the latest needs, businesses might consider rewriting or replacing their application. But major drawbacks in doing so arise and can include:
- Keystone applications written years ago have hundreds of thousands of lines of code, so rewriting it is too expensive and too time consuming
- A prewritten package can be an option, but it is often not able to offer the unique software features the business needs to maintain its competitive advantage
- Tweaking/changing the prewritten package to provide those features can be expensive. Therefore, the keystone application is tough to replace
So, after considering all the above options, an effective IBM i application modernization is the answer to this common business problem. IBM Open Access provides a more effective and pleasing user interface for keystone/old or legacy applications. This strategy has made application modernization a strategic, long-term solution. You can modernize your keystone application in a step by step, practical manner. By doing so, you are laying the groundwork for application growth and improvement later.
For example, RPG have an open access tools like Profound UI ,LANSA for application modernization that preserves the existing RPG code source and are used by many organizations.
The latest version of the tool provides these features:
- Advanced security and parameter markers
- Updated Visual Designer and widgets
- Save testing efforts as no logic changes are required in existing programs
Legacy applications, especially those that have green screens, require modernization to meet the demands of today’s every day user. RPG has always been the primary language compatible with IBM i. Often, migrating an application completely to some new platform is not feasible. Therefore, methods like integrating APIs is recommended to change the interface of your application and keep the code you trust and have invested in. Organizations migrate to other platforms thinking there are no IBM i experts left, as many IBM i experts are at the retiring age. But there are organizations that have in-depth expertise in maintaining your IBM i system. To proceed with the modification process, always get an expert’s advice. Expert advice can help you deliver a new interface that your user’s can rely on with minimum disruption.