The dawn of this decade witnessed drastic changes and the ways of doing business have been altered forever. In the face of such monumental changes, companies have realized that modernization and digital transformation are inevitable. Some had already started their modernization efforts, which made the transition easier, while many others, who thought they had plenty of time, had a rude awakening.
For example, you can build API layers on top of existing applications or connect them with new cloud native or container-based workloads. This facilitates incredibly low latency communication with high bandwidth, added security and economic benefits, all the while leveraging your existing investments in technology, people, and skills.
The Need for Multi-Layered Architecture
Deconstructing an application into different tiers of smaller units (containers and microservices) – such as database, web & mobile, application servers – can help release units of working code or functionality into the hands of end-users much faster and give developers the flexibility to make changes in one area without affecting others.
Instead of taking months or years to implement major changes in monolithic applications (such as resizing a field), breaking the application into smaller parts can help deploy, operate and manage it in much shorter times.
The importance of creating multiple layers when you modernize your architecture cannot be stressed enough. Multilayered architectures give you:
Creating an Application Modernization Strategy
While considering your options, assess the applications that are running in your IBM i ecosystem to make a broad determination of what characteristics they have and the value they bring to the organization. This helps you come up with the best strategy for each component, one that also aligns with business goals. Different application characteristics require different strategies such as rewriting, modernizing or implementing replacement packages.
Implementing replacement packages are expensive and very disruptive to business processes and rewrites are often inherently dangerous and time consuming. Modernization is usually the least expensive and least risky option by far, as it lets you leverage your current investments and evolve them.
Most companies on IBM i using RPG as a language within their code base are now facing a fork in the road. You can choose between:
Some decision makers also choose to do both: keep what they already have in RPG but build everything new in open-source languages.
When it comes to transforming your code and database, more than anything, the decision lies in choosing a language and finding the right people to handle both the architecture of the applications written in RPG and the language you choose for new development.
The Business Benefits of Automated Code and DB Transformation
Modern automation tools, techniques and technologies solve many IT-centric business problems. Depending on how much evolution you bring to the code base and database, there are many business benefits to reap:
The Ideal Composition of Multi-Layered Architecture
The base is the database layer with indices, views and all the artifacts. Next is the data access layer, on top of which the business process services are built. At the very top, you will have the UI layer with support for APIs, web services, and restful applications.
Modern Reference Architecture – PHP
Example: The use of Angular, where the UI can be defined. You can adapt the same architecture to PHP and accommodate future UI changes faster by simply replacing a layer, enhancing another application with the same components, or even building on those components.
Why Do You Need a Modernized Database?
Monolithic architecture on IBM i is usually a single program that has been built and added onto for the last 30+ years, which now needs to support certain database features to continue offering business value. Some of the reasons driving modernization include:
Modern RPG Development
These are some concepts to plan around when you’re considering new developments:
Tools: Rewriting the code or redoing the database by hand is a next-to-impossible task with very low ROI for the business. Investing in proper tools to develop a modern RPG makes all the difference: consider what you want the UI to look like in the end, what standards you want to set, and then configure the tools accordingly.
A broad set of advanced tools will have code transformation, test automation, analysis and planning capabilities to deconstruct business logic and design & then reconstruct them into a modern, layered architecture. They can help you deliver better value faster, ensure quality and offer better/new UIs.
Testing shouldn’t take up 60% percent of project time - automating it helps lower your costs, speeds up time to market and increases business agility. In a layered architecture, test automation can help you implement automated regressions that guarantee quality as you release.
Standardizing Data Types:
Ensure that the different types of data (time stamps, dates, elements that can all be described in different ways) are detailed and consistent.
DDL Table Descriptions:
This can help futureproof your architecture and remove some of the more outdated parts of Db2. SQL particularly is a great standard.
If you have decided to stay in RPG, a modern, layered architecture can help address issues around agility. Also, modern free-format syntax is a cornerstone in supporting maintainability and being able to hire younger talent who can maintain your evolving applications.
Things to Keep in Mind
Transforming your code and database is going to make your applications and systems agile and easier to maintain and adapt. To that end, a staged, incremental modernization plan allows you to focus on quick-win areas and deliver value to the business early. While there are many options to achieve your modernization goals, the most important thing is to break out of status quo and take action.
Every day, I help IT leaders map out strategies and roadmaps to make the best use of their resources and modernize their systems. It may be challenging to figure out where to begin – I and my team of experts at Fresche can you’re your figure out what is best for you and break down the steps for a smooth code and database modernization journey. Book a call with an expert to discuss your challenges and how to adapt your business for growth.
This article first appeared in Fresche’s Thoroughly Modern column for IT Jungle.