What to learn for Mainframe Modernization?
There are several dimensions to mainframe modernization and visiting my previous blog will help you put this question to the right perspective
You may not have to learn all of these to pursue a career in
modernization. However, in today's "quick execution" world, it is
important to know the dimensions and choices available to a legacy
application. The end state or modernization option chosen is completely
dependent on the current and future business vision, architectural vision etc.
of the organization.
UI choices:
- Screen scraping - old technique
but still very effective for stable applications
- Separation of business layer
and presentation layer - This typically involves breaking down a
monolithic code containing both screen functions and business functions into
separate modules.
- Building wrappers around existing
screen logic and exposing the contents of the screen as RESTful API - It
is a variant of screen-scraping but more standardized
Integration:
- Build standard
data/information exchange middleware layers between mainframe and
non-mainframe applications - ex: Kafka, MQ, RESTful services etc.
Data Analysis:
- Real-time analysis of the
transactional data in mainframe which aids decision-making for the
business.
- Analytical workload
migration outside mainframe
- In-platform migration of not-so-popular
analytical programming languages to popular languages (Ex: EzTrieve to
COBOL)
Co-existence/Hybrid Cloud:
- Change data capture between
mainframe database(s) and non-mainframe database(s)
- Establishing JDBC
connections to mainframe database to let non-mainframe applications access
mainframe data
- Comparison/testing framework
for co-existence
Workload improvement:
- Modernizing batch processing
- Exploring new hardware,
compiler, programming language, database and transaction server features
& implementing them
- Finding the right target
platform for executing the workload based on its nature & migrating
it.
DevOps:
- Cultivation of agile
development practices
- Understanding why DevOps
tools are important and what changes they can drive
- Exploring VS-CODE
capabilities for MF development along with ZOWE can be a good starting
point for embarking on the DevOps journey.
Re-Engineering/Migration:
- Documenting the legacy
application functionality.
- Understanding the tools
available to aid inventory analysis and reverse engineering
- Tool aided migration from
legacy languages to modern languages
- Building in-transit
architecture and migration strategy
When exploring any of these topics, I urge you to think through the
lifecycle of the modernization from requirements all the way to production
deployment. Most of the modernization projects have issues in having a proper
testing framework or pattern. Even the "most successful"
modernization case studies could not create a fool-proof testing framework that
can be "used everywhere". That's some food for thought.
Note: The views expressed here are based on my experience and are
neither exhaustive nor may be in line with definitions of modernization
available in the market.
Comments
Post a Comment