Facing the Challenges of modernizing legacy Open Edge ABL code and its concurrency control  Presenter: Oscar Perez Cedron Date: June

Slides:



Advertisements
Similar presentations
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Advertisements

New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Apache Struts Technology
UNIT-e Research & Development Microsoft Technology Day Stephen Cain (System Architect)
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
WORKDAY TECHNOLOGY Stan Swete CTO - Workday 1.
Live dashboards for Progress built by anyone, available anywhere. Introducing DataPA OpenAnalytics Nick Finch CTO.
Client/Server Architecture
Performance testing of Progress Appservers and a plug-in for Jmeter
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Model Bank Testing Accelerators “Ready-to-use” test scenarios to reduce effort, time and money.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
Introduction to the Adapter Server Rob Mace June, 2008.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Introduction to soarchitect. agenda SOA background and overview transaction recorder summary.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Presentation.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
1.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Mary Ganesan and Lora Strother Campus Tours Using a Mobile Device.
Database Principles: Fundamentals of Design, Implementation, and Management Chapter 1 The Database Approach.
Case Study: Application Modernization June 27, 2016 Rob Marshall.
The Holmes Platform and Applications
J2EE Platform Overview (Application Architecture)
Introduction to Oracle Forms Developer and Oracle Forms Services
Building Enterprise Applications Using Visual Studio®
L25 - PlantPAx Process Application Development Lab I
Netscape Application Server
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
The Client/Server Database Environment
The Client/Server Database Environment
IBM Data Server Gateway for OData
IBM Start Now Host Integration Solutions
Migrating Oracle Forms Using Oracle Application Express
Enterprise Application Architecture
Design and Maintenance of Web Applications in J2EE
Enterprise Application Integration Styles
Architectural Roadmap
Modern web applications
Lecture 1: Multi-tier Architecture Overview
ARCH-1: Application Architecture made Simple
WEBINAR: Test Automation & Robotic Automation of Dynamics AX with Rapise October 18th, 2018 – Adam
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Modern web applications
Replacing Legacy Bank Account Management System Using Business Rules
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Web Application Architectures
Presents: Rally To Java Conversion Suite
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Database Connectivity and Web Development
敦群數位科技有限公司(vanGene Digital Inc.) 游家德(Jade Yu.)
Web Application Architectures
David Cleverly – Development Lead
Remedy Integration Strategy Leverage the power of the industry’s leading service management solution via open APIs February 2018.
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
DBOS DecisionBrain Optimization Server
Demo for Partners and Customers
Presentation transcript:

Facing the Challenges of modernizing legacy Open Edge ABL code and its concurrency control  Presenter: Oscar Perez Cedron Date: June

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.

3 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

4 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 1980’s Progress development platform –Small Solution provider to mid / large size hard goods distributors –Over 30 years of functional development & business logic –Global customer based with demands for continued support as well as new development in functionality, services and integration to 3 rd party products

5 Apero Solutions Inc. New Company Apero Solutions formed 2011 Problems Facing the New Company –Old Legacy ERP was dated and next to impossible to promote in today’s marketplace –Large existing customer base which required a definitive migration path Goals –Ability to allow users the choice of the traditional interface or new browser/mobile based interface – supporting both environments for some period into the future. –Future proofing our modernization efforts so we don’t have to start from scratch as new technology emerges –Leveraging years of business logic development in the core ERP with minimal re-development

6 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 –Progress Web and Rest Services in Progress Open Edge Same services to be called from multiple UI platforms –Browser / Mobile / Web Store –But maintaining integrity of CHUI (character) Interface Use the standard Progress Application Server Technology Develop a new rich UI based on.net and Browser delivery

7 Legacy Application Framework  ERP Trax product was developed on an Application Framework “workbook” The “culture” for our development team was always based on essential software design principles defined by “workbook” - an early version of our application framework Allowed for consistent character user interface Organized Application Structure Generally Kept re-usable business logic “free” of UI code –Example “getPrice”, “getAFS” Code Generation for basic CRUD operations and master table list and printing Generic way to pass dynamic parameters among shared application code and includes.

