For the IBM i community, the need to modernize applications is now an urgent requirement.
The world of business applications has become a fast-moving, ever-changing environment.
The web, mobile computing, and the cloud have quickly followed the impact of graphical interfaces. The community is facing an ever-changing environment and it must ensure that applications can be easily enhanced and maintained when dealing with these new requirements.
The choices for modernizing an application are either to replace it or to re-engineer it. As to which of these two options is better depends on the application and why the modernization process is being undertaken. No matter which option is the correct solution, there is still a requirement to understand the modernization process and the re-engineering process that is adopted or rejected.
Traditional applications are often large and difficult to modify. Modernizing an application does not mean that the application must be replaced or rewritten in a new language. Modernization means re-engineering an application. This might include changing any combination of the interface, business logic, and database. The goal of modernization is to make it easier to change and maintain your application in the future and provide the correct interface for your users.
The reality is that, over the years, companies already have made a heavy investment in applications that satisfy business needs. Although business requirements might be changing, the current business needs must be satisfied. The challenge is to keep and reuse those core business processes while reengineering, refactoring, and enhancing the rest of the application to meet these demands.
This chapter describes the driving forces behind modernization and some of the
commonalities behind modernization projects. It covers the following topics:
The only mistake is to do nothing.