Scope:
Share the key takeaways after migrating or modernizing several Progress character UI/desktop legacy applications.
Key Elements:
- What could be the business cases for taking action in “upgrading” a Progress character UI/desktop application?
- What are main the strategies that can be followed?
- What are the Progress tools that can help out in taking the approach on fast forward?
- What could be the long-term vision taking into account the business drives and the technology trends?
Key Takeaways:
- In which direction should I go with my Progress character/desktop UI app?
- What are the Progress tools and processes that can help out in this journey?
5. MY COMPANY
EXPERIENCE NEW INITIATIVES
MODERNISATIONS
APPLICATION DEVELOPMENT
GO MOBILE & IOT
S
O
L
U
T
I
O
N
S
https://www.tss-yonder.com
SERVICES
Agile
coaching
&
Automation
25 yrs+
6. OpenEdge Character UI… remember?
WHY: Business case… for taking action on it
WHAT: Strategies… that can be taken
HOW: Progress tools… that can help out
Q&A
Agenda
9. USER INTERFACE
User interface (UI) - the space where interactions between humans and machines happen
Command-
line
interfaces
(CLI)
Character-
based
interfaces
(CUI)
Or
Text-based
user
interface
(TUI)
Conversatio
nal
interfaces
Gesture
interfaces
Graphical
interfaces
(GUI)
Touch user
interface
Voice user
interface
10. ❑ ChUI
o A text-based user interface (also called a terminal user interface or a character-based user
interface - ChUI) is a user interface that uses text, symbols, and colors. It runs in a character-
based terminal.
❑ ChUI project type
o A ChUI project type is an OpenEdge project specialized for character-based UI
development and uses TTY as the runtime.
❑ ChUI vs GUI (Graphical User Interface)
o CUI, invented by Xerox in the ‘70s,
predates GUI, which was introduced by
Apple in 1984. GUI makes possible the
interaction by using a mouse instead of
only keyboard
OPENEDGE CHARACTER UI
17. High cost of supporting and maintaining expensive
legacy applications
WHY DO IT?
Legacy maintenance costs
18. Inefficient, slow and less productive system compared
to the competition
WHY DO IT?
*Monitor Service for Unified
Communications Survey by
Eastern Management Group
20. Higher time to market due to large, monolithic,
complex and less productive systems
WHY DO IT?
21. Integration issues with newer systems due to
incompatibility with new and different technologies
WHY DO IT?
*2019 The State of Ecosystem and Application Integration Report:
companies ranging from $50 million to more than $1 billion in annual revenue.
22. WHY DO IT?
*2019 The State of Ecosystem and
Application Integration Report
IT decision-makers expressed concern in their ability to:
23. BAD REASON
WHY DO IT?
Replace an old technology with some new
fancy technology
26. REWRITE?
How do I renew my (30-year-old) software platform?
You don’t.
Unless:
o You already started the project (can you still get out of it?)
o You cannot keep up with security requirements
o You get paid by customers to do it
When you do:
o Use small increments (max single project length 6 months)
o Build the new technology around the old technology (backend vs. frontend)
o Ask money for new features
o Do NOT rebuild the old logic! (only user interface if the functionality is the same)
o Revolutionize the way the application works
28. Cleanup
•Major preparation step
•Eliminate dead code
Data change
•Eg. Y2K, elimination of a
table, standardize
•Requires impact analysis
Modularization
•Major refactoring
•Especially in monolith
•Small manageable
pieces
Modernization
•Intentional improvement
•Redesign and upgrade
Migration
•Big bang approach
•Build new applications
starting from the
existing one
•Reverse & forward
engineering
Complexity
Effort
DEGREES OF CHANGE
29. Improve
existing
•Better results
through improved
design
Duct tape
•Small-scale
changes are
performed using
new technology
Gradual
replacement
•A component is
replaced with a
new application on
a new technology
Big Bang
•Entire system is
rebuilt using new
technology
•The old system is
sunsetted ☺
Complexity
Effort
LIFE CYCLE EXTENSION APPROACHES
30. Improve
existing
Duct Tape
approach
Gradual
replacement
Big Bang
Modernization Low Moderate High High
System change Application Application Application Enterprise
Risk severity Low Low Moderate Very high
Duration Moderate
(months)
Moderate
(months)
Long
(multi years)
Long
(multi years)
Funding required Moderate Moderate High High
Success rate High High High Moderate
Popularity High High High Low
APPROACH COMPARISON
34. OPENEDGE FRAMEWORK CHOICES
Spark, Fluid, Evolution, escript
Quarix
iMo
SmartComponent Library
Akioma
OF-1
…
Choose the
one that fits
your
business!
35. HOW PROGRESS CAN HELP - RESOURCES
● REST API (OData) for Progress OpenEdge
https://www.progress.com/odata/openedge
● Health Cloud
https://www.progress.com/solutions/health-cloud
● DevOps - Docker Container for PASOE
https://community.progress.com/community_groups/openedge_deployment/w/openedgedeplo
yment/3280.docker-container-for-pasoe-faq
● Security
• OpenEdge Authentication Gateway to authenticate and authorize users of the application
• OpenEdge Transparent Data Encryption to secure access to the data
• Progress Application Server for OpenEdge to utilize Spring Security standards
• OpenEdge Replication to protect against data loss due to a breach or disaster
• OpenEdge Change Data Capture to ensure accuracy across the enterprise
• Progress DataDirect OpenAccess helps mask data to various users
36. HOW PROGRESS CAN HELP - RESOURCES
● Data Integration and Management
• OpenEdge Multi-Tenancy to ensure privacy between tenant data in cloud deployment
• OpenEdge Replication to improve uptime and protect against data loss due to a breach or
disaster
• OpenEdge Change Data Capture to ensure data accuracy across the enterprise
• OpenEdge Table Partitioning for easing maintenance and increased performance
• OpenEdge Management for proactive management of the database
• Progress Managed Database Administration provides DBA experts to handle your database
management tasks
• OpenEdge Pro2 for real-time data replication for reporting and analytics purposes
• Progress DataDirect for connectivity and integration from any data source to any data target
● User Interface/User Experience
• Progress Kendo UI, a complete UI toolkit for building modern web apps
• Progress Sitefinity for delivering rich, personalized user experiences across all digital channels
• NativeScript and Progress Kinvey to deliver native cross/platform mobile and web apps with
beautiful UX faster and with less code reuse
37. Initiate Assess Plan Perform
• Clarify basis for change
• Quantify revenue loss
• Clarify business case
• Involve a software
development partner
• Involve your customers
• Application inventory
• Analytics
• Approach comparison
• Prioritization
Analysis of current
system
• Static and dynamic
code analysis
• Key system metrics
(LOC, FP, complexity)
• App structure,
dependencies
• Estimation of total
effort
• Start small (<6 months)
• Overall roadmap
• Critical path
• Refine business plan
• Design thinking
• Customer driven
development
• UX/UI
• Persona-based
increments
• Automate functionalities
• Execution in iterations
• Business value priorities
• Performance management
• Continuous improvement
• Continuous delivery
• Test automation
• Customer engagement
• Functional analytics
TAKEAWAYS
● When should I start thinking (doing) about my ChUI app? NOW !
● What steps should I take for extending the lifecycle of my product?
38. Stop looking in the rearview mirror…
THE FUTURE
FOCUS ON THE ROAD AHEAD!
40. Thank you.
CONTACT: progress@tss-yonder.com
E gabriel.lucaciu@tss-yonder.com l M +40 743232464 l W www.tss-yonder.com
A 77, 21 Decembrie 1989 St., Building A, 1st floor | 400604 Cluj Napoca | Romania