web ui migration

15
Web UI migration for Structured Management Systems by Doug Lucy

Upload: doug-lucy

Post on 21-Feb-2017

187 views

Category:

Software


0 download

TRANSCRIPT

Web UI migration

for Structured Management Systems

by Doug Lucy

AgendaGoalsOptionsHow it worksrecommendations

GoalsWeb user interface to Progress

business logicBetter looking, more portable front-

endNo client footprint or licenseLeverage agent-based licensing

OptionsPHPServer-side JavaASP.NETWebSpeed

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 - PHPDevelop web UI in PHPSource code sits on web server Incoming web request to web serverPHP is interpretedPHP calls Progress business logic

– Web services (need Progress App Server)– TCP/IP listener– Pipe

Extra work to convert tables and datatypes

How it works - JavaDevelop web UI in Java using tools and librariesCompile to bytecode Incoming web request to JSE (Java Servlet

Engine) Java byte code is executed Java code calls proxy to Progress business logicOpen 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 toolIncoming web request to web serverWeb server calls Progress App ServerWebSpeed 4GL code is executedWebSpeed 4GL code calls Progress

business logic directlyNo extra work to convert tables and

datatypes

How it works – ASP.NETDevelop web UI in Visual Studio anduse

librariesStore on MS ISS server Incoming web request to MS IISASP.NET code is executed on IIS serverASP.NET calls proxy to Progress business logicOpen Client call (need Progress App Server)No extra work to convert tables and datatypes

Serious issuesConnection to Progress business

logicFrameworksTools and librariesAvailability of staff, expertise, books

and classesLifecycle (revisions) of platform

RecommendationsFast and easy – use PHP (extra work)Slower to develop but more robust –

use Java (leverage tools)Fast and robust but MS – use

ASP.NETSmallest learning curve – use

WebSpeed

PlatformsPHPZend or viApacheConnection

– Progress AppServer– TCP/IP listener

JavaSun, IBM, EclipseTomcatProgress AppServer

WebSpeedDreamweaverProgress AppServer