ps:escript framework for developing browser-based applications matt verrinder progress software uk...
Post on 15-Jan-2016
221 views
TRANSCRIPT
![Page 1: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/1.jpg)
ps:eScript Framework for Developing Browser-based Applications
ps:eScript Framework for Developing Browser-based Applications
Matt VerrinderProgress Software UKInternet & Integration Technologies
![Page 2: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/2.jpg)
© 2004 Progress Software Ltd2
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
AgendaAgenda
Separating Presentation Layer in Browser-based Applications
Dynamic Page Generation and Customisation
Standards-based User Interface ps:eScript Framework
– Continued tomorrow
![Page 3: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/3.jpg)
© 2004 Progress Software Ltd3
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Developing Browser-based ApplicationsDeveloping Browser-based Applications
Uses multiple skill sets:– Design & create: (X)HTML/CSS/JavaScript
– Programming: database/4GL User-interface subject to design changes
throughout development and beyond Support for multiple browser versions
often specified Ability to alter pages by site, language,
etc. often required
![Page 4: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/4.jpg)
© 2004 Progress Software Ltd4
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript approacheScript approach
No restrictions on the type of site/application that can be created– Take any site from web
Separates HTML from 4GL code– Allows HTML and 4GL to be changed
independently– HTML can be changed without
recompilation of 4GL code Business logic agnostic
– Non-prescriptive
![Page 5: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/5.jpg)
© 2004 Progress Software Ltd5
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Model 2 ArchitectureModel 2 Architecture
Based on Model-View-Controller design pattern– Economical support multiple interfaces
Model 1 (page-centric) for simple, static applications
Model 2 recommended for medium, large or complex applications
![Page 6: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/6.jpg)
© 2004 Progress Software Ltd6
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Model-View-ControllerModel-View-Controller
Model– Data and business logic independent of
interface View
– Display contents of the model Controller
– Translates interactions from the user into actions to be performed against the model
![Page 7: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/7.jpg)
© 2004 Progress Software Ltd7
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
change statequery
Model-View-Controller (MVC)Model-View-Controller (MVC)
Model
View Controlleruser-interactions
data & business
logic
show contents of model
receive interaction,
invoke model action
![Page 8: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/8.jpg)
© 2004 Progress Software Ltd8
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Model-View-Controller for WebSpeedModel-View-Controller for WebSpeed
Presentation
DataBusiness
logic
ps:eScript WebObject
Interface specific
code
Presentation
Model Controller View
![Page 9: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/9.jpg)
© 2004 Progress Software Ltd9
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
OpenEdge Reference Architecture - ComponentsOpenEdge Reference Architecture - Components
UI Components
UI Controllers
Service Interface and Environment Utilities
BusinessWorkflows
Business Tasks
BusinessEntities
Data Access ServicesPersistent Storage
Services
Managed Data Store
Unmanaged Data Store
Users Enterprise Services
Enterprise Service Bus
Integration Adapters
Ad
min
, B
usi
nes
s M
od
elin
g,
Ma
nag
emen
t an
d M
on
ito
rin
g
![Page 10: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/10.jpg)
© 2004 Progress Software Ltd10
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ImplementationImplementation
New eScript WebObject– ADM2 Class
– Super-procedure
– Template Can be used with standard WebSpeed
– WebSpeed 3.1D and 3.1E
– OpenEdge 10.x
![Page 11: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/11.jpg)
© 2004 Progress Software Ltd11
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript
WebObject
How it works…How it works…
Business
Logic
Application
Database
ps:eScript
Processor
ps:eScript
Database
processMarkup ( customer.html )
Read customer.html
Process customer.htmlinclude
discard
fetch data
loop
branch
getData ( Customer.Name )
Response
Request
![Page 12: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/12.jpg)
© 2004 Progress Software Ltd12
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript tagseScript tags
ASP-like syntax <%...%> Function calls If… else… end While.. end Include Discard Call
![Page 13: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/13.jpg)
© 2004 Progress Software Ltd13
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript tags – function calleScript tags – function call
<%=functionName(params)%> Used insert data into page 4GL function invoked in web object Function return value included in the page
<%functionName(params)%> Used to pass information from the HTML
to the 4GL program Function return value ignored
![Page 14: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/14.jpg)
© 2004 Progress Software Ltd14
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript tags – if … else …eScript tags – if … else …
<%if:functionName(params)%>…
<%else:functionName%> …
<%end:functionName%> Enables HTML to be conditionally output Function returns TRUE if HTML is to be
output Supports NOT operator (!)
![Page 15: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/15.jpg)
© 2004 Progress Software Ltd15
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript tags - whileeScript tags - while
<%while:functionName(params)%> …<%end:functionName%>
Enables a section of HTML to be output between 0 and n times
Function returns TRUE if HTML is to be output
After output function called again Supports NOT operator (!)
![Page 16: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/16.jpg)
© 2004 Progress Software Ltd16
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript tags – includeeScript tags – include
<%include:filename $title=PRGS %> Mergres additional HTML into page
– Accepts arguments HTML passed through eScript processor Allows HTML to be componentised
![Page 17: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/17.jpg)
© 2004 Progress Software Ltd17
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript tags - discardeScript tags - discard
<%discard:start%> …
<%discard:end%> Enclosed HTML not processed and not
sent to client Useful for removing example data
![Page 18: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/18.jpg)
© 2004 Progress Software Ltd18
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
eScript tags - calleScript tags - call
<%call:functionName(params)%> …
<%end:functionName%> Enclosed HTML passed into function as
parameter Function return value output into page Minimise use
– Requires HTML knowledge in 4GL
![Page 19: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/19.jpg)
Demo 1Demo 1Dynamic Page Generation – Item List
![Page 20: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/20.jpg)
© 2004 Progress Software Ltd20
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Frameworkps:eScript Framework
![Page 21: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/21.jpg)
© 2004 Progress Software Ltd21
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Frameworkps:eScript Framework
Allows multiple versions of the same piece of XHTML or text
Automatically selects XHTML and text– based on user’s language (or browser
preferences)
– based on user’s browser or device
– based on application defined criteria
– based on activation date/time
![Page 22: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/22.jpg)
Demo 2Demo 2Page Customisation – Multilanguage
![Page 23: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/23.jpg)
© 2004 Progress Software Ltd23
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
4GL is Not Enough4GL is Not Enough
Poor UI can hide a great 4GL application Great UI attracts people to application/site Great UI needs:
– design – presentation & usability
– technical - XHTML, CSS, JavaScript
Got all these skills?
![Page 24: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/24.jpg)
© 2004 Progress Software Ltd24
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Delivering the UIDelivering the UI
WebSpeed developers need some XHTML, CSS and JavaScript
Design experts create templates– Small effort <10
4GL developers apply across application
![Page 25: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/25.jpg)
© 2004 Progress Software Ltd25
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
4GL Developer vs HTML Designer4GL Developer vs HTML Designer
![Page 26: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/26.jpg)
© 2004 Progress Software Ltd26
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
4GL Developer vs HTML Designer4GL Developer vs HTML Designer
![Page 27: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/27.jpg)
© 2004 Progress Software Ltd27
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
UI ImplementationUI Implementation
Standards based approach recommended– Quicker and more consistent rendering– Make re-skinning easier
HTML is dead. Long live XHTML!– HTML 4.01 December 1999– XHTML 1.0 January 2000
Reformulation of HTML as XML– XHTML 1.1 May 2001
Modularisation of XHTML– XHTML 2.0 ?
![Page 28: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/28.jpg)
© 2004 Progress Software Ltd28
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Standards – W3CStandards – W3C
XHTML– Valid XML– Conforms to a DTD– Defines structure of a page
Cascading style sheets– presentation
ECMA Script– Standard scripting language based on
JavaScript– Makes pages more dynamic
![Page 29: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/29.jpg)
© 2004 Progress Software Ltd29
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Valid XHTMLValid XHTML
Well-formed XML– Correctly nested
– All tags must be closed
– Lower-case element and attribute names
– Quoted attribute values
– No attribute minimisation Must conform to a DTD
– Check generated pages, not templates
![Page 30: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/30.jpg)
Demo 3Demo 3Nice HTML!
![Page 31: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/31.jpg)
© 2004 Progress Software Ltd31
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Benefitsps:eScript Benefits
Reduces initial development time– Encapsulates Professional Services’
experience (estimated >40 man-years!)
– Provides many of the facilities need for browser based applications
– Allows user-interface and logic to be developed in parallel by different teams
![Page 32: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/32.jpg)
© 2004 Progress Software Ltd32
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Benefitsps:eScript Benefits
Minimises on going develop and support costs for diverse range of users through – Modularisation of pages
– Customisation by exception - allow pages, or parts of a page, to be selected based on context (user, browser type, organisation, language, etc.)
– Supports activation of pages, or parts of pages, by date and time
– Allow different skill sets to work separately
![Page 33: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/33.jpg)
© 2004 Progress Software Ltd33
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Features - Contextps:eScript Features - Context
Supports context management, with and without login
Context management without cookies Context API for developers Automatically selects text/(X)HTML
– based on user’s language (or browser preferences)
– based on user’s browser or device– based on application defined criteria– based on activation date/time
![Page 34: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/34.jpg)
© 2004 Progress Software Ltd34
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Features - Applicationps:eScript Features - Application
Query and paging through results Automatic transfer of data from page and
data-type checking Error handling with ‘rich’ error messages Exception handling for critical errors Event logging & site usage tracking Transformation of generated documents
(e.g. encryption, PDF)
![Page 35: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/35.jpg)
© 2004 Progress Software Ltd35
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Features - Securityps:eScript Features - Security
Definition of users and user groups Password management – expiry,
validation rules, reuse Login/logout mechanism Token based security model Can prohibit access to pages that the user
does not have access to Menus and menu security Spoof protection Database auditing & trigger generation
![Page 36: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/36.jpg)
© 2004 Progress Software Ltd36
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Features - Configurationps:eScript Features - Configuration
Parameter driven system configuration Developer API to system parameters Links changed without recompilation Hosts changed for all or part of an
application without recompilation Supports mixed HTTP and HTTPS sites
![Page 37: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/37.jpg)
© 2004 Progress Software Ltd37
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Featuresps:eScript Features
Progress v9.1d and OpenEdge 10 Module based deployment Service model for stateless AppServers Generic 4GL object for static pages Email
– SMTP 4GL client for sending email
– POP3 4GL client for receiving email Streaming of files from disk XML utilities
![Page 38: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/38.jpg)
© 2004 Progress Software Ltd38
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
ps:eScript Toolsps:eScript Tools
Browser & GUI tools for maintenance of framework including text and (X)HTML
GUI tools integrated into AppBuilder– Templates for WebObject and Service procedures
– Search and Detail/Update templates
– Can run standalone Additional browser-based utilities
– Application compiler
– Session viewer
– Event Log viewer
![Page 39: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/39.jpg)
Demo 4Demo 4Search Service
![Page 40: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/40.jpg)
© 2004 Progress Software Ltd40
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
SummarySummary
Good browser-based applications require new skills
Separating HTML and 4GL allows parallel development and UI changes without recompilation/redeployment of r-code
eScript provides a Model 2-complient architecture for building applications
ps:eScript provides everything you need to start building browser-based applications, including easy customisation of user-interface by language, device, etc.
![Page 41: Ps:eScript Framework for Developing Browser-based Applications Matt Verrinder Progress Software UK Internet & Integration Technologies](https://reader035.vdocuments.net/reader035/viewer/2022062305/56649d225503460f949f89db/html5/thumbnails/41.jpg)
© 2004 Progress Software Ltd41
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Questions