Your SlideShare is downloading. ×
0
Refactoring Legacy
Applications




March 2009
Abstract


> Many organizations are exploring modernization of their
  CA 2E environments to both improve the user interfa...
The essence of M3




 Websydian WebClient 1.4 Update   Copyright © 2008 CA
ADC Austin




> Founded in 1996 as division of Synon, ADC Austin has built
  large scale mission critical systems leverag...
ADC Austin – Selected Modernization Clients




5   Copyright © 2009
Agenda


> Introduction and Background
         Legacy Applications – Problems and Opportunities
         Modernization ...
Introduction and
Background




Legacy Applications
What is Legacy?


> Production Enabled Software

> Not a pejorative term
         Considerable value retained
         R...
Top Issues/Goals of Modernization


> Current application is inflexible and market-driven or
  regulatory changes take too...
Modernization Approaches

> Manual Rewrite
              Business Risk: Cost, Time to Market, Quality
         

> Wrappi...
Statistics / Issues with manual projects

> Cost/Time of doing a manual migration
              Manual code conversion can...
Introduction and
Background




Modernization with
Refactoring
What is Refactoring?

> ((2a^2-3ab)/(ab-b^2))*((2a^2-2ab)/(4a-6b)) = a2/b

> Wikipedia - Code refactoring is any change to...
Automated Modernization with Refactoring -
Benefits
> ADC Austin’s M3 – Model Based Migration - Methodology
          Ret...
Model Based Modernization – M3

     Original 5250                       Migration          New Environment SOA and Web
  ...
Deployment Environment – Java Example


                                                                                  ...
Model-based
    Modernization
    Methodology



    M 3



1       Copyright © 2009
M3 Goals

> Preserve investment made in CA 2E
             100+ FTE years of business logic development
        
        ...
M3 Process




                                    Model
      Analysis /                                                 ...
Analysis – Discovery

                                                           Business Logic
                          ...
Migration – 2E Model




      Prepare               Convert       Process        Import
                            to XM...
Migration – Native RPG, COBOL, CL




                        5250 UI
                         Logic

                    ...
Migration – Regression Testing




                    Create Test          Create Test      Run test
                    ...
Migration – Regression Testing


> Critical to project success, and is a best practice for
  enterprise development in gen...
You have
modernized;
Now What?
You have modernized – now what?


> New Application Capabilities
          Refactor business logic – eliminate un-maintai...
Business Logic - Automated


> Separate presentation from business logic

> Generate and build in modern enterprise UI
   ...
User Interface


> Refactoring the UI leads to the most significant benefits

> Reorganizing the way people interact with ...
From Hierarchical…

                                   Main Menu
                                   1. Work with Conferenc...
To usable!




        Tab




                                 Portal




                        Wizard




30   Copyrig...
SOA / Workflow / Automation of Migrated Apps


                                                                           ...
Example M3
Modernized
Application
Process
Existing 5250 Application




33   Copyright © 2009
Business Logic




34   Copyright © 2009
Analysis Process




35   Copyright © 2009
Create Subsets


           Entire Application                       Application Areas



                        Applicat...
Migrate using ADCMS XML Process




37   Copyright © 2009
Import XML into CA Plex




38   Copyright © 2009
Model and Business Rules in Plex




39   Copyright © 2009
Model and Business Rules in Plex




40   Copyright © 2009
Generate to new platform




41   Copyright © 2009
Results




42   Copyright © 2009
Summary

> CA Plex and M3 is a powerful new way to modernize CA
  2E
          More capable than host based screen scrapi...
Summary
A Few Words to Review



> Automated Modernization of CA 2E to CA Plex has several
  advantages
          Cost / ...
Q&A


> Question and Answer




45   Copyright © 2009
Upcoming SlideShare
Loading in...5
×

ADC Austin M3 Modernization 2009

479

Published on

