how a spark between progress and an isv can easily turn into a fire !
TRANSCRIPT
![Page 1: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/1.jpg)
How a spark between Progress and an ISV can easily turn into a fire !
![Page 2: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/2.jpg)
Introducing Peggy Cole
- Software Coordinator- Member of the Organi R&D team- 15 years Progress experience- OE, OOP, ABL, Dynamics (ADM2), web
services, Visual Studio, socket connections, XML, XSLT, …
- Passionated about optimizing queries and her son
![Page 3: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/3.jpg)
Introducing Gerd De Bruyckere
- Software Architect- Member of the Organi R&D team- 14 years Progress experience- OE, OOP, ABL, web services, Sonic,
Visual Studio, asp.Net, Ajax, Java, Sencha, Telerik, Html 5, Jquery, …
- Passionated about software and single malt whisky
![Page 4: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/4.jpg)
Introducing ORGANI
ISV since 1995
![Page 5: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/5.jpg)
Introducing ORGANI
![Page 6: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/6.jpg)
Introducing ORGANI
- Based in Antwerp (Belgium)- Software, hardware & services- Solution for 4 market segments :
- Wholesale, production, distribution- Logistic services- Finance departments &
accountants- Bailiffs & debt collection
![Page 7: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/7.jpg)
Introducing ORGANI
![Page 8: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/8.jpg)
Introducing ORGANI
![Page 9: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/9.jpg)
What is this session about ?
![Page 10: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/10.jpg)
• Migration of some “old” applications to become 64-bit compliant Telerik applications
• Issues we came across and where we have (no) solution
for • Making advantage of some new features of OpenEdge like
reflection, OERadRibbonForm, … • Future development like new templates, Kendo UI
What is this session about ?
![Page 11: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/11.jpg)
How did we come to this point ?
![Page 12: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/12.jpg)
1977 1996 2000 2002
May, 1977A new company was born
ORGANI
Our timeline ...
CobolCTOSFassport…
![Page 13: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/13.jpg)
1977 1996 2000 2002
May, 1977A new company was born
ORGANI
June, 1995ORGANI joined forces with Progress Software
Our timeline ...
![Page 14: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/14.jpg)
1977 1996 2000 2002
May, 1977A new company was born
ORGANI
1996Start development ORDAS II (new version of our ERP for wholesale & industry) - ProShield
June, 1995ORGANI joined forces with Progress Software
Data & layout in 1 screen
Our timeline ...
![Page 15: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/15.jpg)
1996 2000 2002
1996Start development ORDAS II (new version of our ERP for wholesale & industry) Proshield
Data & layout in 1 screen
Our timeline ...
2000Start development BEVEX II (ERP for logistics services) ProShield 6.1)
![Page 16: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/16.jpg)
1996 2000 2002
1996Start development ORDAS II (new version of our ERP for wholesale & industry) Proshield
Data & layout in 1 screen
2000Start development BEVEX II (ERP for logistics services) ProShield 6.1)
2002Start development ORAS III (Financial solution)(using ProShield 7)
Our timeline ... 2001Start development OLS(Logistics solution)(using Progress Dynamics)
![Page 17: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/17.jpg)
2002 2008 2010
2002Start development ORAS III (Financial solution)(using ProShield 7)
2008Start development TAGOR III (Bailiffs solution) – OE 10.2 B(using ProShield 8)
Datasets, temptables, OO, Codejock integration
Our timeline ...
![Page 18: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/18.jpg)
![Page 19: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/19.jpg)
What was the result of our effort in 2008 ?
![Page 20: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/20.jpg)
2002 2008 2010
2002Start development ORAS III (Financial solution)(using ProShield 7)
2008Start development TAGOR III (Bailiffs solution) – OE 10.2 B(using ProShield 8)
Datasets, temptables, OO, Codejock integration
2010Start web developmentTelerik RAD Controls
Proxygen & asp.Net
Our timeline ...
![Page 21: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/21.jpg)
![Page 22: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/22.jpg)
What was the result of our effort in 2010 ?
![Page 23: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/23.jpg)
2010 2012 2015
2010Start web developmentTelerik RAD Controls
2012Start mobile development
Proxygen & asp.Net
Our timeline ...
Sencha
![Page 24: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/24.jpg)
![Page 25: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/25.jpg)
2010 2012 2015
2010Start web development
2012Start mobile development
Proxygen & asp.Net
Sencha
Our timeline ...
![Page 26: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/26.jpg)
2010 2012 2015
2010Start web development
2012Start mobile development
2015Joined effort new project(ProShield Fly2Pro)
- 64 bit- Infragistics & Telerik- Object Oriented- Prodatasets- New controls- Kendo UI
Proxygen & asp.Net
Sencha
Our timeline ...
![Page 27: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/27.jpg)
Architecture of most recent application
![Page 28: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/28.jpg)
DATA SOURCES
DATA ACCESS
TEMP TABLES
UI LOGIC
UI
DATABASE
BUSINESSLOGIC
UILOGIC
PRESENTATION
![Page 29: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/29.jpg)
UI
PRESENTATION
DATA
SO
UR
CES
DATA
AC
CES
S
TEM
P T
AB
LES
UI LO
GIC
UI LOGIC BUSINESS LOGIC DB
.w.p
(superpr)
Business entity class
Server component
classApp
server
Context management
Session management
Exception management
![Page 30: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/30.jpg)
Short term & long term strategy
![Page 31: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/31.jpg)
Why modernisation ?
Organi
Customers
Developers
Prospects
• Move forward• Don’t forget the past
• New, modern UI• New features
• Keep the motivation• Attract new developers
• Compete with the competition (Navision, SAP, …)
![Page 32: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/32.jpg)
How do you start modernising ?
Short term : migration of applications without rewriting code
• Strong collaboration with framework vendor
![Page 33: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/33.jpg)
Fly2Pro
Styles
CLS
CTRL
FRM
LIB
PRG
IMG
Contr.
Styles folder with themes
Include folder for transaction handling, dataset includes, …
Common classes like an Util class, a class for converting browsers to grids, window
api class
Here resides the real controls from Infragistics or
Telerik Winforms
Forms, like the login form, the menu shell, datepicker
form, …
Controller class for forms, security, task panel, …
Image folder, contains the images for ribbonbar, menu
items, …
Program folder with the framework programs like
user maintenance, security, …
![Page 34: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/34.jpg)
How do you start modernising ?
Short term : migration of applications without rewriting code
• Strong collaboration with framework vendor• Adding some new features :
New modern menu Embedding frames into forms Conversion of browser to grid Get rid of shared variables
![Page 35: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/35.jpg)
New menu
![Page 36: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/36.jpg)
![Page 37: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/37.jpg)
How to create a telerik menu …
1. Create a form2. Let it inherit from the new forms that are build on Telerik3. Add a RadDock to the form 4. Add DockWindow and document window5. Run the form
And the rest is up to you …
![Page 38: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/38.jpg)
![Page 39: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/39.jpg)
Frames to forms
![Page 40: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/40.jpg)
Progress window ( *.w)
Toolbar / menubar
Frame
Progress form (*.cls)
Data toolbar / menubar ctrlCommandBar / ctrlRibbonBar
ctrlClientDockArea
Frame
![Page 41: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/41.jpg)
Conversion of browser to grid
![Page 42: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/42.jpg)
1. Start a form2. Build ribbonbar (data driven)3. Embed the old window & change background color of frame 4. Create grid, add to form (voForm:Controls:Add(voGrid) and bring to front 5. Attach query of browser to bindingsource of grid
Special thanks to
Mike Fechner
![Page 43: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/43.jpg)
Say no to shared variables
![Page 44: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/44.jpg)
![Page 45: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/45.jpg)
![Page 46: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/46.jpg)
How do you start modernising ?
Long term : New templates
• Choice between Infragistics, Telerik, … no dependency• Create a set of properties, methods, events, … for our
developers to choose• Use new techniques like Kendo UI, enumurations,
reflection, business entity, …
![Page 47: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/47.jpg)
KENDO UI Mobile via JSDO (REST)
Business Entity Database
MODEL
VIEW
Controller
3th partyWeb API (limited
functions)
FRONTEND BACKEND
![Page 48: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/48.jpg)
BASE CONTROL…
BASE CONTROLINFRAGISTICS
BASE CONTROLTELERIK
INTERFACE
COMMON CONTROLVIEW
CONTROL FACTORY
Implements
![Page 49: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/49.jpg)
Demonstration
![Page 50: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/50.jpg)
COMMON CONTROL
![Page 51: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/51.jpg)
INTERFACE
![Page 52: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/52.jpg)
BASE CONTROLTELERIK
![Page 53: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/53.jpg)
CONTROL FACTORY
![Page 54: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/54.jpg)
Generation of code
![Page 55: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/55.jpg)
Demonstration
![Page 56: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/56.jpg)
MODEL
VIEW
Controller
Router
ShowCustomer
Returns view & model
![Page 57: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/57.jpg)
Exposing the code
![Page 58: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/58.jpg)
Demonstration
![Page 59: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/59.jpg)
BE
SCE
MODEL Controller
KENDO UI(MVVM)
![Page 60: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/60.jpg)
Where do we go from here ... ?
Build our own toolset of controls Build our own toolset of utils Build complex templates
![Page 61: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/61.jpg)
![Page 62: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/62.jpg)
Winner gets an Organi goodie bag :
Quiz
![Page 63: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/63.jpg)
• Let’s KAHOOT !
![Page 64: How a spark between Progress and an ISV can easily turn into a fire !](https://reader035.vdocuments.mx/reader035/viewer/2022081506/5697bfa61a28abf838c98391/html5/thumbnails/64.jpg)