Uploaded by Nick Kudrycz

MS-WP-CAGen-2019

advertisement
WHITEPAPER
WHEN CA GEN ISN’T COOL ANYMORE
THE BUSINESS CASE, CHALLENGES, AND SOLUTION FOR MOVING CA
GEN APPLICATIONS TO A MODERN PLATFORM
Introduction
CA Gen is a Computer Aided Software Engineering (CASE) application development environment
marketed by CA Technologies. Gen was previously known as IEF (Information Engineering Facility),
Composer by IEF, Composer, COOL:Gen, Advantage:Gen and AllFusion Gen. CA Gen applications are
usually of considerable size and accumulate complex business logic. A lack of skilled resources, limited
integration and high costs create challenges around maintaining CA Gen. This whitepaper covers the
current state of CA Gen in the enterprise and the most efficient, low-risk way to modernize.
Contents
The Business Case: Why Move?
Compelling reasons to update CA Gen technology based on real
customer feedback
The Business Case: What Are Your Choices?
Options for addressing business challenges of maintaining CA Gen
systems
Customer Success: Bank of Canada
Find out how we worked with DXC to take Bank of Canada from CA
Gen to Java
Technical Overview: Modern Systems’ Solution
How our translation platform and process works
Conclusion
Closing statement,
About Modern Systems
page - 02 | WHEN CA GEN ISN’T COOL ANYMORE
“
Modern Systems worked closely
with our teams from the inception
of the project through the sizing
and planning to the delivery. The
project has been completed within
timescale and budget and this
enables us to move onto the next
stage of our IT strategy.
David Loughenbury, CIO
Police Mutual Assurance Society, UK
”
The Business Case: Why Move?
Total Cost of System Ownership
The ability to move to a lower cost platform and
more open source technologies can greatly impact
Information Technology’s (IT’s) bottom line, generating
flexibility to add resources to other critical areas. A
recent study by HP, Micro Focus, Microsoft, and Unisys
Corporation estimates that the equivalent of 1,715
MIPS could run on one 8-CPU Intel Xeon enterpriseclass system. The difference in cost between the two
platforms is illustrative of the substantial savings
organizations realize when migrating away from
mainframe systems.
While CA Gen applications generate significant
tangible costs associated with hardware and licensing,
the impact on internal resources can have a higher
strategic cost. Most organizations with mainframebased systems are spending close to 75 percent
of their development resources to simply maintain
existing applications, leaving only 25 percent of their
development resources with time to strategize solutions
to deliver value to the business.
Effecting a 25-percent reduction in maintenance
costs means that investment in business-driven IT
advancements can be almost doubled.
Feature Freeze
Many companies are running mission-critical
applications on legacy systems that do not have a
roadmap for significant feature improvement. In the
case of CA Gen, no significant features have been
added in over a decade. Unlike modern platforms, CA
Gen’s development roadmap doesn’t accurately reflect
the value of the data stored on the platform.
“
One of the greatest growing risks
for these [legacy] systems is not the
applications themselves, but rather the
skills necessary to continue to develop,
maintain, and operate them.
Impact of Generational IT Skills
Shift on Legacy Applications
”
Diminishing Skills & Resources
For legacy languages such as CA Gen, programmers are
becoming increasingly difficult to find. The reality is, people
who know mainframe technology are steadily retiring.
To make matters worse, most universities no longer offer
mainframe instruction. As the shortage of experienced
programmers grows, the cost of these resources will
continue to rise.
Difficulty Responding to Competitive Pressure
Lack of frameworks, productive and advanced IDEs,
debugging tools, and test automation add significant time
to development cycles on the mainframe. Organizations
relying on legacy systems have a high time-to-market for
new business needs and respond slowly to challenges
from competitors. In recent years, digital transformation,
underpinned by modern agile practices such as continuous
integration and DevOps, has further exacerbated the
troubles associated with sluggish development cycles in
legacy environments.
Even if new applications are developed using modern
technologies, integrating these with core business
functionality running on legacy systems is a time intensive
and risky task.
page - 03 | WHITEPAPER: WHEN CA GEN ISN’T COOL ANYMORE
The Business Case: What Are Your Choices?
Maintain Status Quo
The first choice for any scenario is always to do nothing,
to “let it play out”. As time passes, dealing with CA Gen
legacy will be more and more difficult – less available
expertise, more application development backlog, and
more money thrown away for CA Gen licensing that
could be spent on projects that improve IT efficiency
and competitive advantage.
Third Party Off-the-Shelf Solutions
This approach focuses on replacing mainframe
application functionality with packages and
components available from third party vendors. A
positive of this approach is the reduced amount of
maintenance of source code, since most vendors
shoulder responsibility for fixing production bugs and
implementing new functional enhancements.
However, commercial off-the-shelf (COTS) packages
offer standard domain business processes that often
differ from the homegrown mainframe application
they’re meant to replace. Reuse of existing business
logic isn’t possible, therefore some level of business
process re-engineering or customization of the
third party solution will be required. Both of these
processes can be time consuming and expensive. In
our experience, the older and more critical a legacy
system is, the higher the likelihood of significant
customization requirements will be.
Fully Re-engineer
Known as the “big bang approach”, re-engineering
is the most expensive and risky solution for CA Gen
modernization. It includes requirement capturing,
coding, debugging, testing, and refining. To recreate
the legacy solution’s wealth of functionality with newly
written application code that is stable and error-free
requires significant time and effort. Impact on end
users and their adjustment cycle is also a major factor.
The cost, time, and risk involved with re-engineering is so
high, that few organizations choose to embark on large-scale
rewrite projects. Further, those who do often abandon these
projects once the scale and depth of work solidifies and
millions have been dumped into the effort.
As multi-cloud and microservices adoption has exploded
in popularity (and shrunken in cost), so has the urge
to re-engineer monolithic mainframe environments
directly into containerized microservices. Historically, reengineering towards relative functional equivalence has
been the prevailing strategy and harbinger of disaster that
makes re-write projects so infamous. While extending the
scope of such an endeavor to include business services
modularization may be appetizing on the surface, it only
multiplies the likelihood of catastrophic failure.
Automated Conversion
Modern Systems’ automated conversion technology is at
the core of this approach, which guarantees functional
equivalence as compared to the legacy environment, while
empowering customers to leverage the advantages of modern
platforms and development practices.
Our software catalogs the application code in the CA Gen
encyclopedia and automatically converts it to pure Java or
C#. Other solutions start with the generated COBOL, which is
nearly impossible to decipher, and produce unreadable Java
or C#. In contrast, the code produced by a Modern Systems
conversion is as clean, readable, and maintainable as the
original CA Gen. Java and C# developers can easily use it
with mainstream development tools, achieving the same level
of productivity enjoyed with CA Gen without the shackles of
third-party code or licensing. Most modernizations involve
a phased approach, with some combination of automated
conversion and refactoring to reduce risk and maximize
agility post-deployment. This enables developers to easily
extend or modularize the Java or C# code for
DevOps-friendly cloud deployments without
the long timelines, substantial risk, and
obscene costs of a soup-to-nuts
re-engineering effort.
page - 04 | WHITEPAPER: WHEN CA GEN ISN’T COOL ANYMORE
How It’s Done: The Modern Systems Solution
CA Gen automated conversion using Modern Systems’ tooling delivers a modern application with 100% like-for-like
functionality as compared to the legacy assets, based on fully maintainable open systems. This reduces cost, allows for
deeper integration, unshackles organizations from outdated languages and expensive licenses, while unlocking infinite
customization potential to meet any business requirements. Best of all, once the application is converted, developers can
extend application functionality in Java or C# directly without having to navigate CA Gen or the code it generates to do it.
Legacy systems such as mainframes, and the applications they house, have been around a very long time. In many cases,
the code housed within the legacy environment has been in place since before the developer charged with maintaining it
was even born. Chances are, it has been augmented, tweaked, and extended multiple times by a multitude of developers.
The longer the system has been in place, the less a company knows about its inner workings. This is the fundamental
nature of every automated conversion project we undertake, and steps must be taken to ensure the modernization scope
and approach is appropriate for the challenge at hand.
Modern Systems meets the legacy modernization challenge by leveraging automated tooling combined with proven
methodologies and conversion processes that are time-tested and continuously evolving with each modernization project.
This evolution seeks to maximize code quality, reduce risk, and ease the migration away from legacy.
Assess & Design
Modern Systems begins all modernization
efforts with an assessment and design
process consisting of two key service
activities. The automated application
assessment is intended to clearly define
the current state of applications and
databases, while the operational and
infrastructure assessment identifies
the current state of operations and
infrastructure.
Customer
Assessed
Count
Referenced
Count
Scope Reduction
Based On Count
Assessed
Lines
Referenced
Lines
Scope Reduction
Based On Lines
1
10,897
6,919
37%
2,099,751
1,461,965
30%
2
43,922
24,773
41%
8,995,039
4,900,208
46%
3
64,727
36,332
44%
14,777,426
11,574,369
22%
4
14,229
7,906
44%
3,098,034
2,053,362
34%
5
18,797
10,165
46%
3,618,627
2,118,206
41%
6
20,424
10,913
47%
5,641,564
3,909,054
31%
7
24,915
12,426
50%
4,664,394
3,361,225
28%
8
64,015
30,024
53%
10,748,398
5,049,761
53%
9
43,922
20,140
54%
8,995,039
3,642,442
60%
10
18,677
7,504
60%
3,804,963
2,477,239
35%
11
17,487
6,540
63%
4,517,160
2,295,331
49%
12
12,157
4,481
63%
1,511,899
752,142
50%
13
50,333
18,333
64%
20,805,460
8,843,802
57%
A key element of the automated
66%
30%
14
27,844
9,377
3,516,482
2,475,551
68%
51%
15
35,856
11,463
3,473,909
1,701,200
application assessment is a focus on
69%
56%
16
18,591
5,801
4,001,832
1,767,920
upfront scope reduction. In most cases,
69%
76%
17
24,451
7,814
10,638,436
2,513,857
legacy applications are overflowing with
77%
76%
18
76,607
17,838
27,307,461
6,439,242
dead and unused code, code referencing
77%
67%
19
39,116
9,028
7,937,964
2,643,381
external resources that have long-since
78%
79%
20
76,550
17,223
17,840,574
3,813,395
been retired, and other artifacts that can
78%
78%
21
125,700
27,427
44,310,210
9,594,969
be carefully and safely eliminated from
Customer Legacy Codebase Footprints Before & After Assessment
the environment. In fact, after the
assess and design process is complete, our customers see an average codebase footprint reduction of up to 70%.
The addition of an operational and infrastructure assessment provides a complete picture of the legacy system that
reduces ongoing complexity, enabling our team of experts to fully define a modernization project plan
including assignments, responsibilities, timeframes, and costs.
page - 05 | WHITEPAPER: WHEN CA GEN ISN’T COOL ANYMORE
Automated Application Assessment
During the automated application assessment, application components are classified and listed in detail with notes
attached to components requiring special attention. All application components are inventoried and cross-referenced, while
missing components are collected and added to the inventory. Duplicate components residing in multiple repositories are
also eliminated from the inventory with guidance from the customer. Modern Systems also highlights topics that could be
troublesome during maintenance or augmentation, and which
must be addressed prior to the modernization effort. Once these
areas of concentration are identified, customer teams and
Modern Systems’ experts work together to implement appropriate
Chicago Mercantile Exchange (CME)
solutions. The most common areas of concentration in CA Gen
environments revolve around COBOL External Action Blocks (EABs). CME needed help modernizing their settlement,
banking, and asset systems. Modern Systems’
automated conversion technology enabled CME
Operational & Infrastructure Assessment
to move to a new Linux platform, significantly
reducing operational costs, and improving
The operational and infrastructure assessment complements
application development agility.
and cross-references the findings of the automated application
Customer Snapshot
The converted application matches the
assessment to ensure an understanding of the customer’s entire
functionality of the original exactly, is maintainable
legacy landscape. The infrastructure assessment focuses on the
by the existing CME developers, and dramatically
hardware requirements for the appropriate target distributed
improves the performance of the application it
system architecture. Captured information is used to determine
replaced.
the associated architecture and cost of the target infrastructure.
We will also gather and evaluate performance measurements
and availability requirements in order to determine the size of the infrastructure hardware, systems software, and data
storage to support the target environment. We also assess and organize all vendor software products used in the existing
environment, the current standards and procedures used to operate and administer the environment, and the existing
standards and software products deployed in the target environment. A detailed inventory of products is compiled within
the legacy ecosystem, along with details of any license agreements that may accompany them. The aim is to ensure there’s
a deep understanding of the processes in place for managing and monitoring the application workloads in the target
environment, how to monitor and performance-tune the environment, and the composition and options are available to
adequately outfit the target environment, including cloud-based platforms.
Transform
The transformation process begins after the assess and design process
is complete and a strategy for moving ahead is established. Automated
database and data conversion is performed alongside automated
application conversion. In addition, the target environment and relevant
operational infrastructure is built out, alongside any necessary operational
data migration activities. Transformation is the heart of the automated
conversion solution, which will enable developers to extend application
functionality directly without having to navigate CA Gen or the jumbled
mess of code it generates to do it. Throughout the transformation,
precious business logic from the legacy system is preserved, enabling
deeper integration, cloud migration, and customization to meet business
requirements.
page - 06 | WHITEPAPER: WHEN CA GEN ISN’T COOL ANYMORE
Automated Database & Data Conversion
The data and database conversion phase is an important component of every legacy modernization project. Each
environment is handled differently, from pre-relational to relational migrations, and everything in between. Although
the specific tasks associated with this phase vary widely, Db2 is often the primary database component in CA Gen
modernization projects. Our automated tooling combined with proven conversion methodology ensures a smooth data and
database transition, regardless of source or target, in lock-step with application conversion activities.
Automated Application Conversion
While the database conversion takes place, CA Gen is loaded into our proprietary tools for conversion. Modern Systems’
toolset automatically converts existing CA Gen applications to fully maintainable and easily extendable Java or C# code.
We maximize the maintainability of the target application code by using the CA Gen encyclopedia as input, not its
generated code. Our solutions enables flexibility around the deployment configuration - regardless of what it is, we can
automatically convert it. Whether it’s batch, 3270 blockmode, CICS, IMS TM, client/server, GUI, proxies, it’s all compatible
with the Modern Systems tooling. COBOL External Action Blocks are converted automatically alongside the CA Gen, while
JCL jobs and procs are migrated to scripts on the target platform.
Customers who prefer to keep their database in the same place after the transition may do so, or we can modernize the
database to Oracle, Db2 LUW, or SQL Server, and pair it with the converted application on the target platform. Our goal is
to empower the customer to make the choice that’s right for them, while providing a flexible environment for doing so.
Converted application architecture conforms to object-oriented, web-centric requirements and will run on any Java
application server (i.e. WebSphere, WebLogic, Apache Tomcat, etc.) or on Microsoft IIS when the target language is C#. Even
though the converted code is adapted to Java or C# requirements, it follows the same component and naming structure
as the original application (even comments are preserved). Developers familiar with the source environment should easily
be able to recognize familiar business logic in the target environment. Thus, only basic Java or C# training is required to
navigate the target application.
1.
HTML & AngularJS performs data binding, recognizes sent command, & sends JSON request to
the server
WEB CLIENT
2.
Framework sets system variables & calls business logic
3.
Business Logic performs business actions, communicates with database
4.
Framework retrieves next dialogue to display according to navigation flow or transaction code
5.
Framework, using AngularJS and HTML, displays user screens
6.
Web Server sends a JSON REST response
7.
Browser communicates with the Web Server by calling REST services
INTERNET/INTRANET
WEB APPLICATION
SERVER
Target Architecture: Pure Java or pure C#
page - 07 | WHITEPAPER: WHEN CA GEN ISN’T COOL ANYMORE
Operational & Infrastructure Implementation
During this phase, all operational and infrastructure components
required by the modernized applications are provisioned,
configured, implemented and integrated. This includes the
underlying hardware platform and all required third-party software.
QA/Test environments are built out first, and applications are
tested to ensure complete functionality before deploying to the
final target environment. If necessary, specific operational data
migration-related tasks are completed during this phase, including
the migration of required batch job schedules, security profiles,
and any archived data.
Test, Deploy, & Support
“
Modern Systems’ proven
technology and methodology
significantly reduced risk,
cost, and timeline for the US
Department of Agriculture. Their
automated process eliminated
manual conversion errors and
allowed us to quickly provide our
customer with an open, scalable
web services based application.
Mike Boyd, Capability Lead: Legacy Modernization
Unisys Federal Systems
”
The automated application conversion phase delivers modernized, functionally equivalent application code to the customer
in a series of work packets, based on milestones determined during the assess and design process. Modern Systems tests
the converted code for functional equivalence, then delivers it along with any required libraries to the customer for the test,
deploy, and support phases of the modernization process.
Testing is a critical phase of any modernization project and typically accounts for over 50% of the entire modernization
effort. Although key business logic is retained through automated conversion, the underlying application is adapted and
refactored to operate within the new target operating environment. Thus, a detailed validation of the migration is extremely
important, and the best means of achieving that validation is with thorough testing. Validation testing typically includes
stages such as functional (regression), non-functional (performance), integration, high availability, disaster recovery,
security, and user acceptance testing. A major misconception is that testing starts only once converted applications
become available to validate. Testing actually begins prior to even starting down the modernization path, by ensuring
that appropriate test plans and test-related artifacts (test cases, test data, test results, etc.) are available to conduct the
necessary testing and validation of the migrated applications. To assist with this, Modern Systems offers a test strategy
workshop (typically on-site) during the assess and design phase. Test-related areas of concentration are discussed, and
solutions are addressed. A key deliverable of the test strategy workshop is a test strategy report providing an overview of
the testing approach with detailed responsibilities, milestones, and ownership of each of the test-related service activities.
Testing, deployment, and support activities can vary widely, As such, the processes described in the following paragraphs
are intended to be a baseline.
Testing
Typical Modern Systems-led testing service activities include pre-delivery testing against a mutually defined subset of the
converted CA Gen application using a test plan with documented test scenarios provided by the customer. A customer-led
baseline for testing service activity defines and executes tests on the existing system to capture and record the
expected results. Modern Systems then runs the tests against the same data on the converted system, identifies,
investigates, and fixes discrepancies in the expected behavior of the modernized application by modifying the
automated tooling rules to ensure the conversion process is fully automated. Pre-delivery testing consists of
select test cases from the available functional tests, which represent parts of the application. Modern
Systems also provides application discrepancy correction throughout the different customer-led testing
stages, where any problems found related to the application and data migration are fixed.
page - 08 | WHITEPAPER: WHEN CA GEN ISN’T COOL ANYMORE
Testing requires the greatest amount of customer
involvement of any phase of the project. Thus, the
impact of customer resources during testing play a
major role in the overall success of the project, both
in completeness of the testing, and the duration
of the project itself. In addition to offering the test
strategy workshop, Modern Systems can also provide
support in the form of a test lead, test manager, and
additional test resources to augment a customer test
team.
The automated conversion process does not require
code freezes, which is a major risk reducer for
customers, however, it is necessary to bring the new
codebase up-to-date, therefore once pre-delivery
testing is complete and any discrepancies in
application behavior are resolved, Modern Systems
performs a code refresh to ensure that any changes
that took place in the legacy application environment
during the conversion process are accounted for,
converted into the target language and environment,
and tested.
Deployment & Support
The Modern Systems team works closely with
customer teams to ensure a smooth and error-free
transition into production. Part of this transition
includes the cooperative construction and testing of a
go-live production cutover plan to reduce the potential
risks associated with application deployments. The golive plan typically includes multiple dry run cutovers
and fall back procedures to validate and fine tune
the cutover process. Information is captured related
to the time to implement the production cutover
(and the time to delay specific processing while the
final transition is taking place), ensuring that all
data is converted and ready for production in the
time allotted. The plan also assesses overall go-live
readiness and validates the documented process. Our
teams also provide any required assistance during
the pre-negotiated warranty period following the
deployment as well as post-conversion support of the
modernized application, available at a fixed rate or in
hourly buckets purchased as needed by the customer.
Conclusion
Companies of all sizes are grappling with aging, complex
systems that are costly to maintain and too inflexible to
support new business initiatives. Most vendors are more
concerned with selling new systems than helping to retire
old ones. It can take a lot of effort to move data off the old
system, archive the application’s data, and decommission
the supporting infrastructure. It can be a challenging project
because of lack of documentation or data — or both — but
the more legacy applications that are retired, the greater the
cost savings in ongoing maintenance. This helps companies
meaningfully shift their IT spending to more business-focused
initiatives. Further, companies can manage operations more
effectively with common technologies and processes.
Modern Systems’ automated conversion technology is the
safest, lowest-risk, and most cost-effective solution for
modernizing CA Gen systems in the world.
About Modern Systems
Modern Systems, Inc. is the leading provider of legacy
language and database modernization. Leveraging over 30
years of best-practice domain expertise, Modern Systems
works closely with its customers to minimize risk and
provide a clear path from legacy languages like Assembler,
COBOL, Natural, CA Gen, ADS/Online, and databases like
IMS, IDMS, Adabas, VSAM, and others to modern solutions
like SQL Server, Oracle, Db2, COBOL, Java, C# and more.
Modern Systems was chosen by Walmart, Inc. to modernize
the world’s largest order system. We’ve also modernized the
world’s largest trading platform. Modern Systems has offices
in the USA, UK, Italy, Romania, and Israel.
To learn more, visit https://modernsystems.com
page - 09 | WHITEPAPER: WHEN CA GEN ISN’T COOL ANYMORE
Related documents
Download