DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
-
Upload
kelley-webster -
Category
Documents
-
view
254 -
download
8
Transcript of DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
DEV-5: Introduction to WebSpeed®
Stephen FergusonSr. Training Program Manager
© 2006 Progress Software Corporation2DEV-5: Introduction to WebSpeed
Agenda
What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security
This presentation includes annotations with additional complementary information
© 2006 Progress Software Corporation3DEV-5: Introduction to WebSpeed
OpenEdge Application Deployment Options
WebSpeedTransaction
Server
Any client
Data
Web Browser
Web service Client
Data
OpenEdge Application Server
ApplicationCode
AppServer™
SpeedScript
Character
GUI
ABL*
*OpenEdge Advanced Business Language
© 2006 Progress Software Corporation4DEV-5: Introduction to WebSpeed
UI Choices Today
Desktop Application
versus
Web Application
© 2006 Progress Software Corporation5DEV-5: Introduction to WebSpeed
WebSpeed is the ultimate thin client The client uses a browser to run applications WebSpeed components
• Web browser
• Web Server (3rd party product)
• Messenger
• WebSpeed broker
• WebSpeed agent
What is WebSpeed?
Components
© 2006 Progress Software Corporation6DEV-5: Introduction to WebSpeed
WebSpeed Components
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation7DEV-5: Introduction to WebSpeed
Listens for WebSpeed requests coming in to a Web server
Handles data transfer between Web server and agent Messenger types
• CGI messenger– Independent process started by the web server– Dies when its request is complete
• DLL messengers (ISAPI and NSAPI) – Loaded into the web server’s memory and reside there
• WSASP– Works with Microsoft Active Server Pages
WebSpeed Messenger
Components
© 2006 Progress Software Corporation8DEV-5: Introduction to WebSpeed
WebSpeed Workshop• WebSpeed development environment
Name Server• Directs client connections to a broker
• Load balancing
• Fault tolerance
What is WebSpeed?
Additional Components
© 2006 Progress Software Corporation9DEV-5: Introduction to WebSpeed
Web browser• Resides on client machine
• Handles the display
• Communicates with web servers
Web server • Resides on a server machine
• Waits for browser requests
• Serves web pages
• Can run programs and scripts
What is WebSpeed?
Non-OpenEdge Components
© 2006 Progress Software Corporation10DEV-5: Introduction to WebSpeed
Netscape Navigator/Communicator• Version 4.5 or higher
Internet Explorer• Version 4.x or higher
Considerations / differences• Browser behavior• Back / refresh buttons• Frame handling
Browser Support
WebSpeed 3.1
© 2006 Progress Software Corporation11DEV-5: Introduction to WebSpeed
Agenda
What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security
© 2006 Progress Software Corporation12DEV-5: Introduction to WebSpeed
A Web Request Round-trip
Connection• Browser and the web server
Request• From browser to web server
Process• By the requested resources
Response• Web server to the browser
Termination• Of the connection
© 2006 Progress Software Corporation13DEV-5: Introduction to WebSpeed
A Web Request Round-trip (1)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation14DEV-5: Introduction to WebSpeed
A Web Request Round-trip (2)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation15DEV-5: Introduction to WebSpeed
A Web Request Round-trip (3)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation16DEV-5: Introduction to WebSpeed
A Web Request Round-trip (4)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation17DEV-5: Introduction to WebSpeed
A Web Request Round-trip (5)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation18DEV-5: Introduction to WebSpeed
A Web Request Round-trip (6)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation19DEV-5: Introduction to WebSpeed
A Web Request Round-trip (7)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
HTTP
Messenger
© 2006 Progress Software Corporation20DEV-5: Introduction to WebSpeed
A Web Request Round-trip (8)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation21DEV-5: Introduction to WebSpeed
A Web Request Round-trip (9)
BusinessLogic
AgentWebSpeed
Broker
NameServer
DatabaseDatabase
Web Server
Messenger
HTTP
© 2006 Progress Software Corporation22DEV-5: Introduction to WebSpeed
Agenda
What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security
© 2006 Progress Software Corporation23DEV-5: Introduction to WebSpeed
WebSpeed Workshop
BusinessLogic
AgentWebSpeed
Broker
NameServer
Web Server
Messenger
HTTP
DatabaseDatabaseWeb Tools
AppBuilder Development
© 2006 Progress Software Corporation24DEV-5: Introduction to WebSpeed
WebSpeed Workshop - WebTools
Developing WebSpeed Applications
© 2006 Progress Software Corporation25DEV-5: Introduction to WebSpeed
Complete development tools• OpenEdge® Architect or Studio
• Browser based tools
Wizards Sample applications
WebTools
Advantages
© 2006 Progress Software Corporation26DEV-5: Introduction to WebSpeed
Agenda
What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security
© 2006 Progress Software Corporation27DEV-5: Introduction to WebSpeed
Programming Considerations
HTML with embedded SpeedScript CGI wrappers Mapped web objects
WebSpeed File Types
© 2006 Progress Software Corporation28DEV-5: Introduction to WebSpeed
HTML with Embedded SpeedScript
HTML containing ABL code Script language enclosed in tags
<script language=“SpeedScript”>
Resolved on the server• SpeedScript never seen on client
Can use standard HTML editors
© 2006 Progress Software Corporation29DEV-5: Introduction to WebSpeed
<script language="SpeedScript"> DEFINE VARIABLE vcCustName AS CHARACTER NO-UNDO.DEFINE VARIABLE vcToday AS CHARACTER NO-UNDO. FIND FIRST CUSTOMER NO-LOCK NO-ERROR.ASSIGN vcCustName = Customer.Name vcToday = STRING(today).</script>
The first customer in Sports2000 is: <B>` vcCustName `</B>.<BR>Todays Date is <B>` vcToday `.</B></BR>
Sample: HTML with Embedded SpeedScript
© 2006 Progress Software Corporation30DEV-5: Introduction to WebSpeed
CGI Wrapper
There is no associated HTML file The ABL procedure renders the HTML
required• Embedded within character strings
Can reference variables and table field names
© 2006 Progress Software Corporation31DEV-5: Introduction to WebSpeed
{src/web2/wrap-cgi.i}output-content-type ("text/html":U).{&OUT} "<HTML>":U SKIP "<HEAD>":U SKIP "<TITLE> {&FILE-NAME} </TITLE>":U SKIP "</HEAD>":U SKIP "<BODY>":U SKIP.
/* Custom HTML */{&OUT} "Sample CGI Wrapper".
{&OUT} "</BODY>":U SKIP "</HTML>":U SKIP .
Sample: CGI Wrapper
© 2006 Progress Software Corporation32DEV-5: Introduction to WebSpeed
Development Methodology
PresentationPresentation
Business ServicesBusiness Services
Data AccessData Access
Data SourcesData Sources
Co
mm
on
Infra
stru
cture
Co
mm
on
Infra
stru
cture
Enterprise ServicesEnterprise Services
© 2006 Progress Software Corporation33DEV-5: Introduction to WebSpeed
Separate UI from business logic HTML mapping
• HTML authored separately
• Match HTML tags with database fields
Programming Considerations
© 2006 Progress Software Corporation34DEV-5: Introduction to WebSpeed
Mapped Web Objects
Separates HTML from ABL • Can use HTML editor for HTML file
• Structured ABL files
HTML can be maintained independently of the ABL code
ABL fields mapped to HTML form elements ABL output rendered as values of form
elements
Mapping HTML elements
© 2006 Progress Software Corporation35DEV-5: Introduction to WebSpeed
Mapped Web Objects – HTML Form
© 2006 Progress Software Corporation36DEV-5: Introduction to WebSpeed
Mapped Web Objects – Write Code
© 2006 Progress Software Corporation37DEV-5: Introduction to WebSpeed
Mapped Web Objects – Generate Offset file
© 2006 Progress Software Corporation38DEV-5: Introduction to WebSpeed
Mapped Web Objects – Run The App
© 2006 Progress Software Corporation39DEV-5: Introduction to WebSpeed
Stateless – typical web mode• No limit on number of users
• Context management required
• Record locking / transaction management
Programming Considerations
The state you are in
© 2006 Progress Software Corporation40DEV-5: Introduction to WebSpeed
Agenda
What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security
© 2006 Progress Software Corporation41DEV-5: Introduction to WebSpeed
Disable WSMAdmin Set Application Mode to Production Disable debug mode Change all default ports Hide / rename your messengers Do not give execute permission to “upload”
directory Applies to WebSpeed only – still need to
secure the rest of your environment
WebSpeed Security
© 2006 Progress Software Corporation42DEV-5: Introduction to WebSpeed
Zero footprint Update UI without impacting business logic Supports intra-, extra- and internet Flexible programming model Choice of
• Authoring tools
• ISAPI, NSAPI, CGI
• HTML, JavaScript, Java™, ActiveX, DHTML, ASP, etc
WebSpeed Benefits
© 2006 Progress Software Corporation43DEV-5: Introduction to WebSpeed
In Summary
Ultimate thin client Browser based access to business
applications Scalable Flexible programming model
© 2006 Progress Software Corporation44DEV-5: Introduction to WebSpeed
For More Information, go to…
PSDN• WebSpeed Product Information page
Relevant Exchange Sessions:• ARCH-7: Multiple "Views" with WebSpeed
• INNOV-6: Rich User Interface for the Web? AJAX to the Rescue
© 2006 Progress Software Corporation45DEV-5: Introduction to WebSpeed
Education / Documentation References
WebSpeed Application Development
© 2006 Progress Software Corporation46DEV-5: Introduction to WebSpeed
Questions?
© 2006 Progress Software Corporation47DEV-5: Introduction to WebSpeed
Thank you foryour time
© 2006 Progress Software Corporation48DEV-5: Introduction to WebSpeed