® IBM Software Group EGL Simplify Innovation EGL and Application Transformation Ed Gondek Business Unit Exec IBM Rational egondek@us.ibm.com EGL International Conference Zurich Oct 20-21 2008 © 2008 IBM Corporation EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Agenda What is Application Transformation? Why choose Application Transformation for your Legacy Systems? What are the Characteristics of a Good Application Transformation Solution? Why use Rational Business Developer - EGL as the Target for Application Transformation? Application Transformation Process Overview What Are the Challenges in Application Transformation? Summary 2 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Key Messages Businesses need to change to stay viable, and IT must enable this flexibility. IT’s role is to enable the business! IT must overcome challenges: Reuse & leverage core systems Understanding the inventory of current IT assets Complex, tightly coupled architectures IT Skills lock-in Islands of development No flexibility for new investments High Cost of Maintenance The IBM Rational Software Delivery Platform helps companies overcome these challenges and facilitate Enterprise Application Transformation & modernization. 3 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL What is Application Transformation? A Migration strategy/approach that utilizes (reuses) existing legacy application assets while targeting a more modern, flexible, and cost-effective software development platform These applications are: Core business systems, critical to operations Tested, Proven and Production-ready Have consumed enormous amounts of Time & Treasure to develop and in many instances to maintain 4 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Application Transformation is a Modernization Option OPTION SOLUTION DELIVERY Browser H A T S Reface E G L Rich Client Portal Mobile Text UI Existing Core Business Applications E G L Build Browser Portal COBOL Rich Client Mobile Java Text UI SW Factory E G L Browser Portal COBOL Rich Client Mobile Java Transform Text UI Refactor Analyze E G L COBOL Java S O A Browser Rich Client Portal Mobile 5 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL What Application Transformation Must Address Huge Investment Skills Gap Financial (Treasure), Time & Effort Thousands/Millions of lines of code Business Oriented Developers lack Java and OO skills - very expensive to attain, very risky Lack of transferability of people& skills across projects Proven, tested, in production applications Core to running the business Platforms & Middleware Ability to support and target the broadest variety of platforms and middleware e.g. Mergers/acquisitions, right/down/up size, QoS requirements, strategic redirections, SOA, On-Demand etc. A comprehensive approach to Enterprise Application Transformation & Modernization. 6 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Why Choose Application Transformation – Rapid Payback … Functionality Performance* and Stability The Legacy Bar (Runs your Business Today) 100% 75% 50% Equivalent 25% Equivalent Equivalent 0% Year 1+ Year 3+ Year 5+ … Year n 7 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Characteristics of Good Application Transformation Solutions Application Transformation Solutions MUST: Provide High-level of Automation – 90% to 100% Clean, Concise Mapping of legacy language & constructs to the new target environment High Readability and Maintainability of new code Be Open & Flexible Support a Complete SDP Solution Providing source control, change mgmt, testing tools, requirements planning, governance … Be Cost-Effective 8 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Why Transform to RBD (EGL)? Fastest, most cost-effective migration path off legacy code Leverage your huge investment - Time & Treasure Reuse of existing, mission-critical, production tested software assets Establish a Modern, More Flexible Development Platform Design and Develop the widest rage of applications possible with a single, integrated software development platform Exploit a more cost-effective development environment The Rational SDP is a fraction of the cost of most legacy environments Maximize on the existing in-house IT skills & domain expertise No need for outside hiring or extensive, expensive training 9 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Why Use EGL as the Target? It is the “GLUE” that allows app transformation to happen smoothly DNA (Discovery aNd Analysis) and Transformation Process is Highly Automated 95%-100% Mapping between EGL and 4GLs, COBOL and RPG is Excellent! Source Code (EGL) produced is easy to Read and highly Maintainable JumpStarts EGL Application Development Low learning curve for most 3GL & 4GL programmers (weeks) Supports Open Standards Direction - Open & Extensible EGL Community PROVIDES A VIABLE BUSINESS PATH OFF LEGACY DEVELOPMENT ENVIRONMENTS 10 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL EGL Responds to Broadest Application Needs Batch Processes Web Text UI Program Program Control Logic Control Logic User UserInterface Interface Databases External Interfaces Business BusinessLogic Logic COBOL RPG PL1 Service/Interface Service/Interface Enterprise EnterpriseConnection Connection Write business and control logic with EGL Windows, Linux, Unix WebSphere WebSphere Tomcat Tomcat Native IE & FireFox Web/Native Services Reports Rich UI C, C++ Java DB2 UDB Informix SQL Server IMS Oracle VSAM Derby other… Encapsulate existing or create new resources System z WebSphere USS Linux Batch CICS IMS System i WebSphere Native i5OS Native i5OS COBOL Java Java Script (new) Deployment 11 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL EGL as the “GLUE” for Application Transformation Web, TUI, Portals Batch Processes Rich Client Web Services Reports Non IBM Technologies HPS/AppBuilder Write application and control logic with EGL Ideal COBOL Maestro Program User Interface Control Logic Business Logic Service/Interface Enterprise Connection Enterprise IDMS ADS/Online Encapsulate existing or create new resources Databases External Interfaces RPG COBOL PowerBuilder C, C++ Java DB2 UDB SQL Server Oracle Derby Informix DL/I VSAM other… RPG Windows, Linux, Unix System i System z WAS, Tomcat, Win, AIX, Linux, HP-UX, Solaris WAS, Tomcat, Native i5/OS WAS, USS, Linux, Batch, CICS, IMS 12 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL What Can IBM Rational Transform ? your legacy applications… Rational Migration Extension for Natural – eGA 6/2008 Supports transforming Natural/ADABAS apps to EGL/DB2; reduced maintenance costs out-of-date and expensive legacy Migrate from Non IBM Technologies IBM Rational Migration Extension onto for IBMIBM i – eGA 6/2008via development platforms SDP Supports transforming RPG apps to EGL for customers and ISVs Rational Business Developer featuring requiring multi-platform solutions HPS/AppBuilder Ideal COBOL Maestro Enterprise Generation Language (EGL) Enterprise IDMS ADS/Online * CSP * RPG Basi c * PowerBuilder * IBM Technologies VA Gen I4GL More Extensions are Planned for 2009 Conversion Tooling Deploy to: Linux AIX Solaris HP-UX System i System z Windows WAS * Future Capability 13 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Migrated Code comparison ex. - RPG vs. EGL High Degree of Readability Limited Code Expansion Easily Maintained 14 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Migrated Code comparison ex. - Natural vs. EGL IF ANA-VIEW.ACCOUNT-NUMBER EQ #TE-REC.#ACCOUNTNUMBER AND 0570 ANA-VIEW.N-A-TYPE(!) EQ '01' 0580 NAME MOVE ANA-VIEW.FULL-NAME-1 0590 END-IF 0600 END-READ 0610 END-IF if(local.ana_View.account_Number == Te15l00g.$te_Rec.$account_Number and ("01" in local.ana_View.n_A_Type)) local.$account_Name = local.ana_View.full_Name_1; TO #ACCOUNT- High Degree of Readability end end //while (Read Logical Database) end //* 0620 * // ICN 16009 0630 IF #TE-REC.#ACCOUNT-NUMBER GE '07AAAAAAA' /* ICN 16009 if(Te15l00g.$te_Rec.$account_Number >= "07AAAAAAA") 0640 end RESET #ACCOUNT-NAME 0650 END-IF Limited Code Expansion 0660 * //* // NNP 01 0670 WRITE WORK FILE 2 #TE-REC 0680 local.$account_Name = ""; #ACCOUNT-NAME 0690 ADD 1 TO #COUNT-TE-WRITE 0700 * 0710 * ICN 17891 ENDS. /* NNP 01 Easily Maintained workFile2.workFileRecord1 = Te15l00g.$te_Rec; workFile2.workFileRecord2 = local.$account_Name; add workFile2; local.$count_Te_Write = local.$count_Te_Write + 1; get next workFile1; 0720 END-WORK end // While Read Work 0730 * //* //ICN 17891 ENDS. //* 15 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Code comparison ex. – CA Cool:Gen to EGL PROCEDURE STATEMENTS | 1 | NOTE: 1| ****************************************************** **************** 1 | 18-04-2001 - THF: Coding started 1| ****************************************************** **************** High Degree of 2| Readability 3 | +=>READ dividend_tax 3| | WHERE DESIRED dividend_tax start_date = import dividend_tax start_date 3| | AND DESIRED dividend_tax u_co_iso_code = import dividend_tax u_co_iso_code 3 | +> WHEN successful 3 | +> WHEN not found 4 | | EXIT STATE IS dividend_tax_nf WITH ROLLBACK 5<------ESCAPE 3 | +-- Easily Maintained Function remove_Dividend_TaxMain () // ********************************************************************** // 18-04-2001 - THF: Coding started // ********************************************************************** try get DIVIDEND_TAX forUpdate with #sql{ select U_CO_ISO_CODE, START_DATE from DIVIDEND_TAX T1 where T1.START_DATE = :sqlhlpSTART_DATE2 and T1.U_CO_ISO_CODE = :REMOVE_D_INPUT.IMPORT__DIVIDEND_TAX.U_CO_ISO_CODE for update of U_CO_ISO_CODE, START_DATE, PERCENT }; xsSqlError(SysVar.sqlData.sqlcode, "remove_Dividend_Tax_001", xsSqlStatus); onException (exception SQLException) xsSqlError(SysVar.sqlData.sqlcode, "remove_Dividend_Tax_002", xsSqlStatus); end if (xsSqlStatus.successful) REMOVE_D_SQLITEMS.DIVIDEND_TAX.U_CO_ISO_CODE = DIVIDEND_TAX.U_CO_ISO_CODE; REMOVE_D_SQLITEMS.DIVIDEND_TAX.START_DATE = xsIso2Date(DIVIDEND_TAX.START_DATE); REMOVE_D_SQLITEMS.DIVIDEND_TAX_FOUND = "Y"; else REMOVE_D_SQLITEMS.DIVIDEND_TAX_FOUND = "N"; end case when (xsSqlStatus.successful) when (xsSqlStatus.notFound) xsGlobData.EXIT_STATE = "DIVIDEND_TAX_NF"; throw new EscapeProgram; end 16 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Code comparison ex. – CA Ideal to EGL Simple record 1 Record EGR001_W_GROUP1 type basicRecord W-GROUP1 3 W_GROUP1 char(8) ; 2 CONTRT_NR NP 10 2 VERSIE_NR NB 4 4 CONTRT_NR decimal(11) ; 4 VERSIE_NR smallint ; end // end EGR001_W_GROUP1 Flag 1 W-END-FLG F :END-FLAG Procedure call High Degree of Readability 3 W_END_FLG char(1) ; EGR001_T10_OTHER(); DO T10-OTHER Limited Code Expansion Loop LOOP UNTIL W-END-FLG DO T92-TRANSMIT ENDLOOP while (W_END_FLG != "Y") EGR001_T92_TRANSMI(); end Easily Maintained IF combined with build-in function IF $ENTER-KEY if (converseVar.eventKey is enter) /* When the job is done*/ DO T10-ENTER-KEY :When the job is done ENDIF EGR001_T10_ENTER_K(); end 17 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Application Transformation Process - High-level Flow Phase I Discovery aNd Analysis (DNA) & Project Planning Phase II Code Transformation Education & Knowledge Transfer Phase III* Remediation, Implementation, Testing & Deployment * Longest Phase 18 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Application Transformation Challenges Project Management - like any IT project you must keep the project on track, stay on task, meet milestones and move rapidly to production Addressing Code Remediation (as required) Data Base conversion Batch processing – e.g. JCL UI issues – TUI, Web (JSF), RUI Messaging issues Adequate Testing (Unit, Systems, Performance, Acceptance, User ..) Retraining (Retaining) of IT staff (and possibly users) Customer (in-house) IT role in all of the above 19 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL System z, System i and distributed platform IBM Rational Software Delivery Platform Drivers Phase Transformed Apps are Fully Integrated into the Rational SDP Asset management Lower maintenance cost through asset discovery and reuse Rational RequisitePro WebSphere Studio Asset Analyzer Rational Transformation Workbench Rational Asset Manager WebSphere Business Modeler Architecture & skills management Improve time to market and flexibility by creating services from existing assets Rational Developer for System z Rational Developer for System i/SOA Rational Business Developer (EGL) Host Access Transformation Services (HATS) WebSphere Integration Developer Quality management Increase application quality and compliance through continuous testing Rational Functional Tester Rational Performance Tester Rational AppScan WebSphere ESB CICS Transaction Server IMS WebSphere Process Server WebSphere Message Broker Application management Monitor and control application resources and processes in real time CICS/PD Tools Tivoli Composite Application Manager WebSphere Services Registry and Repository WebSphere Business Monitor Rational Portfolio Manager, Rational RequisitePro, Rational Method Composer, Rational ClearQuest, Rational CleaseCase/zOS, SCLM-AE, Rational BuildForge (z/i agents) Process, Portfolio, Change and release management 20 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL IBM’s Investment in RBD/EGL A strategic part of IBM’s Software Delivery Platform Core strategy for modernizing 7000 System z and 200,000 System i customers Part of System i Marketing materials IBM’s only enterprise class “cross platform” e2e solution Under Industry Standardization process (OMG) RBD V7.1 is one of the designated key products for Rational in 2008 (RBD v7.5 fall 2008) Additional Marketing efforts Additional Resources (technical and sales) Large IBM install base of stabilized legacy 4GL CSP, VisualGen, VisualAge Generator Customers (over 3,000) Natural/ADABAS, CA Cool:Gen, Maestro, COBOL, RPG ………… Include very large and critical IBM accounts with significant investment Strategic Migration path for legacy application development environments 21 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Summary Enterprise Application Transformation is not trivial, but with the right amount of Time, Treasure and Automation it is a Viable, Cost-Effective approach for modernizing aging application technologies Preserve your huge investment in these systems Maintain the full functionality of these systems Replace the part of the system that “inhibits” Allows for Reuse of proven functionality extracted from tested, production-ready systems Enables the Redeployment of business-critical, stable functionality as Services (SOA) Rational Business Developer (EGL) makes this possible High level of language compatibility, readability and maintainability of converted code Provides maximum deployment flexibility and use of IT resources with Maximum Leverage of existing IT staff with minimal training expense More cost-effective than Replacement or Rewrite options 22 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL RBD (EGL) Momentum A growing network of EGL Business Partners world-wide … Logicalis Prologics InfoSoft MSI Morpheus ClearBlade SCS Synchrony Optimus Oxford Mainline Xact Synobsis ASIST PKS Livinfo Metaware Nextel QGroup eSmartSoft KBM GBM Troytech TCS WIPRO Provision Advus DataExpressOnline BCX 23 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL © Copyright IBM Corporation 2008. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 24 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Why Use RBD (EGL) as the Target? What is Enterprise Generation Language? Rational Business Developer (RBD) is the component of the IBM Rational Software Delivery Platform that’s specifically designed to fulfill the needs of business-oriented developers. The product provides a comprehensive Eclipse-based development workbench for IBM Rational Enterprise Generation Language (EGL) - a powerful, easy-to learn and highly productive modern language that equips developers of almost any background with a simplified and more abstract development paradigm that allows them to quickly deliver cross-platform, transactional datacentric services and applications. As a business programming language, EGL is designed to let you write full-function applications quickly and independently from the target run-time platform, freeing you to focus on business problems rather than complex software technologies 25 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL What: EGL Cafe Community Goals: •Focal point for community •Share tips, techniques, parts •Communication: Forums, Blogs Target Audience: •All EGL developers •EGL partners & ISV’s •IBMers Goals: •Market-leading Web 2.0 Tools •SOA Enhancements Target Audience: •Line of Business Application Developers •Departmental Developers •Web Developers Goals: •Stimulate broad grass-roots EGL usage •Target platform: Browser •Application profile: Mash-ups •Contents: •Web 2.0 tools •HTML/Javascript generation •No Server support/No IBM support Target Audience: •Web 2.0 Influencers/Hackers •College Students •Curious Corporate Developers What: Open EGL SDK When: 2H 2009 Goals: •Allow 3rd parties to add value to EGL: •Support for new platforms/runtimes •Compete w/IBM on current platforms •Extend existing capabilities •Create new capabilities Target Audience: •Partners •ISV’s •Hackers/Inventors/College Students What: Standards Goals: •Ensure consistent implementations and extensions Target Audience: •Partners •ISV’s When: June 2008 What: RBD v7.5 Capability When: 4Q 2008 7.5 Mindshare Extensibility Consistency What: Free EGL SDK When: 1Q 2009 When: 2010 EGL Marketplace Evolution – Risk Mitigation 26 26 EGLSimplify SimplifyInnovation Innovation IBM IBMSoftware SoftwareGroup Group | EGL Modernization Paths to EGL Business Challenge Solutions Unsupported legacy development platforms Save money by moving off old platforms and languages can we… Rational How Migration Extension for Natural – eGA 6/2008 Transform Natural/ADABAS apps to EGL/DB2; reduced Efficiently maintenance costs move to modern development platforms, languages, and tools? IBM Rational Migration Extension for IBM i – eGA 6/2008 Transform RPG apps to EGL for customers and ISVs requiring multi-platform solutions Migrate from out-of-date and expensive legacy development platforms onto the IBM Rational Software Delivery Platform (SDP) – EGL, DB2 – All SDP tools available Non IBM Technologies HPS/AppBuilder Conversion Tooling Ideal COBOL Maestro Enterprise IDMS ADS/Online PowerBuilder Deploy to: Linux AIX Solaris HP-UX IBM i System z Windows WAS RPG 27