Progress Software Corporation · NASDAQ:PRGS
Progress Software — Apero Solutions — Progress Exchange 2014
28 slides from Progress Software's conference presentation, 2014
Slide 1: Creating an Application Framework to Update a Legacy ERP
Creating an Application Framework to Update a Legacy ERP Apero’s Journey to Modernization Oscar Perez & Sophy Nathanail Apero Solutions Inc.
Slide 2: Modernization – A Simple Matter of Survival
Modernization – A Simple Matter of Survival Without starting from scratch on new development, modernizing legacy software allows organizations to maximize the use of their existing application assets and investments. It’s a simple matter of survival
Slide 3: Agenda
Agenda Story of Apero’s Progress ERP Solution • Where We Came From New Emerald GUI Application Framework Strengths Challenges and Things to Watch Out For Emerald Framework in Action • Emerald Architecture • Future Roadmap Recommendations 3 © 2014 Progress Software Corporation. All rights r
Slide 4: Apero Solutions Inc.
Apero Solutions Inc. Based in Edmonton, Alberta, Canada • Employee group in Edmonton, Calgary, Vancouver and Toronto • Offshore partner development team Legacy ERP Solution written in Progress • Roots in the early 1980s Progress development platform • Small Solution provider to mid / large size
Slide 5: Apero Solutions Inc.
Apero Solutions Inc. New Company, Apero Solutions, formed 2011 Problems facing the new company • Old Legacy ERP • Migration path for Existing Customers Goals • New Rich User Interface BUT support CHUI architecture • Future proofing our modernization • Leveraging years of business logic develop
Slide 6: Apero's Solution
Apero’s Solution Options: • Start New Development • Modernize our existing application Decision: • Move core business logic from the traditional Progress legacy code to service-orientation • Same services to be called from multiple UI platforms • Use the standard Progress Application Server Tech
Slide 7: Legacy Application Framework
Legacy Application Framework ERP Trax Product was Developed on an Application Framework “Workbook” • Traditional “culture” for development based on toolkit “workbook” • Allowed for consistent character user interface • Organized Application Structure • Generally Kept re-usable business logic “free
Slide 8: Elements & Goals for the New Application Framework “Emerald”
Elements & Goals for the New Application Framework “Emerald” Application framework was crucial “Emerald” application framework designed to support: Browser based graphical user interface (GUI) Progress Web Services and REST services calls More flexible and configurable data inquiries More so
Slide 9: Consistent UI
New Emerald GUI Application Framework Strengths Consistent UI Standard side bar menus, search options, lookup of tables, display format of individual records, insert of new records, edit of existing records, etc. UI controlled by Emerald and not individual programmer 9 © 2014 Progress Software C
Slide 10: Consistent UI
New Emerald GUI Application Framework Strengths Consistent UI Component-Type Definition SELECTING A COMPONENT TYPE Each type of component offers specific functionality HOME Viewport LOOKUP SETUP LITERAL CUSTOMER LOOKUP SO SEARCH AR BALANCE 10 © 2014 Progress Software Corporation. All rights reserved
Slide 11: Consistent UI
New Emerald GUI Application Framework Strengths Consistent UI Component-Type Definition SELECTING A COMPONENT TYPE Each type of component offers specific functionality HOME 11 © 2014 Progress Software Corporation. All rights reserved.
Slide 12: Consistent UI
New Emerald GUI Application Framework Strengths Consistent UI Component-Type Definition SELECTING A COMPONENT TYPE Each type of component offers specific functionality HOME 12 © 2014 Progress Software Corporation. All rights reserved.
Slide 13: Consistent UI
New Emerald GUI Application Framework Strengths Consistent UI Component-Type Definition SELECTING A COMPONENT TYPE Each type of component offers specific functionality HOME 13 © 2014 Progress Software Corporation. All rights reserved.
Slide 14: Consistent UI
New Emerald GUI Application Framework Strengths Consistent UI COMPONENT CONFIGURATION ( XML ) COMPONENT CODE ACTION IMPLEMENTATIONS ( EXTJS-JSON ) VIEW PROVIDER IMPLEMENTATION ( C#, JSON, COMPONENT-CONFIG ) DATA PROVIDER IMPLEMENTATION ( C# ) UI based on XML Definition 14 © 2014 Progress Software Co
Slide 15: App Framework
New Emerald GUI Application Framework Strengths App Framework DATA UI CONTROLLER CONTROLLER RenderLookup.asc QueryProvider.asc x x 15 © 2014 Progress Software Corporation. All rights reserved.
Slide 16: Organized Application Structure
New Emerald GUI Application Framework Strengths Organized Application Structure JAVASCRIPT LIBRARY DOT.NET MVC FRAMEWORK Presentation Layer DOT.NET UI RENDERING ENGINE GENERIC RPC QUERIES PROGRESS OE WEB AND REST SERVICES Business Servicing Layer PROGRESS OE APPLICATION SERVERS PROGRESS OPENEDGE DAT
Slide 17: Reuse Our Legacy Business Rules Code
New Emerald GUI Application Framework Strengths Reuse Our Legacy Business Rules Code OEMobile/ JS Rest/GerOrd.p SO.ENTRY so/GerOrd.p rest/AddLine. p Mobile App (TRAX) So/AddLine.p Rest Services Dot.Net / JS Common Code so/GetOrd.p 3rd Party Applications ws/GerOrd.p so/AddLine.p ws/AddLine.p Characte
Slide 18: Leverage Our Existing Form Printing and Report Engine
New Emerald GUI Application Framework Strengths Leverage Our Existing Form Printing and Report Engine Existing Reports and forms automatically displayed Character report run through a screen Output automatically formatted as PDF scrapper to auto generate create or Excel Postscript to PDF file Da
Slide 19: Challenges Apero Faced in Development
Challenges Apero Faced in Development Development Issues Extracting embedded Character UI not an easy task • Sometimes it is better to start with a fresh design Customer Credit Limit Calculation Include File: ar/cstcrlkc.i 19 © 2014 Progress Software Corporation. All rights reserved.
Slide 20: Challenges Apero Faced in Development
Challenges Apero Faced in Development Development Issues Supporting both types of application UI, Character and Graphical/web, adds complexity to: • Implementation of transaction-control scope • Implementation of record locking control to support both environments Pessimistic Record Locking Optimi
Slide 21: Challenges Apero Faced in Development
Challenges Apero Faced in Development Development Issues Flexible XML definitions for UI can be cumbersome & required good documentation 21 © 2014 Progress Software Corporation. All rights reserved.
Slide 22: Challenges Apero Faced in Development
Challenges Apero Faced in Development Development Issues Reusing legacy code that uses include files (.i) with shared variables Performance for data retrieval through web calls & also Rich UI screen rendering Creating Open Edge generic and dynamic code to receive CRUD-type call from clients 22
Slide 23: Challenges Apero Faced in Development
Challenges Apero Faced in Development Use of Dynamic Event Driving Calls to Business Rules Temp-Tables and Queries (Implemented using OOP) 23 © 2014 Progress Software Corporation. All rights reserved.
Slide 24: Emerald Roadmap
Future Features for our Application Framework Emerald Roadmap Graphical screen design / mapping tool for the developer More templates for screens User customized screens • Re-arrange columns and fields and save the “view” • Hide / secure tabs • Hide / secure at the field level 24 © 2014 Progre
Slide 25: The Benefits: Modernization – Why It's Worth the Effort
The Benefits Modernization – Why It’s Worth the Effort Richer User Interface / Experience Utilizing New Technology Opening the re-usable business logic layer to multiple UI platforms (mobility) Increased compatibility with 3rd party products Progress Application is Easier: • Market • Demo
Slide 26: Why Devote Time and Money to an Application Framework Design?
The Benefits Why Devote Time and Money to an Application Framework Design? Consistent User Interface Empowers Developers Faster & Lower Cost Organized Application Structure 26 © 2014 Progress Software Corporation. All rights reserved.
Slide 27: Visit the Resource Portal
Visit the Resource Portal Get session details & presentation downloads Complete a survey Access the latest Progress product literature www.progress.com/exchange2014
Slide 28: Progress
S€ PROGRESS