deutschland gmbh migrating to genero. jan. 2006 - adaptris deutschland gmbh 2 our contact adaptris...
TRANSCRIPT
Deutschland GmbH
Migrating to Genero
Jan. 2006 - ADAPTRIS Deutschland GmbH 2
Our contact
Adaptris Deutschland GmbHHollerallee 2628209 Bremen
+49 (0)421 / 1686-775 [email protected] www.adaptris.dewww.adaptris.com
Jan. 2006 - ADAPTRIS Deutschland GmbH 3
Agenda
Why migrate to Genero?
Why change to a GUI?
Project description - (objectives, before & after)
Screen conversions
Program conversions
Our experience with Genero
Jan. 2006 - ADAPTRIS Deutschland GmbH 4
Why migrate to Genero?
Why Migrate to Genero?
Jan. 2006 - ADAPTRIS Deutschland GmbH 5
How did we arrive at Genero?
Our customers develop in Informix 4GL
Existing internal Informix and I-4GL skill set
Existing experience converting text to GUI
Genero’s concept convinced us
Why migrate to Genero?
Jan. 2006 - ADAPTRIS Deutschland GmbH 6
Example converting text to GUI on an AS/400
Why migrate to Genero?
Jan. 2006 - ADAPTRIS Deutschland GmbH 7
Critical Sucess Factors:
Minimal modifications to source code
Quick results
Perspectives for future development
Portability (must support Linux)
Why migrate to Genero?
Jan. 2006 - ADAPTRIS Deutschland GmbH 8
Why Convert to a GUI?
Why convert to a GUI?
Jan. 2006 - ADAPTRIS Deutschland GmbH 9
Why should you convert to a GUI?
State-of-the-art design - user acceptance, competitive positioning
User ergonomics- users now familiar with intuitive GUI paradigm
Powerful new features - list boxes, images, other widgets...
Why convert to a GUI?
Jan. 2006 - ADAPTRIS Deutschland GmbH 10
GUI requirements:
Mass data entry easier from a keyboard data entry programs optimised for no mouse
Adhere to GUI standards - respect the GUI paradigm
Why convert to a GUI?
Jan. 2006 - ADAPTRIS Deutschland GmbH 11
Project description
Conversion Parameters
Jan. 2006 - ADAPTRIS Deutschland GmbH 12
Project description
Projects:
Two conversions for two customers
Original applications developed by Adaptris
Customers developed bespoke improvements
Jan. 2006 - ADAPTRIS Deutschland GmbH 13
Project description
Both applications:
Highly specialized w/ complex business logic
Informix 4GL Genero
SCO Unix Linux
Development guidelines existed - but not always 100 % adhered to
Jan. 2006 - ADAPTRIS Deutschland GmbH 14
Project A:
Perform 1:1 conversion
Very short term - three weeks to convert
Conversion 100% executed by Adaptris
Future development performed by customer
Project description
Key metrics: 354 programs 3.023 modules 625 screens 1.174.100 lines of source code
Jan. 2006 - ADAPTRIS Deutschland GmbH 15
Project description
Key metrics: 242 programs 1.522 modules 596 screens 574.684 lines of source code
Project B: Conversion with significant enhancements Medium term – two man months to convert Conversion executed in tight collaboration at
customer site Future development performed by customer
Jan. 2006 - ADAPTRIS Deutschland GmbH 16
Screen conversions
Screen Conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 17
Project A – screens were…
… divided into sub programs
– header and data areas
… peppered with special characters
– alphanumeric ‘frame’ characters
… optimized for 25x80 text screens
– not changed for the 1:1 conversion
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 18
Screen head
Data area
Pop up windows (like selections)
Menu
Schema of the old text screens: Header wasoutput by a sub program
Sometimes overlaid
“windows”were used
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 19
Typical screen layout:
FrameCharacters!
Header
Menu
Data area
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 20
SCREEN{┌──────────────────────────────────────────────────────────────────────alkon02┐│ ANREDE-KZ :[a] [a1 ] ZUORDNUNG :[a7 ]││ BERUF/BRANCHE :[a2 ] SPRACHEN-SS :[a8 ] ││ TITEL :[a3 ] GEBURTSTAG :[a9 ]││ VORNAME :[a4 ] ││ NACHNAME/FIRMA:[a5 ] ┌─────────────────────────┐ ││ NAME 3 :[a6 ] │ SUCHBEGRIFF :[s1 ] │ │├─────────────────────────────────────────────────┤ ├─┤│ POSTFACH :[b1 ] │ ANSCHRIFT-NR :[s2 ] │ ││ STRASSE :[b2 ] └─────────────────────────┘ ││ LAND-SS LAND :[b3 ] [b4 ] ││ PLZ ORT BL :[b5 |b6 |b7 ] [c ]││ ORT ALT+INFO :[b8 |b9 ]│├─────────────────────────────────────────────────────────────────────────────┤│ KOMMUNIKATION : ART LANDVORWAHL ORTVORWAHL ANSCHLUSS KURZWAHL ANZ ││ [k1 ][k2 ][k3 ][k4 ][k5 ] [d] │└─────────────────────────────────────────────────────────────────────────────┘}
Typical screens with frame characters
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 21
Console text output – data data area only
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 22
SCREEN{+----------------------------------------------------------------------alkon02+| ANREDE-KZ :[a] [a1 ] ZUORDNUNG :[a7 ]|| BERUF/BRANCHE :[a2 ] SPRACHEN-SS :[a8 ] || TITEL :[a3 ] GEBURTSTAG :[a9 ]|| VORNAME :[a4 ] || NACHNAME/FIRMA:[a5 ] +-------------------------+ || NAME 3 :[a6 ] | SUCHBEGRIFF :[s1 ] | |+-------------------------------------------------+ +-+| POSTFACH :[b1 ] | ANSCHRIFT-NR :[s2 ] | || STRASSE :[b2 ] +-------------------------+ || LAND-SS LAND :[b3 ] [b4 ] || PLZ ORT BL :[b5 |b6 |b7 ] [c ]|| ORT ALT+INFO :[b8 |b9 ]|+-----------------------------------------------------------------------------+| KOMMUNIKATION : ART LANDVORWAHL ORTVORWAHL ANSCHLUSS KURZWAHL ANZ || [k1 ][k2 ][k3 ][k4 ][k5 ] [d] |+-----------------------------------------------------------------------------+}
Definition converted ASCII / ANSI Character conversion needed first, if moving to a UTF-8 file system
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 23
GUI output
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 24
GUI screens
Have no title (“screen”)
Special characters are displayed
Frame characters are displayed untouched
If converting to a UTF-8 file system these characters need replacing first
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 25
Adaptris developed a tool to analyse and convert these old screens
The conversion program
Deleted frame characters
Redefined screen layouts with their names
Added ‘groups’ and ‘grids’ to replace frame characters
Created real, resizable GUI tables
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 26
-- TOOLBARLAYOUT (text="kowin_02")VBOXGROUP (text="")GRID{ ANREDE-KZ [a] [a1 ] ZUORDNUNG [a7 ] BERUF/BRANCHE [a2 ] SPRACHEN-SS [a8 ] TITEL [a3 ] GEBURTSTAG [a9 ] VORNAME [a4 ] NACHNAME/FIRMA [a5 ] NAME 3 [a6 ] SUCHBEGRIFF [s1 ] }END -- GRIDEND -- GROUPGROUP (text="")GRID{ POSTFACH [b1 ] ANSCHRIFT-NR [s2 ] STRASSE [b2 ] ...
Result after conversion (1/2):Strip frame characters and add Genero screen layout syntax
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 27
... LAND-SS LAND [b3 ] [b4 ] PLZ ORT BL [b5 |b6 |b7 ] [c ] ORT ALT+INFO [b8 |b9 ] }END -- GRIDEND -- GROUPGROUP (text="")GRID{ KOMMUNIKATION ART LANDVORWAHL ORTVORWAHL ANSCHLUSS KURZWAHL ANZ [k1 ][k2 ][k3 ][k4 ][k5 ] [d] }END -- GRIDEND -- GROUPEND -- VBOXEND
Screen conversions
Result after conversion (2/2):Strip frame characters and add Genero screen layout syntax
Jan. 2006 - ADAPTRIS Deutschland GmbH 28
Conversion protocol: INFO: 20060112 12:53:39.010 Starte Konvertierung:INFO: 20060112 12:53:39.010 Eingabedatei: per_in\kowin_02.perINFO: 20060112 12:53:39.010 Ausgabedatei: per_out\kowin_02.perINFO: 20060112 12:53:39.010 Die Ausgabedatei existiert und wird überschriebenINFO: 20060112 12:53:39.020 66 Zeilen gelesenINFO: 20060112 12:53:39.020 Screen startet Zeile 3INFO: 20060112 12:53:39.020 LAYOUT & VBOX eingefügt; O-Zeile 2INFO: 20060112 12:53:39.020 GROUP / GRID beginnt; O-Zeile 5INFO: 20060112 12:53:39.020 VBOX beendet; O-Zeile 12INFO: 20060112 12:53:39.020 GROUP / GRID beginnt; O-Zeile 12INFO: 20060112 12:53:39.020 VBOX beendet; O-Zeile 18INFO: 20060112 12:53:39.020 GROUP / GRID beginnt; O-Zeile 18INFO: 20060112 12:53:39.020 LAYOUT beendet; O-Zeile 22INFO: 20060112 12:53:39.020 79 Zeilen geschrieben
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 29
Screen after automatic conversion:
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 30
And after 1 minute of manual fine-tuning:
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 31
SCREEN{┌──────────────────────┬─────────┬─────┬───────┬──────────────────┬───────────────alkon55┐│ NAME/FIRMA │ SUCHB │ LKZ │ PLZ │ ORT │ STRASSE │├──────────────────────┼─────────┼─────┼───────┼──────────────────┼──────────────────────┤│[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]││[a ]│[b ]│[c ]│[d ]│[e ]│[f ]│└──────────────────────┴─────────┴─────┴───────┴─────────────────┴───────────────────────┘}
Table Definition with special frame characters
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 32
Table output without change
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 33
Output after converting
Automatic Table properties without coding: Sorting rows (click on row header) Switch rows on/off (visible/invisible) Interchange rows Scrollbar
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 34
¨········································································lbn12¸¦ ÜBERSICHT ROHSTOFF ¦ ····································¼·············¼··························¾¦ ARTIKEL ¦ BESTAND ¦ LETZTE ÄNDERUNG ¦¦ARTNR¦ BEZEICHNUNG ¦ KG ¦ ZUGANG ¦ ABGANG ¦KORREKTU¦ ·····¬······························¬·············¬········¬········¬········¾[a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ]ª·····½······························½·············½········½········½········º
Problems with tables
If we have several lines of row description
Note: this is what the screen description looks like without any character set conversion
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 35
¨········································································lbn12¸¦ ÜBERSICHT ROHSTOFF ¦ ····································¼·············¼··························¾¦ ARTIKEL ¦ BESTAND ¦ LETZTE ÄNDERUNG ¦¦ARTNR¦ BEZEICHNUNG ¦ KG ¦ ZUGANG ¦ ABGANG ¦KORREKTU¦ ·····¬······························¬·············¬········¬········¬········¾[a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ][a1 |a2 |a3 |a4 |a5 |a6 ]ª·····½······························½·············½········½········½········º
Problems with tables
If we have several lines of row description
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 36
Example: Input fields and table in one screen
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 37
Project B – conversion with enhancements
Reorder input fields (better overview)
Create screen space with new widgets (tabs)
Associative access (check box, combo box)
Pictures (e.g. for articles in stock)
Enhanced copy and paste (whole tables)
Examples ...
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 38
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 39
Screen conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 40
Program conversions
Program Conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 41
Project A – 1 : 1
Created script to build make ‘.mak’ files - created from Informix program table
Conversion tool:
- removed CLOSE WINDOW SCREEN
- removed screen ‘header’ code
- changed SCO printer control to Linux raw data
Program conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 42
audru_module= \/u80/kun/ALLGM/GP/gpbda_10.42m \/u80/kun/ALLGM/GP/gpdrs_20.42m \/u80/kun/ALLGM/GP/gpgen_10.42m \/u80/kun/ALLGM/GP/gpmes_20.42m \/u80/kun/ALLGM/GP/gpope_10.42m \/u80/kun/ALLGM/GP/gpsel_20.42m \/u80/kun/ALLGM/GP/gpszr_10.42m \/u80/kun/BOECK/AU/aaglb_10.42m \/u80/kun/BOECK/AU/audru_20.42m \
LIB=$(FGLDIR)/lib/libfgl4js.42x \$(FGLDIR)/lib/libfgl.42x \
audru_module_base=$(notdir $(audru_module))
all:: audru.42r
clean::rm -f audru.42r $(audru_module)
audru.42r: $(audru_module)fglrun -l -o audru.42r $(audru_module_base) $(LIB)
Example: Macro script for make compilations
Program conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 43
Project B – conversion with enhancements
Enhanced table reads (now dynamic arrays)
Added code for toolbar and menus (on action)
Images (display to image field)
Copy and paste of whole table data
Read / write XML
Program conversions
Jan. 2006 - ADAPTRIS Deutschland GmbH 44
Adaptris and Genero
Our Experience with Genero
Jan. 2006 - ADAPTRIS Deutschland GmbH 45
Our experience w/ Genero
Program conversions: Genero tighter on I4GL syntax
– e.g. number of function call parameters must match
I4GL programs will run without change Future orientated add-ons (libraries) Use old and new techniques in parallel
- use .per forms or more powerful XML Dynamic User Interface
New integration possibilities- OLE access to Office
Progressive, step by step improvements
Jan. 2006 - ADAPTRIS Deutschland GmbH 46
Thank you for listeningThank you for listening