30
Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by:

Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Embed Size (px)

Citation preview

Page 1: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Case Study

Using ASNA Monarch to pass an

RPG legacy on to the C# generation

Presented by:Roger Pence

ASNA Education Director

Page 2: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 2

The company

Page 3: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 3

Founded in 1933, Canal Barge Company (CBC) is an independent marine transportation company with its main

office in New Orleans

CBC manages the movement of cargo (including fuel, rocks, and coal) to virtually every part of the world. One the company’s specialties is providing dedicated logistics in moving cargo on

the waterway between the Gulf Coast and Mid-America.

The business has been managed with a large RPG application hosted on the IBM i since the AS/400’s introduction in 1988

(and on the S/38 before that)

www.canalbarge.com

Page 4: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 4

Amazing amounts of cargo flow down the Mississippi River

Page 5: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 5

CBC’s RPG application

• CBC’s RPG application has been enhanced and maintained by an internal RPG team for the life of the application

• The application has hundreds of thousands of lines of code comprised of RPG, DDS, and CL

• In addition to this core application (for which CBC has all of the source code) CBC also has core enterprise dependencies on several proprietary, purchased applications for which source is not available

Page 6: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 6

The challenge:Persist the legacy RPG application

in the absence of its RPG team

Page 7: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 7

CBC’s RPG challenge

• Its RPG team has served CBC well for many years. But, alas, every member of this team is approaching retirement age. Literally.

• The day is rapidly approaching when CBC won’t have an RPG team

• The company needs to be able to guarantee that the application persists without its RPG team

Page 8: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 8

Said the RPG team to the C# team, “Someday this will all be

yours!”

Page 9: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 9

Alternatives rejected

Rewrite the application

• The CBC application has hundreds of thousands of lines of code. It would have taken too long and cost too much to rewrite it from the ground up

Purchase a canned application

• The customization a canned package would need to meet the unique business needs of CBC would nearly rival the requirements of a full application rewrite

Page 10: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 10

Migrating the RPG application to another environment

• Having ruled out an application rewrite and canned packages, CBC turned its attention to the possibility of migrating its RPG application to another platform

• After lots of investigation, CBC chose ASNA Monarch for a migration to C# and the .NET platform– With Monarch, the RPG application, and its CL, can be

migrated to C# (or ASNA Visual RPG)– Monarch has a built-in 5250 emulator so not all displays

would need to be migrated– Monarch has a US-based services team with a proven

history of successful migrations to .NET

Page 11: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 11

The solution:

Page 12: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 12

Why ASNA?

• ASNA has been doing IBM i application modernization for 17 years

• Our migration technologies are mature and tested—and we can output either ASNA Visual RPG or MS C#

• We have a highly-skilled migration team in San Antonio, Texas

• Our modernization products scale from ASNA Wings, an IBM Open Access for RPG-based product, all the way to complete application migration with ASNA Monarch

Page 13: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

What is ASNA Monarch?

Application modernization platform that migrates IBM i RPG applications to .NET

• Interactive applications migrate as ASP.NET browser-based applications running on a Microsoft Web server

• Non-interactive programs can be migrated as console applications or windows service programs

• Monarch does not affect the original application in any way; only uses it to analyze application and gather source

• Creates a .NET version of the application and translates legacy code to either Visual RPG for .NET or MS C# syntax

• The migrated app can be further enhanced and modernized with the .NET development environment, Visual Studio, and .NET Framework

• For more details on ASNA Monarch, please visit http://www.asna.com/monarch.

Page 14: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 14

Multiple DB support

• Monarch is able to migrate RPG logic to .NET, but leave the database on the IBM i platform– But, if needed, also able to

later move the DB to MS SQL Server

– When the Monarch application connects to MS SQL Server, DataGate translates record level access idiom to SQL transparently

Page 15: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 15

Familiar idioms

• Many RPG idioms are persisted in Monarch’s C#– Eg. indicators, data structures, externally described files,

and record level access—so program logic doesn’t need to change

• Applications for which no source code exist are rendered nicely in ASNA’s built-in 5250 emulator– CBC will ultimately replace IBM’s IBM i Access with

ASNA’s built-in emulator for all users. Display files or applications not migrated are displayed nicely in that emulator.

Page 16: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 16

Monarch translation agents

