For the IBM i community the need to modernize applications is no longer optional. It is urgent.

Business applications now live in a fast moving world. Graphical interfaces arrived first. Then came the web, mobile devices and the cloud. Each wave brought new expectations. Users want cleaner interfaces, faster responses and the ability to connect systems that were never designed to talk to each other. Your IBM i applications must be able to keep up without becoming fragile or expensive to change.

You have two broad choices when an application needs to modernize: replace it completely or re-engineer what you already have. Which path is right depends on the application itself and the reasons you are modernizing. Either way you still need a clear understanding of what the modernization process actually involves and what the re-engineering steps look like.

Traditional IBM i applications are often large and tightly coupled. Changing one part can ripple through dozens of programs. Modernization does not mean throwing the whole thing away or rewriting everything in a new language. It means carefully re-engineering the application. That can involve the user interface, the business logic, the database, or any combination of the three. The real goal is to make the application easier to change and maintain in the future while still giving users the interface and behaviour they need today.

Most companies have already invested heavily in applications that meet their core business needs. Those core processes still have to keep working while the rest of the system is improved. The practical challenge is to protect and reuse the solid business logic you already have, then re-engineer, refactor and enhance everything around it so the application can meet new demands.

This chapter looks at the forces driving modernization and the common patterns that appear in successful projects. We cover:

  • What modernization actually means on IBM i
  • Why the need has become urgent
  • The real benefits you can expect

Tip

The only real mistake is to do nothing.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>