X-2E Professional & Enterprise © 2010Databorough Ltd, Weybridge Business Centre, 66 York Road, Weybridge, KT13 9DY, United Kingdom, Tel: +44 (0)1932 848564, Fax: +44 (0)1932 859211, E-mail: info@databorough.com, Website: www.databorough.com Stuart Milligan – Databorough stuartm@databorough.com Background Demonstration & Concepts Methodology & Benefits Q&A 80’s cross referencing tools Mid 90’s Reengineering Automation Graphical analysis & Documentation Early 00’s Model Based Extractions Data Model 2005 Model Based Extractions Business Rule Logic 2005 Model Based Extractions UML & DDL 2009 Database Modernization & Reengineering 2010 Launch X-2E & X-Redo demand “Engineering is the intersection between demand, science and common sense” Engineering science common sense Databorough - Using Engineering to Solve problems Hundreds of Large Scale Reengineering Projects spanning 25 years Global Services Cumulative Knowledge Base Extracted Repository Passive •Cross-reference •Impact Analysis •Structure Chart Diagrams •Data Flow Diagrams •Data Flow Chart •Entity Relationship Diagram •Source Analysis •Program Structure Chart •Area Flow Diagram •Activity/Use Case/Class UML •Business Logic Analysis UI Designs & Logic Business Rule Logic Data Model Cross-Reference Data Reusing Your Assets Active •DDS to SQL Conversion •Migration to Java/C#/EGL •ORM Generation •Db2 Web Query Meta Data •Test Data Extraction •Test Data Cleansing •Data Quality Analysis X-Analysis Architecture X-2E Demonstration X-2E Professional X-Analysis Application Discovery + 2E Extraction Cross-Referencing Object/Variable/Field/Visual/multi-level Source Code Analysis flow charts/pseudo code/interactive/color coded Graphical Documentation structure charts/data flow/screen flow/internal structure Data Model Analysis foreign keys extraction/ERD/DDL export/constraints/DDS-2-DDL Business Rules Analysis business rules extraction/where used/annotation/rules narrative/process mapping UML Generation Activity/Use case/Class diagrams Application Metrics complexities/problems/application areas Entities & Relations Data Dictionary Interactive Functions Internal Functions External Functions Action Diagrams Relational Data Model •Auto Extracted from Code/CA:2E •Relational & Physical •Date Fields Business Rule Logic •Validations/Calculations •Summaries/Narratives/Annotations •Indexed Database & Mapped to Functions •CA:2E Action Diagram Logic Extraction UI/Print Functions •Screen Formats/Layouts/Fields/Files/Attributes •Screen Actions Flow •ORM Mapped to UI •Conditional Field/UI/Flow Logic Application Discovery + 2E Extraction Using the Derived Relational Model UML Object Relational Mapping Test Data Extraction & Cleansing Production Data Archiving MyEclipseBlue Rational Borland Relational Data Model Legacy Data Base & RPG/COBOL I/O Logic BI and Reporting Tools DB2 Web Query DDL/SQL Exports, Unicode & Modernization Referential Integrity Reports Design Recovery Documentation Business Logic Analysis Data Model Analysis Application Area Activity Diagram Activity Attributes Use Case Diagram Class Diagrams Activity Business Logic UML Diagrams & UML Extensions UML Diagrams S-Shots ∞ Scientific Forensics ∞ System wide perspective ∞ Visualization ∞ Non Expert Inclusion ∞ Explicit Information ∞ Quality of Communication Summary Benefits of Analysis 2E/RPG/COBOL Recovered Design X-2E Professional Documentation X-Analysis & Word/PDF/EXCEL/Visio/ DDL X-2E Versions X-2E Enterprise UML/XML/ORM & Java/C#/EGL Complete Rewrite from scratch Segmented Rewrite without tooling Segmented Rewrite with tooling(Reengineer) Cost & Risk of Modernisation Inherit Legacy Problems Not A Modern Application (Actually Legacy Emulation) No-one recognizes the output Virtually Un-maintainable Difficult To Retain Staff Poor Performance Difficult to Scale Not a Long Term Investment Why not Code Conversions Existing System Displays Programs Automated Extraction & Refresh X-Analysis Repository UI Designs & Logic Business Rule Logic Data Base Source Data Data Model Cross-Reference Data RPG & COBOL Extraction for 20 years UI Designs & Logic Fields/Attributes Relative layouts Flow/Calls Data Model Mapping Business Logic Validation Calculations Secondary Reads Secondary Updates Batch Calls Data Model Data Dictionary Logical Files/Views Key Map Relationships Special Fields Cross-Ref Data All All All All Objects Source Languages Variables X-2E: Extraction Automated Extraction & Refresh Functions RPG & 2E: Model Action Diagram Model Entities X-Analysis Repository Screen Components Business Rule Logic Data Model Cross-Reference Data Function Defs UI Designs Fields/Attributes Relative layouts Flow/Calls Data Model Mapping Business Logic Validation Calculations Secondary Reads Secondary Updates Batch Calls Data Model Data Dictionary Logical Files/Views Key Map Relationships Special Fields Cross-Ref Data All All All All Objects Source Languages Variables What is MVC? Model-View-Controller (MVC) Model: Underlying data objects and Business Logic View: The user interface Controller: Takes requests from View; passes commands to Model; chooses resulting View MVC means keeping these functions separate. Why MVC? The shift to MVC Brian Goldfarb, director of developer and user experience platforms at Microsoft. “In the same vein, Microsoft has recognized the importance of the MVC pattern to developers, and it views it as a proven, robust way of making applications, The needs of customers have changed now.“ Reduce Maintainable Code Base Agile Maintenance Consistent Architecture Lower Training Costs Optimise Performance Portability & Scalability Modular separation of function Easier to maintain Data Integrity Database Modernization •DDS to SQL conversion •Data Quality Analysis •ORM Framework Gen–(Hibernate, n-Hibernate) •OO I/O layer with we service wrapper Business Logic Rebuild •Re-factor into Event driven Model & OO mapping •Business Rules database and XML Output •Business Logic Model generated as Java, EGL, C# •Web Service layer UI/Print Functions •Screen Formats/Layouts/Fields/Files/Attributes •Screen Actions Flow •ORM Mapped to UI •Conditional Field/UI/Flow Logic Component Generation 2E Model X-2E Repository View Controller Functions Extracted Functions Action Diagrams Refactored Action Diagrams Data Model Explicit Data Model Extracted Biz-Logic Class ORM Generic Data Base I/O Classes Modern Database Application Generation Each Screen Format has business logic indexed UI Events Removed from code Indicators and UI messaging converted to standard messaging I/O Standardised into generic components in Java/C# Procedural Code is converted to event driven code Standardised Parameters and API’s Variables rationalised back to DB Fields if Possible Each Screen Format converted to view technology JSF/ASP etc Controller Bean/Handler per screen Uses a open source application framework as necessary or useful How is the design Re-factored? Web - JSF JEE MVC Project Methodology Project Discovery Proof of Concept ◦ Migration of a defined subset of functionality to primary desired variant. Customer can then inspect and benchmark actual migrated code. Model/Application Preparation ◦ Complete documentation ◦ Application Subdivision ◦ Model/Application clean-up/refactor Test Case Development Migration Training Global & Specific Customization On Going Changes during Project High Level Automation minimises impact of change Precise impact analysis upfront in tooling Last minute input Testing Distributed and so focussed and more manageable Consistency – code is consistent so results are more predictable Semi automated – OO and Event code model allows for automated unit testing Future Maintenance Potential for Automation – Consistent structure Distributed Architecture/Modular/Known(you know where to make the change or enhancement) Object Oriented - reuse Semi automated – generation from models Stability & performance Distributed Architecture Modular Scalability Modern frameworks – Hibernate/Spring/nHibernate Automated benchmarking ∞Inherit Valuable Assets ∞Exact and Accurate Knowledge Transfer ∞Lower Risk ∞Re-Use Existing Skills ∞Configurable ∞Gradual, Granular & Scalable ∞Long term result - maintainable Why Use Design Recovery? Recovered Design Extracted Functions/UI Refactored Action Diagrams or Business Logic Data Model Documentation X-Analysis Word/PDF/EXCEL UML XML DDL Current Potential Java LANSA .Net Oracle ADF EGL Silverlight X-2E Design Reuse Options Manual Rewrite Project Discovery & Preparation Design Recovery X-Analysis Application Discovery or X-2E Professional Collaborative Modernization … Modern Development Tools Component Generation X-Redo or X-2E Enterprise Thank You Hindi Thai Traditional Chinese Gracias Russian Merci Spanish Thank you for viewing our presentation For more information or to book a demo or trial, please contact us below: info@databorough.com www.databorough.com North America: 705 458-8672 Europe: +44 1932 848564 French Obrigado Arabic Brazilian Portuguese Grazie Danke German Italian Simplified Chinese Korea Japanese