• Monarch provides a number of translation agents that translate IBM i resources into .NET resources

Page 17: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 17

Custom browser-based menu created for CBC

To provide a cohesiveuser experience, ASNAcreated a custom browser-based fly-outmenu for CBC.

It is driven by the samedata used by their green-screen menu.

Page 18: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 18

CBC screen before migration

This is one ofCBC originalgreen-screendisplays.

Page 19: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 19

CBC screen with ASNA emulator

To get a sense of the display fidelity Monarch provides, here is the original green-screendisplay shown in the ASNA 5250 emulator. Again, notethe fidelity with the migrated program as shown on the previous page.

This is how the greenscreen looks when presentedwith the ASNA emulator.

Page 20: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 20

CBC screen after migration

This is the migratedversion of the previousscreen’s program. This is now a C# applicationhosted in a browser.

All functionkeys operable

Fly-out menualways available

Monarch displays areusually more sexy than this!For CBC, the screens were purposely toned-down to maintain good fidelity with those programs that need to be rendered in the ASNA emulator.

Page 21: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 21

Persisting the legacy RPG asset

• Says Gerry Thompson, a CBC System Analyst

“We investigated application migration alternatives very closely. The ASNA Monarch product was the best fit for us to achieve our desired goal of translating our legacy RPG asset into C# for the next generation of Canal Barge .NET programmers to maintain and enhance.

“Monarch delivers a faithful C# rendering of our RPG code—down to indicators and record-level access. We had a very good time introducing our C# team to the ‘uniqueness’ of RPG.

“But at the end of the day Monarch does give us C#—and that’s what we need for the future.”

Page 22: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 22

• Says Marc LaFleur, Senior Software Architect and Developer at Canal Barge:

“When we’re done with our migration efforts, the result will be a substantial application base with proven code that does the unique things that CBC needs—in a fraction of the time it would have taken to rewrite.

“The C# team will also be able to fortify the migrated legacy application with new C# applications that interoperate well and have a consistent look and feel.”

To infinity… and beyond!

Page 23: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 23

ASNA’s secret ingredient:Teamwork!

Page 24: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 24

Using an agile approach

• The San Antonio, TX-based ASNA services team is performing the actual application migration

• But the total migration project is very much a team effort

• The two teams use a highly agile, iterative approach to make the project successful– Meet twice a week with GoToMeeting to review progress

and issues– Reset schedules and expectations as necessary– All major players are kept in a very short feedback loop – Beyond success, the other major goal is: No unpleasant

surprises!

Page 25: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 25

Working as a team

• Says Tim Daniels, ASNA Migrations Services Manager, at ASNA:

“During a large migration such as the CBC project we very quickly establish a teammate relationship—for the project to be successful, they need lots from us and we need lots from them.

“ASNA’s experience with application migration coupled with CBC’s knowledge of their application makes for a very forceful migration team. Working on this project with them makes it fun to come to work every morning!”

Page 26: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 26

Working together as a team is critical to a migration project’s success

• Says Tim Daniels, ASNA Migrations Services Manager, at ASNA:

“During a large migration such as the CBC project we very quickly establish a teammate relationship—for the project to be successful, they need lots from us and we need lots from them.

“ASNA’s experience with application migration coupled with CBC’s knowledge of their application makes for a very forceful migration team. Working on this project with them makes it fun to come to work every morning!”

Page 27: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 27

Looking well into the future

• CBC currently has no immediate plans to migrate entirely off of the IBM i platform

• But Monarch provides built-in SQL Server support, so adapting the migrated to SQL Server is a long-range possibility should the enterprise need arise to move the application 100% to .NET

Page 28: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 28

A great team!

• For CBC, ASNA Monarch is making the need to give new life to an old application possible

• The old RPG application that has served Canal Barge so well for so long will live out a long and happy life in its new identify as a C# application in .NET

• When the project is complete, the application will be under the direct care and feeding of the C# team

• And… the RPG team will be enjoying cold beverages on the beach!

Page 29: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA. 29

Future home of CBC’s RPG team

Page 30: Case Study Using ASNA Monarch to pass an RPG legacy on to the C# generation Presented by: Roger Pence ASNA Education Director

Copyright © 2011 by ASNA.30

Thank you very much for your time!

For further information please contact

ASNA at [email protected] more about ASNA

http://www.asna.com