1 / 26

Application Modernization via migration to Rational’s EGL

Application Modernization via migration to Rational’s EGL. Todd Britton IBM Rational Application Transformation & Migration. Agenda. Business Realities EGL Review Automated Migration Demo. Applications. Teams. People. Problems that IBM i customers encounter. Reality …

nora-white
Download Presentation

Application Modernization via migration to Rational’s EGL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Application Modernization via migration to Rational’s EGL Todd Britton IBM Rational Application Transformation & Migration

  2. Agenda • Business Realities • EGL Review • Automated Migration • Demo

  3. Applications Teams People Problems that IBM i customers encounter Reality … • business and regulatory needs are highly dynamic • major investments in existing applications … they: • “run the business” and took years, sometimes decades, to build • are “stuck” in their current environment (green screens, etc…) • MUST be leveraged while advancing! … evolve or die Customers need … • a modern, “real” web user interface • Need latest “web 2.0” capabilities to compete, but the technology curve is very steep • Too hard to train new users in 5250 screens • “Screen scraping” is good, but is not adequate as a strategic solution • flexibility • Need to be able to deploy to other platforms as business needs change • Transition to a service-oriented architecture easily and quickly • New applications purchased on Linux, AIX, Windows…need to be able to integrate with them • to leverage existing skills • Used to high productivity with RPG and IBM i…don’t want to give that up • Need to leverage skills & knowledge of current developers most effectively for the future • without … • Taking 5 years • Breaking the bank • Incurring significant risk

  4. Problems that IBM i customers encounter1. Need a modern, “real” web user interface – Options Leave as Green Screen • Pro’s: • Easy to create/maintain • “legacy” data entry folks have it all memorized • Con’s: • “The business” views as “out of touch” • Can’t extend to web and specialized devices • Hard to train new users “Screen Scrape” to achieve Web UI • Pro’s: • Quick ROI and Web UI • Con’s: • Maintenance activities take you back to DDS • Don’t integrate well with new web applications Re-factor RPG and build new web UI • Pro’s: • High quality results • Con’s: • Large work effort to achieve results • Might require different developers for UI Migrate RPG/DSPF to EGL/EGL RUI • Pro’s: • Result is true Web 2.0 UI … DDS goes away • Quick results and high quality • Refactor and enrich UI as desired • Con’s: • No Green screen alternative for those die hards…

  5. Windows, Linux, Unix • WebSphere • Tomcat • Native System z • WebSphere • USS • Linux • Batch • CICS • IMS Problems that IBM i ISV’s and some customers encounter2. Need Platform Flexibility Business Logic IBM i • WebSphere • Tomcat • IBM i Integrated Web Server • Native i5/OS • Native i5/OS Browser • IE • Firefox • Safari

  6. RPG/COBOL developers … • they know the business • … • Leverage them for Web 2.0! Problems that IBM i ISV’s and some customers encounter3. Leverage Business-aware Developers for Web 2.0 EGL

  7. Machine Code Assembly Language C++/C# COBOL Java PhP RPG EGL EGL Solution to these problems • EGL is a true cross-platform, cross-tier language targeted at all types of developers and applications • Traditional, procedural, object-oriented, Web, SOA, etc. • Web 2.0 built in • SOA built in • The goal of EGL is to shield developers from complexities that are unnecessary for building business applications. • EGL is an excellent target language for evolving existing, traditional applications in RPG, COBOL and many other languages

  8. Build end-to-end Web 2.0 quickly with a single language Fully extensible Use a language that is easy to learn Benefit from productive development Use Ajax without any of its complexities Use a rich, extensible widget library Debug web applications in an Eclipse IDE Consume any type of web service EGLWeb 2.0 built in

  9. EGLWeb 2.0 in EGL is much more productive EGL Rich UI HTML and JavaScript All code, including UI and controller logic, is written completely in EGL. handler MyRuiHandler type RUIhandler { initialUI = [ addressForm, map ] } addressField TextField { text = "1600 Pennsylvania Ave, Washington DC", width = 250 }; goButton Button { text = "Go!", onClick ::= goButton_clicked }; addressForm Box { children = [ addressField, goButton ] }; map GoogleMap { width = "500px", height = "300px" }; function goButton_clicked (e Event in) addresses String[] = [ addressField.text ]; map.showAddresses(addresses, addresses); end end <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>Google Maps API Example: Simple Geocoding</title> <script src="http://maps.google.com/maps?file=api&amp;v=2.x <script type="text/javascript"> var map = null; var geocoder = null; function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(37.4419, -122.1419), 13); geocoder = new GClientGeocoder(); } } function showAddress(address) { if (geocoder) { geocoder.getLatLng( address, function(point) { map.setCenter(point, 13); var marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindowHtml(address); } ); } } </script> </head> <body onload="initialize()" onunload="GUnload()"> <form action="#" onsubmit="showAddress(this.address.value); return false"> <p> <input type="text" size="60" name="address" value="1600 Pennsylvania Ave, Washington DC" /> <input type="submit" value="Go!" /> </p> <div id="map_canvas" style="width: 500px; height: 300px"></div> </form> </body> </html> The complexity of the Google Map APIs are hidden from the developer, so the developer can focus on the actual business requirement and not technical complexities.

  10. Web 2.0The proper balance Client Server Mainframe computing “Dumb” green screen clients Omnipotent big mainframe servers Client-server computing “Smart” Personal Computer clients Simple file and database servers Web (1.0) computing Light Web Browser clients Rich application and database servers Web 2.0 computing Rich Internet Application clients Lighter application and database servers

  11. EGLSOA built in • Service part: • a generatable part containing code that will be accessed: • - from EGL code by way of a local or TCP/IP connection (EGL Service). • - from any code by way of an HTTP connection (EGL Web service). • Interface part: • Used to access external services as EGL services or simply to provide separation of concern. • At development time… • Focus on the business logic • Implement SOA design elements: services and interfaces • Leverage existing business developers for new SOA development • Ignore deployment targets/technology while coding/testing • Leverage external web services… • EGL Interfaces • represent external web services • are created via import from WSDL • allow the EGL developer to stay within the context of EGL programming • Deploy EGL services… • To any platform (Java to WAS/Tomcat, COBOL to CICS, i5/OS ) • As a Web service (uses SOAP) • As a private service (uses CICS ECI or TCP)

  12. Windows, Linux, Unix • WebSphere • Tomcat • Native System z • WebSphere • USS • Linux • Batch • CICS • IMS EGLProvides Ultimate Platform Flexibility Batch Processes Text UI Web Web 2.0 Reports SOA Program Handler Service EGL Business Logic IBM i • WebSphere • Tomcat • IBM i Integrated Web Server • Native i5/OS • Native i5/OS Browser • IE • Firefox • Safari

  13. EGL Leveraging RPG skills • Short learning curve to learn EGL • Procedural language with standard programming constructs • 2 Weeks to understand basics and start building applications • 1 Month to get proficient and productive • Only prerequisite is procedural programming experience Data on Migration to “Professional” Java Skills – from other languages EGL *Source: Gartner Group Study

  14. RMEi: Rational Migration Extension for IBM i Transform your legacy applications… * Achieves: Modern, “real” Rich web UI If needed, also Platform Flexibility Easy transition for RPG developers RMEi COBOL RPG Conversion Tooling • EGL • Common Language for the Power Platform • Web 2.0 enable and Service Enable IntegratedIntel Server Blade Server * Future 14

  15. * Ideal Enterprise Modernize Past Development InvestmentsTransform your legacy applications… z – CICS z – IMS z – Linux z – zAAP z – WAS i – WAS i – Native Linux AIX Windows COBOL RMEi RPG RMEn EGL Testing, Remediation, Deployment Conversion Tooling RMEca HPS/AppBuilder … * * = Future Capability

  16. Rational Migration Extension Philosophy • Low risk • Procedural to procedural; OO to OO • Lateral move first, enhancements follow (if desired) • Frequent deliveries of running applications (Agile processes) • Short timeframes • High level of automation … “factory” approach • Reasonable cost • High level of automation … “factory” approach • Low cost resources where it makes sense • Easy Maintainability • Leverage existing, extensive investments in current applications and developers • EGL and EGL Rich UI as targets for procedural sources • Java as target for OO sources • High Flexibility • EGL allows broad deployment flexibility

  17. Migration Strategy • Goals: • UI modernization • Service-oriented architecture Interactive Programs: RPG EGL DSPF DSPF DSPF DSPF RMEi DSPF DSPF DSPF EGL RuiHandler • Goals: • Platform independence • Flexible service-oriented architecture Batch Programs: RPG EGL RPG EGL RPG EGL RPG EGL CLP EGL, etc… CLP EGL, etc… RMEi CLP EGL, etc… CLP EGL, etc… Platform specific – reimplement in EGL & other technologies

  18. Function Declaration Database Access Array Lookup Date Formatting Function Data access Assignment Statements

  19. Transition from 5250 to EGL Rich UI 1. Need a modern, “real” web user interface Automated Migration to EGL/RUI Enriched UI Original 5250

  20. Transition from 5250 to EGL Rich UI 1. Need a modern, “real” web user interface Original layout EGL RUIHandler Automated Migration sflctl …overlay … sflctl …overlay … RUI Gateway RelatedData EGL Service Original Program EGL Program • After migration: • UI layout, Controller logic, and business logic • migrated to EGL • controller/business logic run on server • low risk/quick results • True “Web 2.0” UI • driven by controller logic on server • enrich UI using any web 2.0 widgets • Migrated program placed in an EGL Service • Easy extensibility Doweq … … Filsfl write overlay read sflctl prcsfl … end Do while … … Filsfl show overlay converse sflctl prcsfl … end Automated Migration GetRelatedRows() End

  21. Transition from 5250 to EGL Rich UI 1. Need a modern, “real” web user interface Original Layout EGL RUIHandler EGL RUIHandler Automated Migration sflctl …overlay … sflctl …overlay … Sflctl End Overlay End DisplayGrid End … RUI Gateway RelatedData EGL Service Original Program EGL Program Doweq … … Filsfl write overlay read sflctl prcsfl … end Do while … … Filsfl show overlay converse sflctl prcsfl … end EGL Service • On your schedule: • Refactor … • Move controller logic out to RUIHandler • Create “operations” in EGL business logic • Focus on flexibility and reusability Filsfl() End Prcsfl() End GetRelatedRows() End … Automated Migration GetRelatedRows() End

  22. Migration to EGLExtra Benefit: move to SOA after migration Refactor migrated EGL code • Service part: • a generatable part containing code that will be accessed: • - from EGL code by way of a local or TCP/IP connection (EGL Service). • - from any code by way of an HTTP connection (EGL Web service). • Interface part: • Used to access external services as EGL services or simply to provide separation of concern. EGL Program EGL Service EGL Program Java • At development time… • Focus on the business logic • Implement SOA design elements: services and interfaces • Leverage existing business developers for new SOA development • Ignore deployment targets/technology while coding/testing • Leverage external web services… • EGL Interfaces • represent external web services • are created via import from WSDL • allow the EGL developer to stay within the context of EGL programming • Deploy EGL services… • To any platform (Java to WAS/Tomcat, COBOL to CICS, i5/OS ) • As a Web service (uses SOAP) • As a private service (uses CICS ECI or TCP)

  23. Demo

  24. Rational Application Transformation Briefing Sheet Customer: Business: Agri-business ISV Location: Orlando Context: Requirements: Support for additional platforms (currently only support IBM i) Can’t find RPG skills Richer User Interfaces Scope of problem: 5M LOC of RPG systems Have very large and complex RPG programs Solution: Migrating applications to EGL Largest RPG program migrated: 27,000 lines Building new user interfaces in EGL RUI First application in progress; presenting this at their User Conference in March

  25. Summary • Existing RPG or COBOL apps need strategic new UI • Screen scraping good for tactical web UI • Strategic web solutions needed • EGL and EGL RUI • Easy transition for RPG/COBOL developers • Best Web 2.0 tooling on the market today • Automated migration to EGL can give you a competitive advantage • Evolve RPG and COBOL assets into Web 2.0 … strategic UI modernization solution • UI Enrichment opportunities abound • Low risk, Quick ROI • Easy transition for RPG and COBOL developers • Flexible deployment targets • Highly productive and flexible language and environment • Migrate at your own rate and pace: interactive programs only, complete applications, or entire systems • Next Steps • Run a pilot • Contact Todd Britton (tbritton@us.ibm.com) or one of our key partners for more details

  26. Thank You

More Related