Here you can read ‘Modernisation Patterns’ – Part 2 of a white paper focusing on Application Modernisation, written by Stuart Bramley, KFA Connect’s Technology Manager.
We have broken the white paper down into three sections;
Part 1 – highlights the risks, benefits and strategies
Part 3 – ‘Characteristics of Modern IBM i Applications’ will follow next week.
Application Modernisation – Modernisation Patterns
The modernisation of applications has been an important topic for many years. The technology which our industry is founded on moves quickly – but the applications that are developed to make use of that technology rarely, if ever, keep pace. Out of date applications can be inflexible, difficult to change and costly to maintain – but are often critical to business.
There are many different ways to make your applications fit the changing needs of your business. These can be broadly grouped into patterns – these are not always exclusive; some applications may be modernised using combinations of more than one approach.
The application’s function has become redundant and the system can be simply decommissioned.
The application’s function is still required but can be fulfilled by another application. The original application can then be retired.
The design of the existing code is improved incrementally. Monolithic programs are reduced in size and scope to create smaller modules of more cohesive, more easily testable code. Redundant code is removed. This may be required to facilitate a wrapping solution or enable new interfaces to the code to be developed.
Migrate or ‘lift and shift’
The software still meets the business needs but the hardware or OS platform is not fit for purpose. The application code is moved to a new, compatible platform as-is.
The application remains broadly the same but is accessed via a user interface that has been enhanced, usually with the assistance of tooling (such as IBM Host Access Transformation Services/WebFacing), to have more modern features.
A new interface abstraction layer is added around the application to enable integration with new channels or the creation of a new user interface delivered through the browser, mobile applications – or both. This modernisation technique is frequently combined with refactoring of applications in order to expose data access or business logic as services.
The function that the application performs is required, but either nothing about the current implementation is considered to have continuing value, refactoring will be so fundamental and extensive as to be prohibitively expensive – or refactoring will be so costly that a full rewrite would be a better economic choice. The application is completely recoded from scratch into a new target architecture. Note that a rewrite can still be performed incrementally in many cases – moving functionality from the old application to the rewritten version in phases.
The function that the application performs is required but can be completely replicated by an off the shelf product. The product is deployed in place of the existing application.