How a spark between Progress and an ISV can easily turn into a fire !

Post on 17-Jan-2016

224 views 0 download

Tags:

transcript

How a spark between Progress and an ISV can easily turn into a fire !

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

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

Introducing ORGANI

ISV since 1995

Introducing ORGANI

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

Introducing ORGANI

Introducing ORGANI

What is this session about ?

• 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 ?

How did we come to this point ?

1977 1996 2000 2002

May, 1977A new company was born

ORGANI

Our timeline ...

CobolCTOSFassport…

1977 1996 2000 2002

May, 1977A new company was born

ORGANI

June, 1995ORGANI joined forces with Progress Software

Our timeline ...

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 ...

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)

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)

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 ...

What was the result of our effort in 2008 ?

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 ...

What was the result of our effort in 2010 ?

2010 2012 2015

2010Start web developmentTelerik RAD Controls

2012Start mobile development

Proxygen & asp.Net

Our timeline ...

Sencha

2010 2012 2015

2010Start web development

2012Start mobile development

Proxygen & asp.Net

Sencha

Our timeline ...

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 ...

Architecture of most recent application

DATA SOURCES

DATA ACCESS

TEMP TABLES

UI LOGIC

UI

DATABASE

BUSINESSLOGIC

UILOGIC

PRESENTATION

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

Short term & long term strategy

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, …)

How do you start modernising ?

Short term : migration of applications without rewriting code

• Strong collaboration with framework vendor

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, …

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

New menu

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 …

Frames to forms

Progress window ( *.w)

Toolbar / menubar

Frame

Progress form (*.cls)

Data toolbar / menubar ctrlCommandBar / ctrlRibbonBar

ctrlClientDockArea

Frame

Conversion of browser to grid

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

Say no to shared variables

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, …

KENDO UI Mobile via JSDO (REST)

Business Entity Database

MODEL

VIEW

Controller

3th partyWeb API (limited

functions)

FRONTEND BACKEND

BASE CONTROL…

BASE CONTROLINFRAGISTICS

BASE CONTROLTELERIK

INTERFACE

COMMON CONTROLVIEW

CONTROL FACTORY

Implements

Demonstration

COMMON CONTROL

INTERFACE

BASE CONTROLTELERIK

CONTROL FACTORY

Generation of code

Demonstration

MODEL

VIEW

Controller

Router

ShowCustomer

Returns view & model

Exposing the code

Demonstration

BE

SCE

MODEL Controller

KENDO UI(MVVM)

Where do we go from here ... ?

Build our own toolset of controls Build our own toolset of utils Build complex templates

Winner gets an Organi goodie bag :

Quiz

• Let’s KAHOOT !