Web UI migration
for Structured Management Systems
by Doug Lucy
Agenda
Goals
Options
How it works
recommendations
Goals
Web user interface to Progress business
logic
Better looking, more portable front-end
No client footprint or license
Leverage agent-based licensing
Options
PHP
Server-side Java
ASP.NET
WebSpeed
PHP
 Open Source scripting
language
 Few commercial and Open
Source IDEs available
 Easy to learn
 Fairly fast
 Similar to 4GL
 Have to learn HTML, CSS, PHP
and SQL
 Only need PHP, web server
and Perl
 Weak connection to Progress
logic
– Need TCP/IP listener, pipe or
web services adapter
 Good connection to Progress
database
– Can connect to ODBC/JDBC
via Perl
 Becoming very popular
 Lots of source available
 Few libraries, tools and IDE’s
 Reasonable number of books
(700) and classes
 Entry-level staff may well
know PHP
 Cannot leverage SmartObjects
or ProDataSets
 Build your own framework
Server-side Java
 Sun-proprietary language
 Many commercial and Open
Source IDEs available
 Difficult to switch from 4GL to
Java
 Very, very popular
 Not as fast
 True OO
 Have to learn Java and tools
 Strong connection to Progress
business logic
 Strong connection to Progress
database
 2nd most popular language
 Lots of source available
 Many libraries and tools
available
 Huge number of books (4,000)
and classes
 Many staff available at all
levels
 Can leverage SmartObjects or
ProDataSets
 PSC has chosen to support this
path
 Excellent frameworks already
exist
WebSpeed
 Same language as
Progress 4GL
 Commercial IDE in 10.1,
not as strong
 As easy as 4GL
 Not popular
 Fast
 Direct connection to
Progress business logic
 Direct connection to
Progress database
 Least popular language
 Little source available
 One book and very few
classes available
 Difficult to locate staff
 Build your own
framework
ASP.NET
 Microsoft-proprietary
language
 Free and commercial IDEs
available
 Easy to switch from 4GL to
ASP.NET
 Very popular
 Reasonably fast
 Have to learn ASP.NET and
VWD/VisualStudio
 Strong connection to Progress
business logic
 Strong connection to Progress
database
 Most popular language
 Plenty of source code
available
 Many libraries and tools
available
 Large number of books (500)
and classes
 Many staff available at all
levels
 Can leverage SmartObjects or
ProDataSets
 PSC has chosen to support this
path
 Good frameworks already
exist
How it works - PHP
 Develop web UI in PHP
 Source code sits on web server
 Incoming web request to web server
 PHP is interpreted
 PHP calls Progress business logic
– Web services (need Progress App Server)
– TCP/IP listener
– Pipe
 Extra work to convert tables and datatypes
How it works - Java
 Develop web UI in Java using tools and libraries
 Compile to bytecode
 Incoming web request to JSE (Java Servlet
Engine)
 Java byte code is executed
 Java code calls proxy to Progress business logic
 Open Client call (need Progress App Server)
 No extra work to convert tables and datatypes
How it works - WebSpeed
Develop web UI by hand or in HTML tool
Incoming web request to web server
Web server calls Progress App Server
WebSpeed 4GL code is executed
WebSpeed 4GL code calls Progress
business logic directly
No extra work to convert tables and
datatypes
How it works – ASP.NET
 Develop web UI in Visual Studio anduse libraries
 Store on MS ISS server
 Incoming web request to MS IIS
 ASP.NET code is executed on IIS server
 ASP.NET calls proxy to Progress business logic
 Open Client call (need Progress App Server)
 No extra work to convert tables and datatypes
Serious issues
Connection to Progress business logic
Frameworks
Tools and libraries
Availability of staff, expertise, books and
classes
Lifecycle (revisions) of platform
Recommendations
Fast and easy – use PHP (extra work)
Slower to develop but more robust – use
Java (leverage tools)
Fast and robust but MS – use ASP.NET
Smallest learning curve – use WebSpeed
Platforms
PHP
 Zend or vi
 Apache
 Connection
– Progress AppServer
– TCP/IP listener
Java
 Sun, IBM, Eclipse
 Tomcat
 Progress AppServer
