Systems evolution needs to be a constant effort. The new Redbook entitled Modernize IBM i Applications from the Database up to the User Interface and Everything in Between is a must-read for every IBM i developer.
125,000 years ago, scientists believe that a group of brown bears (ursus arctos) were isolated from their ancestors and began to evolve into a separate subspecies: what we know as the modern polar bear. Over many generations, the descendants of these bears evolved and inherited the trait of a white, thicker coat—ideal protection and camouflage in the snow and ice, making the bear more successful to hunt and kill prey. The molar teeth and digestive system of the polar bear also changed over time, adapting to the demands of a new diet of seal meat rather than plants and berries. Their stomachs changed to accommodate larger and unexpected amounts of food, taking advantage of a big kill and allowing them to survive on it for weeks at a time during months when food wasn't plentiful. Their necks grew much longer than the modern brown bear, making it easier to keep their heads above water when swimming and when reaching into the sea from the ice to catch food from above. The forepaws grew larger in order to operate like paddles in the water.
This population of bear was able to slowly but constantly adapt to its environment in order to not only survive, but thrive. Bears that didn't inherit the evolved traits of their ancestors either attempted to move south or died off in the harsh cold climate. This is extreme modernization, but one that's been happening for thousands of years and continues on to this day.
A simplified—yet to me fascinating—evolutionary tale aside, a similar concept would be systems modernization. The world around us is changing on a grand scale, where technology changes far more rapidly than the slow-moving changes of natural selection. We have the ability to see those environmental changes and adapt at will, similar to artificial selection. The coolest example of artificial selection would be the Labradoodle, which has only been around for about 25 years or so. This cross-breed of a poodle and a Labrador inherited traits from both breeds, resulting in gentleness, intelligence, and minor shedding, making it an ideal guide dog for people with allergies. While I would argue the Labradoodle certainly wasn't bred for good looks, the artificial selection process is simple.
We can shape our systems to adapt to our environments in a similar way, although the process is the goal, and the result is more of a mindset for structured, consistent, positive change. Systems modernization should be a continual process in which our environments are constantly in a state of evolution, quickly responding to the needs of the environment and the demands of our users. In today's terms, that's social, mobile, cloud, and big data. I equate this to a combination of natural and artificial selection in terms of systems.
"The only mistake is to do nothing" is a tip from page 2 of the new and long-awaited Redbook called Modernize IBM i Applications from the Database up to the User Interface and Everything in Between.
The concept of modernization is not new. Yet we still see slow and non-adopters satisfied with green-screens and function keys, rather than graphical interfaces, drop-downs, and buttons. I think the disconnect lies in maybe not knowing where to start, especially for those who've left modernization alone for so long. The task may seem daunting because it's not only a change of systems, but also a change in attitude and behavior, one that I hope this Redbook and open discussion will help address. Modernization is not a steep mountain to die on, although the concept may seem daunting when looking up from the base. We need to adjust our perspectives in that there's gradual climb up the mountain led by people who've helped identify the path for us.
I spoke with Tim Rowe, Business Architect for Application Development and System Management for IBM i. Rowe was largely involved with putting this Redbook together with about 19 other people.
"Our customer base has been around for 25 years or so, and we've never forced anybody to ever change. The gradual movement for years was to replace the green-screen with something else. The purpose of this Redbook is to go beyond that. How do we get IBM i applications to thrive for the next 25 years? They need to be agile. They need to be written in both modern databases, frameworks, languages, as well as the UI. The UI is just one small component, although the most visible."
While this Redbook is a comprehensive guide to application modernization, one of the biggest challenges to any organization is the justification to do so. The first chapter gets the wheels in motion in that regard, discussing and exploring the needs to modernize in terms of providing not only a modern alternative to the traditional green-screen interface, but also the benefits of modernizing programs and database design. Just because there's an attractive, functional user interface doesn't mean the application is modern. An underperforming database accessed by 30-year-old monolithic programs will not be hidden by drop-down boxes and a front-end on your iPhone. The weakest link will be noticeable.
The Redbook is a deep dive, offering tips about providing education, using the right developer tools, unlearning old habits, getting management support, and using small steps that build on each other. It talks about the roadblocks and challenges of modernization.
Topics on security, PHP, EGL, Java, the modern RPG language, Ruby, JavaScript, and CSS are a must-read for every IBM i developer. Note I didn't write any IBM i developer. Every IBM i developer needs to understand these topics in order to determine what tools they could have at their fingertips. People who program only in RPG need to get educated about PHP and Ruby, if only to know what it can do. People who are fluent in PHP and JavaScript need to understand the power of the modern RPG language. One of the most wonderful traits of IBM i is its ability to serve many masters in terms of language, middleware, and platform. We need to know what the tools are in order to use them.
I'm not saying we should evolve our applications or die. We should evolve our applications for the sake of providing a modern platform for our users, ensuring that their perception of IT delivery on projects is both rapid and appealing. We should evolve our applications to ensure that maintaining them is as non-intrusive a process as possible, minimizing risk, downtime, and user interruption while making it simple for us. This Redbook is a grand effort, but it's up to each IBM i developer to do some real introspection on our systems and make it an ongoing effort.
Tim Rowe expands on the concept of this ongoing effort: "Modernization is not an event. It's a continual process. It's a mindset. Sure, it involves technology and tools, but the reality is it involves doing things on an ongoing basis for constant improvement."
Click here to download Modernize IBM i Applications from the Database up to the User Interface and Everything in Between.
If you're at the COMMON User Group Annual Meeting in May, be sure to check out IBM i Product Offering Manager Allison Butterill's session called Modernization Strategies for IBM i.
LATEST COMMENTS
MC Press Online