Legacy Migration and Modernization: Leveraging the Value of Your Existing Applications in a Modern Enterprise Architecture Bob Mastro – Vice President Health and Human Services NYC Technology Forum, November 1, 2007 Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Leveraging the value of your existing applications… Enterprise Architecture Unisys ADM Vision and practice Modernization Strategy & tactics Model-Driven Architecture Service-Oriented Architecture OMG ADM efforts Architecture- Driven Modernization Enterprise Architecture Model-Driven Architecture Service-Oriented Architecture Existing Software Modernization Strategy & tactics Unisys ADM Vision and practice OMG ADM efforts Architecture- Driven Modernization Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
The field is rarely green The Assumption The Reality Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Knowledge-Based Modernization Critical Business Knowledge is locked inside three sources of knowledge Documentation Subject Matter Experts Applications (most accurate) Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
The “legacy” application: an asset and a liability The moment an application goes into production, it becomes “legacy” It’s an asset! Functional Customized Well-tuned Supports mission critical operations Provides a competitive edge It’s a liability! Uses old technology Requires hard-to-find skills Lacks documentation Hard to maintain Resists change, integration, and replacement “You got to ac-cent-tchu-ate the positive, E-lim-i-nate the negative!” — Song lyric by Johnny Mercer, 1944 Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Reduce the negatives through modernization Architectural “big picture” view Align software assets with enterprise architecture vision: Architecture-Driven Modernization (ADM) Ongoing management process view Disciplined, strategic planning for old and new applications: Application Portfolio Management (APM) Cost-benefit view Apply across all software assets: Application Portfolio Analysis (APA) “Home Improvement” view Never-ending Plan to spend money Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Architecture-Driven Modernization (ADM) The process of understanding & evolving existing software assets within an architectural framework The mirror image of Model-Driven Architecture (MDA) Forward Engineering M D A Reverse Engineering A D M Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
ADM & MDA A D M M D A “As is” “To be” Extract, Abstract, and Model Knowledge Computation Independent Viewpoint Platform Independent Viewpoint Platform Specific Viewpoint M D A domain design code ADM & MDA Modernization begins with the extraction and abstraction of knowledge from the existing application How far to abstract? It depends on the type of modernization Existing Application Understand & Evolve New or Renewed Application “As is” “To be” Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
EM (a.k.a. ADM) covers a broad scope Enterprise Modernization (EM) is a discipline concerned with evolving existing systems to meet future needs identification of the gap between existing system and enterprise’s current requirements preserving investments in existing systems (including proven business logic and expertise of current staff) understanding existing software and other IT assets Architecture-Driven Modernization (ADM) is the process of understanding & evolving existing software assets for purposes of: application portfolio management code improvement programming language translation integration platform migration data migration consolidation data warehousing reuse package selection service-oriented architecture model-driven architectures — Object Management Group ADM Task Force 3D-VE uses the terms “ADM”, “Enterprise Modernization”, “Enterprise Asset Modernization”, “Legacy Modernization” and “IT Modernization” as synonyms Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Six modernization styles Definition Results Discover Mine knowledge and abstract it to the right level As-Is model at the appropriate level of abstraction 2. Refactor Improve application without changing language or platform Streamlined application with no dead code, no database redundancy, etc. 3. Translate Highly automated language-to-language translation Application in the target language replicates functionality 4. Wrap Encapsulate cohesive functionality in a SOA harness Portions of original application turned into components providing services 5. Replace Replace applications with new custom or packaged solutions New, modern components that provide services that replace the legacy system 6. Orchestrate Orchestrate wrapped and newly replaced services The composite solution using existing and new services Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Unisys ADM framework Refactor Translate Wrap Replace Orchestrate MODERNIZATION BUILDING BLOCKS MODERNIZATION BUILDING BLOCKS MODERNIZATION BUILDING BLOCKS Unisys ADM framework Refactor Mine Knowledge Translate Wrap Replace Orchestrate Discover & Understand “AS IS” APPLICATION “TO BE” APPLICATION Application Business Realization Implemen- tation PERSPECTIVE Business processes Business info reqs Business rules Logical data model Application boundaries Application logic Physical data model Interface definitions Execution flows Program logic Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Abstracting knowledge to business rules model level Vocabulary Trace back OMG SBVR Standard [3] Enables Legacy asset preservation Business model optimization Forward engineering Spaghetti code, hiding business knowledge “Your Application” Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Mining knowledge from the outside in Business rule Error Message Start with “boundary elements” visible from the outside of the application, and follow paths through the code Tools are essential, but... Report Field First law of knowledge mining "Only a computer can analyze vast quantities of code, but only a human being can recognize what has business value." Green Screen Field “Your Application” Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
The modernization journey… …begins with mining of knowledge from existing applications… SOA? …and heads towards Service Oriented Architecture (SOA) SOA what! Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
SOA enablement: Wrap and reuse Back-end systems (Black box) Service Consumer (Client) Request message Service interface Service wrapping Result message Standard & visible Implementation is hidden Conceptual “service bus” based on messaging Eligibility Determination Call Center Web self- service Case management Open case Address change Calculate budget Reusable services Multiple client applications sharing services messages Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
SOA: avoiding spaghetti on top of spaghetti Source: Gartner Group Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Turning spaghetti code into services “Pasta Transformation” Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
SOA enables composite applications Composite applications represent a design pattern that combines current applications, new application logic and application integration to provide new functionality Composite Application Composite Service Service COBOL System .Net Component Java EE Component SOA provides a way to assemble composite applications in a productive and flexible manner Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Part 2: The Unisys vision for Architecture-Driven Modernization: Theory into practice Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Knowledge-Based Modernization Upgrading & Optimization New Business Requirements / Optimization Criteria To-Be Business Model (Vocabulary + Rules + Processes) Business Domain Abstract As-Is Business Model (Vocabulary + Rules + Processes) ADM Define SOA To-Be SOA Application Model (Data + Choreography + Orchestration) Reversed Engineering Forward Engineering Mine As-Is Application Model (Data + Logic + Flows) Generate Existing Solution Target Solution IT Domain Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Applications Wrapping – SOA Using Unisys tools from partners Relativity Technologies and KDM Analytics Document your legacy assets Expose, navigate & provide a flow of the application logic Diagram all input and outputs Excavate architecture – identify deficiencies (unnecessary dependencies, lack of structure, etc.) Show database accesses & schema Discover & define application rules Complete inventory of all legacy assets Streamline applications Identify and eliminate dead code and code defects Remove unnecessary dependencies Transform applications Break down application into modules Transform modules into services Replace presentation with HTML, Java Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Example: linking rules to code business vocabulary and rules implementations in the code Unisys 3D-VE Rules Modeler Technology is embedded in KM Links between business vocabulary and rules and their implementations in the code Code implementation discovered by 3rd-party mining tool Inventory contains references to the source code Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Unisys KMA for Business Rules Discover intellectual property using Relativity Reverse engineering of application code Mines ‘programmatic’ rules Create Business Rules Model using Unisys Rules Modeler Maintain traceability between business rules and program rules Enables a model-driven approach to forward engineering Enables application re-partitioning from the business process perspective Application can be restructured to optimize performance and maintenance New requirements can be added at the “to-be” modeling stage Can take advantage of model-driven code generation capabilities Enables ‘gap analysis’ for replacement with ‘off-the-shelf’ application Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Building a modernization strategy on Unisys ADM building blocks The ADM approach for a given application may involve several ADM building blocks. Discovery of existing application knowledge is required for all scenarios… … but extent of discovery (“knowledge mining”) and level of abstraction varies by scenario Your Application Portfolio App 1 App 2 App 3 App 4 App 5 Discover Refactor √ Translate √ Wrap √ Replace √ Orchestrate √ √ The decision of what to do for each piece depends as much as on business goals, migration logistics, and economics as on the state of the technology Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Summary Modernization strategy Modernization tactics Let enterprise architecture drive your strategy Apply across your entire software portfolio Modernization tactics: Apply a combination of modernization building blocks: Refactor, translate, wrap, replace, orchestrate Mine knowledge and abstract to appropriate level Modernization journey: Begin with understanding existing software Head in the direction of Service Oriented Architecture Unisys can help, using its expertise, methodology and partnerships Modernization tactics Modernization journey Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Questions? For further information contact: robert.mastro@unisys.com Legacy Migration and Modernization - NYC Technology Forum 11/01/2007
Legacy Migration and Modernization - NYC Technology Forum 11/01/2007