The sole reason that most commercial IT groups exist is to enhance the productivity of their end users and to deliver business value to those users. Sometimes that raison d’être gets lost along the way.
This blog is about application modernization that is focused on delivering business value to the end users, the people who actually run the business, by providing new and improved functionality to them.
In the examples below I refer to ‘5250 screens’, which are character-based RPG and COBOL applications on the IBM i platform (and its predecessors iSeries and AS/400). That’s because here at LANSA we have the tools to modernize those specific applications. If you want to modernize and cloud-enable applications developed in Clipper, Delphi Pascal, Visual Basic or other ageing languages, then read about our cross platform rapid development tools instead.
At the end of this blog I have listed links to demonstration videos that show the examples below in real life.
Delivering an ‘adorned’ GUI is not application modernization
Users of today have much higher expectations of computers than they did one, two or three decades ago when your 5250 (character-based) application was probably created. They use PCs, laptops, tablets and other smart devices and know how to use sophisticated applications like Facebook, Word and Outlook.
So you may spend a lot of time and money ‘adorning’ old 5250 screens by adding buttons, drop downs, images, colors, and more, but that will not impress many users these days. They are sophisticated and can now spot ‘lipstick on a pig’ from a long way off.
To impress them you need to add new modern capabilities to the application itself. Things that allow them do their jobs in a better way.
So let’s move beyond screen adornment and look at so other modernization approaches that do deliver clear and demonstrable business value.
Prompting User Input
A small feature that adds significant business value to 5250 screens is enhanced prompting. Examples are attaching a calendar prompt to a date field, attaching a calculator prompt to a numeric field, using simple dropdown lists, or much more sophisticated power prompters that let you perform complex searches.
A proper application modernization tool allows you to attach prompters to fields by inference, like date fields, or generically by applying a symbolic name to a field. This should be a feature in the screen adornment stage and should not require changes to the program code.
Empowering end users with modern multitasking
A modernized application can add significant value to an old 5250 application by providing enhanced navigation and support for modern multitasking users.
If your modernized application is really just a 5250 menu structure visualized in a tree of the left, with tabs of ‘adorned’ 5250 screen on the right, then it’s not really go improve any end user’s life much and may get called out as ‘lipstick on pig’ pretty quickly.
To modernize an application, you need to allow your users to concurrently work in multiple application areas. For example, they should be able to work with Orders, Customers and Products concurrently, something that the 5250 application itself may now currently or easily allow. Equally users should be able to do things that the 5250 application simply could not do before, like allowing the details of three orders to be concurrently displayed side by side.
Using lists to support workplace practices
Making lists and working through them is a very common way that business processes are driven.
For example, a list of products that are out of stock, insurance policies that are nearing their expiry date, customers who have exceeded their credit limit, etc. Additionally, allowing the lists that users create to be sent to MS-Excel or emailed enhances a user’s ability to analyze and communicate information.
If making lists is a fundamental way that many users approach doing their jobs, it stands to reason that adding new application features to support users in making lists should add significant value to their working day.
Enhanced Business Process Integration
It’s common for business processes to interact with other business processes, often spread across multiple computer systems and organizations.
Your application modernization tool should include facilities for multiple integration methods and formats. For example, you may want to add links or buttons on the screen to:
- Use of the web services of a third party agency, such as for address checking, or for payment services.
- Trigger actions, such as generating a PDF file from an invoice and emailing it to the customer
By removing the barriers between a re-purposed 5250 application and other applications that should be part of the same workflow, you are providing your users with a far more productive environment.
A proper modernization tools should let you open-up and integrate RPG and COBOL applications into the outside word, without changing the underlying code.
Extending with Charts and Graphs
Charts and graphs allow users to more quickly and fully understand business value and assess risk.
Adding charts and graphs is a common and high value way to enhance a 5250 application.
Adding New Capabilities
Attaching Documents to RPG or COBOL applications
A powerful boost to efficiency is to allow users to attach documents and images to the objects on their 5250 screens. For example, attach fact sheets and usage instructions to product information, or quotes and other correspondence to a customer. Storage of these documents should not be restricted to the platform of the 5250 application, but should be allowed to be any folder on the network.
New behavior (teaching an old dog new tricks)
A proper application modernization tool lets you ‘surround’ 5250 screens with layers that can let it communicate with other layered 5250 screens. Using those layers, you can let 5250 applications do things they were never programmed to do.
For example, your order maintenance program may not have been designed to display customer details. However, by using the layers that the modernization tool created, the order maintenance program can ‘instruct’ the customer maintenance program to display the address details of the relevant customer. That is a big time saver if a user wants to compare the address details of an order and with the address held for the customer. Adding a “show customer” button on the adorned 5250 screen can do that trick. You could even go a step further and add buttons to “align order address” or “align customer address”. This semi-automatic process is faster and more accurate than having to manually navigate to the customer details, and manually copy and paste the address details.
Creating Brand New Applications
The examples above are based on what you can do with our RAMP tool (Rapid Application Modernization Process) in stage 1 and stage 2. That is without changing the code of the original IBM i RPG/COBOL programs, and without creating new programs. Of course you can go further and, in stage 3, gradually deliver modern applications ready for cross platform deployment.
Stage 1 allows you to deliver a prototype modernization framework.
Stage 2 allows you to snap the re-purposed (screen adorned/screen scraped) 5250 programs into the framework. Screen adornment is typically automatically/dynamically for the majority of your programs, while you can refine the screen enhancements for selected programs.
In stage 3 you can gradually and at your own pace replace the RPG and COBOL programs with newly developed LANSA programs that are platform independent. Plus you can rapidly create brand new functionality. In this stage you can mix-and-match your existing RPG and COBOL programs with brand new components that can execute in the Cloud, IBM i, Linux or Windows (any combination of these).
Here is the link to demonstration videos of RAMP.
If your modernization journey starts on a different platform than IBM i, you would start directly in the redevelopment stage with Visual LANSA, which includes Visual LANSA Framework.