ADC Austin\'s M3 Methodology

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
479
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "ADC Austin M3 Modernization 2009"

  1. 1. Refactoring Legacy Applications March 2009
  2. 2. Abstract > Many organizations are exploring modernization of their CA 2E environments to both improve the user interface and increase developer productivity. > However, it is a considerable challenge to economically extract the business rules from the legacy code in a maintainable way, and at the same time re-engineer and improve. > M3 Modernization is ADC Austin’s tooling and methodology for the IBM i / CA 2E customer 2 Copyright © 2009
  3. 3. The essence of M3 Websydian WebClient 1.4 Update Copyright © 2008 CA
  4. 4. ADC Austin > Founded in 1996 as division of Synon, ADC Austin has built large scale mission critical systems leveraging the ADC as a “House of Architects” > ADC Austin has a special focus on automated legacy code modernization and SOA > ADC Austin primarily works with Microsoft Enterprise servers and IBM Enterprise platforms > ADC Austin is a strategic partner and reseller for CA, MKS, Databorough and other related tools > ADC Austin resells products and services throughout the world, partners include NIIT, IBS, Takaya, Websydian, Databorough… 4 Copyright © 2009
  5. 5. ADC Austin – Selected Modernization Clients 5 Copyright © 2009
  6. 6. Agenda > Introduction and Background  Legacy Applications – Problems and Opportunities  Modernization with Refactoring > M3 Modernization - Process > You have modernized – now what? > Example M3 Modernized Application > Question and Answer 6 Copyright © 2009
  7. 7. Introduction and Background Legacy Applications
  8. 8. What is Legacy? > Production Enabled Software > Not a pejorative term  Considerable value retained  Represents Full-Time-Equivalent (FTE)-years of investment > Example – insurance engines, banking software  Core IP is unchanged – millions can be saved by recovering existing rules into new platforms > Modernization is a continual process, example today’s client-server apps are becoming web enabled 8 Copyright © 2009
  9. 9. Top Issues/Goals of Modernization > Current application is inflexible and market-driven or regulatory changes take too long  Modern development environment > Current application cannot be integrated with modern systems  Need SOA / EAI capabilities > Declining availability of RPG/COBOL skill sets  Java and C#, Eclipse, Visual Studio > High cost of hardware, or market-driven platform migration  Tools that support major databases/OS/code 9 Copyright © 2009
  10. 10. Modernization Approaches > Manual Rewrite Business Risk: Cost, Time to Market, Quality  > Wrapping Business Risk: Limited value, maintainability  > Packages Business Risk: Does not fit business, ROI  > Web Facing / Screen Scraping Business Risk: Maintainability, value  > Syntax Translation Business Risk: Maintainability  > ADC Austin - Automated Modernization with Refactoring 10 Copyright © 2009
  11. 11. Statistics / Issues with manual projects > Cost/Time of doing a manual migration Manual code conversion can range from $6 - $26 per LOC and is  accomplished at a rate of 160 LOC per day (Gartner Group) > Unwieldiness of large teams Larger teams require more interactions  > Scope Creep It is very difficult to resist adding new functionality and  requirements during the project. > Conflicting Goals legacy system must still continue to support the company  > Inability to change course meaningfully > Uneven conversion quality 11 Copyright © 2009
  12. 12. Introduction and Background Modernization with Refactoring
  13. 13. What is Refactoring? > ((2a^2-3ab)/(ab-b^2))*((2a^2-2ab)/(4a-6b)) = a2/b > Wikipedia - Code refactoring is any change to a computer program's code that improves its readability or simplifies its structure without changing its results > What does that really mean? Keep business logic, but: Separate presentation and business logic  Improve maintainability and understandability  Move code to more modern platforms  Automatically create SOA/EAI architectures  Create modern user interfaces – work flows, business process,  graphs, charts, tabs, wizards, explorers 13 Copyright © 2009
  14. 14. Automated Modernization with Refactoring - Benefits > ADC Austin’s M3 – Model Based Migration - Methodology  Retain business rules  Less cost than other approaches – yet has benefits of packages and manual rewrites  Fast results  Maintainable  Improved Business Processes > Our View: Modernize 2E model using ADC’s Model Based Modernization Methodology (M3) 14 Copyright © 2009
  15. 15. Model Based Modernization – M3 Original 5250 Migration New Environment SOA and Web Analysis CA 2E (Synon) CA Plex + Discovery ADCMS WebClient Services XML Models and (2E Model Generated Migration) Databorough Applications X-Analysis Databorough Native RPG X-Modernize Native COBOL Worksoft Certify Regression Native CL / Testing i5/OS Artifacts XML based design migration 15 Copyright © 2009
  16. 16. Deployment Environment – Java Example Enterprise App Server Web / J2EE Server RPG, .NET/C#, Java Web J2EE Server Server Web EJB Plex Container Container RT http EJB WC Biz Servlet Proxy Logic Plex Plex IP RT RT browse r Biz Database Client Logic Present Server Logic Data HTML/ JDN DB I CSS Plex generated presentation Plex generated business layer / layer, “view/controller” code “model”code Websydian WebClient 1.4 Update Copyright © 2008 CA
  17. 17. Model-based Modernization Methodology M 3 1 Copyright © 2009
  18. 18. M3 Goals > Preserve investment made in CA 2E 100+ FTE years of business logic development  Many millions of dollars in investment  90-95%+ code migration  > Increased productivity in CA Plex / Eclipse / MS VS Inheritance and patterns provide for highly productive  development All IDE tools, debuggers, diagrams available to users of Eclipse,  Rational, Microsoft Visual Studio All CA Plex platforms supported + RIA + Web Services  > Quicker Ramp-Up for 2E Staff Close the knowledge gap required for CA Plex  Provide patterns similar to CA 2E behavior  18 Copyright © 2009
  19. 19. M3 Process Model Analysis / Regression Test Preparation, Migration Implement Patterns, Discovery / Refactoring Standards Training, Mentoring, Project Management, Architecture Services 19 Copyright © 2009 Refactoring Legacy 2E Applications Copyright © 2008 CA
  20. 20. Analysis – Discovery Business Logic Validation Calculations Existing X-Analysis Automated Secondary Reads Extraction & System Repository Secondary Updates Refresh Batch Calls Displays Business Rule Logic Programs Data Model Data Dictionary Logical Files/Views Data Base Key Map Data Model Relationships Special Fields Source Cross-Reference Data Data Cross-Ref Data All Objects 2E: Model All Source All Languages All Variables 20 Copyright © 2009
  21. 21. Migration – 2E Model Prepare Convert Process Import to XML XML into Plex • Patterns • Standards • Database • Apply • Utilize Patterns Patterns • CSS / HTML • Functions Templates • Apply • Generate • Panel Standards. and build • Cleanup designs Ex. • Entire • Calendar model • Prompt XML based automated design migration 21 Copyright © 2009
  22. 22. Migration – Native RPG, COBOL, CL 5250 UI Logic Business Business Rewrite Logic Logic DB I/O DB I/O Migrate Logic Logic 22 Copyright © 2009
  23. 23. Migration – Regression Testing Create Test Create Test Run test Conditions Scripts scripts • Screen Movie • Use Worksoft • When all tests Certify are passed, • Directly in tool migration is • Requirements complete • Test scripts • Verify Coverage 23 Copyright © 2009
  24. 24. Migration – Regression Testing > Critical to project success, and is a best practice for enterprise development in general > Automated regression testing is required for a warranted migration > Test cases are developed by the customer, then encoded into the automated tool by the customer or as a service > WorkSoft Certify is a recommended tool  5250, windows, Java, and Web capabilities  Ability to develop test cases without programming/scripting  Robust enterprise level tool 24 Copyright © 2009
  25. 25. You have modernized; Now What?
  26. 26. You have modernized – now what? > New Application Capabilities  Refactor business logic – eliminate un-maintainable functions  Call screens from URLs with parameters  Call external functions and screens as web services  Rearrange screens into more user friendly paradigms – example, tabs, wizards, portals  Embed screens within other applications  Utilize business process modeling tools > Take advantage of the refactored development environment – you are now more productive 26 Copyright © 2009
  27. 27. Business Logic - Automated > Separate presentation from business logic > Generate and build in modern enterprise UI  WDSc / RDi / Visual Studio > Graphical representation of database and program flow > Inheritable components > Web services > Semi-automated – break out logic into separate components by graphical process 27 Copyright © 2009
  28. 28. User Interface > Refactoring the UI leads to the most significant benefits > Reorganizing the way people interact with the business rules 28 Copyright © 2009
  29. 29. From Hierarchical… Main Menu 1. Work with Conferences 2. Work with Venues Work Work Work with with Conf Venue Other Cancel Change Create Change Delete Enter Create Change Delete Venue Venue Venue Other Other Other Conf Conf Conf Work Work with with Details Addr Create Change Delete Create Change Delete Details Details Details Addr Addr Addr Work with Dtls Create Change Delete Dtls Dtls Dtls 29 Copyright © 2009
  30. 30. To usable! Tab Portal Wizard 30 Copyright © 2009
  31. 31. SOA / Workflow / Automation of Migrated Apps Modernized Panel Function SOA Bus Modernized Server Function XML/SOAP Web Service Call Websydian WebClient 1.4 Update Copyright © 2008 CA
  32. 32. Example M3 Modernized Application Process
  33. 33. Existing 5250 Application 33 Copyright © 2009
  34. 34. Business Logic 34 Copyright © 2009
  35. 35. Analysis Process 35 Copyright © 2009
  36. 36. Create Subsets Entire Application Application Areas Application Area 1 Rules Application Area 2 Rules Application Area 3 Rules 36 Copyright © 2009
  37. 37. Migrate using ADCMS XML Process 37 Copyright © 2009
  38. 38. Import XML into CA Plex 38 Copyright © 2009
  39. 39. Model and Business Rules in Plex 39 Copyright © 2009
  40. 40. Model and Business Rules in Plex 40 Copyright © 2009
  41. 41. Generate to new platform 41 Copyright © 2009
  42. 42. Results 42 Copyright © 2009
  43. 43. Summary > CA Plex and M3 is a powerful new way to modernize CA 2E  More capable than host based screen scraping  Less cost and risk than re-writing  Retain the business logic in 2E and native code > Once in Plex, Refactor to gain business advantage  Separate presentation and business logic  Create new user interfaces  Integrate with portals and work flows > ADC Austin can help you maximize your CA 2E assets 43 Copyright © 2009
  44. 44. Summary A Few Words to Review > Automated Modernization of CA 2E to CA Plex has several advantages  Cost / Timeframe  Retain All Business Rules  Quality, Refactorable End Product > Refactor to gain business advantage  Maintainability  Usability  SOA / WorkFlow 44 Copyright © 2009
  45. 45. Q&A > Question and Answer 45 Copyright © 2009
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×