WebSpeed
 Dreamweaver
 Progress AppServer

Web UI migration

  • 1.
    Web UI migration forStructured Management Systems by Doug Lucy
  • 2.
  • 3.
    Goals Web user interfaceto Progress business logic Better looking, more portable front-end No client footprint or license Leverage agent-based licensing
  • 4.
  • 5.
    PHP  Open Sourcescripting language  Few commercial and Open Source IDEs available  Easy to learn  Fairly fast  Similar to 4GL  Have to learn HTML, CSS, PHP and SQL  Only need PHP, web server and Perl  Weak connection to Progress logic – Need TCP/IP listener, pipe or web services adapter  Good connection to Progress database – Can connect to ODBC/JDBC via Perl  Becoming very popular  Lots of source available  Few libraries, tools and IDE’s  Reasonable number of books (700) and classes  Entry-level staff may well know PHP  Cannot leverage SmartObjects or ProDataSets  Build your own framework
  • 6.
    Server-side Java  Sun-proprietarylanguage  Many commercial and Open Source IDEs available  Difficult to switch from 4GL to Java  Very, very popular  Not as fast  True OO  Have to learn Java and tools  Strong connection to Progress business logic  Strong connection to Progress database  2nd most popular language  Lots of source available  Many libraries and tools available  Huge number of books (4,000) and classes  Many staff available at all levels  Can leverage SmartObjects or ProDataSets  PSC has chosen to support this path  Excellent frameworks already exist
  • 7.
    WebSpeed  Same languageas Progress 4GL  Commercial IDE in 10.1, not as strong  As easy as 4GL  Not popular  Fast  Direct connection to Progress business logic  Direct connection to Progress database  Least popular language  Little source available  One book and very few classes available  Difficult to locate staff  Build your own framework
  • 8.
    ASP.NET  Microsoft-proprietary language  Freeand commercial IDEs available  Easy to switch from 4GL to ASP.NET  Very popular  Reasonably fast  Have to learn ASP.NET and VWD/VisualStudio  Strong connection to Progress business logic  Strong connection to Progress database  Most popular language  Plenty of source code available  Many libraries and tools available  Large number of books (500) and classes  Many staff available at all levels  Can leverage SmartObjects or ProDataSets  PSC has chosen to support this path  Good frameworks already exist
  • 9.
    How it works- PHP  Develop web UI in PHP  Source code sits on web server  Incoming web request to web server  PHP is interpreted  PHP calls Progress business logic – Web services (need Progress App Server) – TCP/IP listener – Pipe  Extra work to convert tables and datatypes
  • 10.
    How it works- Java  Develop web UI in Java using tools and libraries  Compile to bytecode  Incoming web request to JSE (Java Servlet Engine)  Java byte code is executed  Java code calls proxy to Progress business logic  Open Client call (need Progress App Server)  No extra work to convert tables and datatypes
  • 11.
    How it works- WebSpeed Develop web UI by hand or in HTML tool Incoming web request to web server Web server calls Progress App Server WebSpeed 4GL code is executed WebSpeed 4GL code calls Progress business logic directly No extra work to convert tables and datatypes
  • 12.
    How it works– ASP.NET  Develop web UI in Visual Studio anduse libraries  Store on MS ISS server  Incoming web request to MS IIS  ASP.NET code is executed on IIS server  ASP.NET calls proxy to Progress business logic  Open Client call (need Progress App Server)  No extra work to convert tables and datatypes
  • 13.
    Serious issues Connection toProgress business logic Frameworks Tools and libraries Availability of staff, expertise, books and classes Lifecycle (revisions) of platform
  • 14.
    Recommendations Fast and easy– use PHP (extra work) Slower to develop but more robust – use Java (leverage tools) Fast and robust but MS – use ASP.NET Smallest learning curve – use WebSpeed
  • 15.
    Platforms PHP  Zend orvi  Apache  Connection – Progress AppServer – TCP/IP listener Java  Sun, IBM, Eclipse  Tomcat  Progress AppServer WebSpeed  Dreamweaver  Progress AppServer