8 Elements & Goals for the New Application Framework “Emerald”  Apero Recognized an application framework in the new development environment was crucial  “Emerald” application framework designed to support: Browser based graphical user interface (GUI) –Sencha EXT JS framework for JavaScript Progress Web Services and REST services calls More flexible and configurable data inquiries that can include richer GUI widgets More solid application-security control now expanded up to data-field levels. Transaction control and record locking for data modifications in the newly stateless environment.

9 New Emerald GUI Application Framework Strengths  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 Consistent UI

10 New Emerald GUI Application Framework Strengths SEARCH BALANCE SO AR CUSTOMER LOOKUP HOME SELECTING A COMPONENT TYPE Each type of component offers specific functionality SETUP LOOKUP FREE-FORM Viewport Component-Type Definition Consistent UI

11 Consistent UI New Emerald GUI Application Framework Strengths VIEW PROVIDER IMPLEMENTATION ( C#, JSON, COMPONENT-CONFIG ) DATA PROVIDER IMPLEMENTATION ( C# ) COMPONENT CONFIGURATION ( XML ) COMPONENT CODE ACTION IMPLEMENTATIONS ( EXTJS-JSON ) UI based on XML Definition

12 New Emerald GUI Application Framework Strengths (Consistent UI) UI CONTROLLER RenderLookup.ascx DATA CONTROLLER QueryProvider.ascx App Framework

13 New Emerald GUI Application Framework Strengths Presentation Layer Business Servicing Layer Data access Layer Organized Application Structure Java Script Library Dot.net MVC Framework UI Rendering Engine REST and SOA Services OE Pacific APP Server OE RDBMS

14 New Emerald GUI Application Framework Strengths Generic Business Layer RDBMS Triggers Db Integrity Rules Data Legacy Legacy ABL Includes (.i) Legacy ABL Procedures (.p) Application Business Rules RPC Classes Business Objects Generic Business Classes RPC Calls CRUD Calls Data Query Calls Enterprise Services Pacific App Server Client Requests Security Share Memory Context

15 Reuse our legacy business rules code New Emerald GUI Application Framework Strengths so/GerPrice.p So/TaxCalc.i Character Code so/EditHeader.p so/EditLine.p SO.ENTRY (TRAX) SO.ENTRY (TRAX) Dot.Net / JS ws/GerOrd.p ws/AddLine.p OEMobile/ JS Rest/GerOrd. p rest/AddLine. p Common Code Rest Services Web Services Rich Web App Mobile App 3 rd Party Applications Before Update SO-Trans (BO) After Update After Read Do Actions

16 Development Issues Challenges Apero Faced in Development Extracting embedded Character UI from existing legacy “workbook” framework and legacy business rule code is not always an easy task. Sometimes it is better to start with a fresh design Customer Credit Limit Calculation Include File: ar/cstcrlkc.i

17 Development Issues Challenges Apero Faced in Development Factorizing Legacy Messaging and Notification Utility.

18 Development Issues Challenges Apero Faced in Development Factorizing Legacy Messaging and Notification Utility.

19 Challenges Apero Faced in Development Creating Open Edge generic and dynamic code to receive CRUD-type call from clients Event Driving Calls to Business Rules (Implemented using OOP) Use of Dynamic Temp-Tables and Queries

20 Development Issues Challenges Apero Faced in Development Reusing legacy code that uses include files (.i) with shared variables Provide good performance not only for data retrieval through web calls but also to the Rich UI screen rendering.

21 Development Issues Challenges Apero Faced in Development Pessimistic Record Locking Optimistic Record Locking 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.

22 Leverage our existing form printing and report engine New Emerald GUI Application Framework Strengths Modern reports and forms are created from existing character reports without requiring a code re-write. ASC file from the character report is run through a screen scrapper (mapping) to create Postscript output, which is used to create a PDF file. Database report option records automatically render in browser UI Output automatically formatted as PDF or Excel

23 Modernization - Why It’s Worth the Effort The Benefits Richer User Interface / Experience Utilizing New Technology Opening the re-usable business logic layer to multiple UI platforms (mobility) Increased compatibility with 3 rd party products Allows your Progress Application to be: Easier to market Easier to demo Easier to sell Easier to support