Title: DEV5: Introduction to WebSpeed
1DEV-5 Introduction to WebSpeed
Stephen Ferguson
Sr. Training Program Manager
2Agenda
- What is WebSpeed?
- A Web Request Round-trip
- WebSpeed Workshop
- Programming Considerations
- Security
This presentation includes annotations with
additional complementary information
3OpenEdge Application Deployment Options
Any client
OpenEdge Application Server
WebSpeed Transaction Server
Application Code
AppServer
Data
Web service Client
OpenEdge Advanced Business Language
4UI Choices Today
- Desktop Application
- versus
- Web Application
5What is WebSpeed?
Components
- 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
6WebSpeed Components
Messenger
Web Server
HTTP
Name Server
Database
7WebSpeed Messenger
Components
- 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 servers memory and reside
there - WSASP
- Works with Microsoft Active Server Pages
8What is WebSpeed?
Additional Components
- WebSpeed Workshop
- WebSpeed development environment
- Name Server
- Directs client connections to a broker
- Load balancing
- Fault tolerance
9What is WebSpeed?
Non-OpenEdge Components
- 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
10Browser Support
WebSpeed 3.1
- Netscape Navigator/Communicator
- Version 4.5 or higher
- Internet Explorer
- Version 4.x or higher
- Considerations / differences
- Browser behavior
- Back / refresh buttons
- Frame handling
11Agenda
- What is WebSpeed?
- A Web Request Round-trip
- WebSpeed Workshop
- Programming Considerations
- Security
12A 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
13A Web Request Round-trip (1)
Messenger
Web Server
HTTP
Name Server
Database
14A Web Request Round-trip (2)
Messenger
Web Server
HTTP
Name Server
Database
15A Web Request Round-trip (3)
Messenger
Web Server
HTTP
Name Server
Database
16A Web Request Round-trip (4)
Messenger
Web Server
HTTP
Name Server
Database
17A Web Request Round-trip (5)
Messenger
Web Server
HTTP
Name Server
Database
18A Web Request Round-trip (6)
Messenger
Web Server
HTTP
Name Server
Database
19A Web Request Round-trip (7)
Messenger
Web Server
HTTP
Name Server
Database
20A Web Request Round-trip (8)
Messenger
Web Server
HTTP
Name Server
Database
21A Web Request Round-trip (9)
Messenger
Web Server
HTTP
Name Server
Database
22Agenda
- What is WebSpeed?
- A Web Request Round-trip
- WebSpeed Workshop
- Programming Considerations
- Security
23WebSpeed Workshop
Messenger
Web Server
HTTP
Name Server
Database
24WebSpeed Workshop - WebTools
Developing WebSpeed Applications
25WebTools
Advantages
- Complete development tools
- OpenEdge Architect or Studio
- Browser based tools
- Wizards
- Sample applications
26Agenda
- What is WebSpeed?
- A Web Request Round-trip
- WebSpeed Workshop
- Programming Considerations
- Security
27Programming Considerations
WebSpeed File Types
- HTML with embedded SpeedScript
- CGI wrappers
- Mapped web objects
28HTML with Embedded SpeedScript
- HTML containing ABL code
- Script language enclosed in tags
- ltscript languageSpeedScriptgt
- Resolved on the server
- SpeedScript never seen on client
- Can use standard HTML editors
29Sample HTML with Embedded SpeedScript
ltscript language"SpeedScript"gt 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). lt/sc
riptgt The first customer
in Sports2000 is ltBgt vcCustName
lt/Bgt.ltBRgt Todays Date is ltBgt vcToday
.lt/Bgtlt/BRgt
30CGI 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
31Sample CGI Wrapper
src/web2/wrap-cgi.i output-content-type
("text/html"U). OUT "ltHTMLgt"U SKIP
"ltHEADgt"U SKIP "ltTITLEgt FILE-NAME
lt/TITLEgt"U SKIP "lt/HEADgt"U SKIP
"ltBODYgt"U SKIP. / Custom HTML / OUT
"Sample CGI Wrapper". OUT "lt/BODYgt"U SKIP
"lt/HTMLgt"U SKIP .
32Development Methodology
33Programming Considerations
- Separate UI from business logic
- HTML mapping
- HTML authored separately
- Match HTML tags with database fields
34Mapped Web Objects
Mapping HTML elements
- 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
35Mapped Web Objects HTML Form
36Mapped Web Objects Write Code
37Mapped Web Objects Generate Offset file
38Mapped Web Objects Run The App
39Programming Considerations
The state you are in
- Stateless typical web mode
- No limit on number of users
- Context management required
- Record locking / transaction management
40Agenda
- What is WebSpeed?
- A Web Request Round-trip
- WebSpeed Workshop
- Programming Considerations
- Security
41WebSpeed Security
- 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
42WebSpeed Benefits
- 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
43In Summary
- Ultimate thin client
- Browser based access to business applications
- Scalable
- Flexible programming model
44For 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
45Education / Documentation References
- WebSpeed Application Development
46Questions?
47Thank you foryour time
48(No Transcript)