48
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

Embed Size (px)

Citation preview

Page 1: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

DEV-5: Introduction to WebSpeed®

Stephen FergusonSr. Training Program Manager

Page 2: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. 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

Page 3: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 4: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation4DEV-5: Introduction to WebSpeed

UI Choices Today

Desktop Application

versus

Web Application

Page 5: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 6: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation6DEV-5: Introduction to WebSpeed

WebSpeed Components

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 7: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 8: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 9: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 10: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 11: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation11DEV-5: Introduction to WebSpeed

Agenda

What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security

Page 12: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 13: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation13DEV-5: Introduction to WebSpeed

A Web Request Round-trip (1)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 14: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation14DEV-5: Introduction to WebSpeed

A Web Request Round-trip (2)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 15: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation15DEV-5: Introduction to WebSpeed

A Web Request Round-trip (3)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 16: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation16DEV-5: Introduction to WebSpeed

A Web Request Round-trip (4)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 17: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation17DEV-5: Introduction to WebSpeed

A Web Request Round-trip (5)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 18: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation18DEV-5: Introduction to WebSpeed

A Web Request Round-trip (6)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 19: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation19DEV-5: Introduction to WebSpeed

A Web Request Round-trip (7)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

HTTP

Messenger

Page 20: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation20DEV-5: Introduction to WebSpeed

A Web Request Round-trip (8)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 21: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation21DEV-5: Introduction to WebSpeed

A Web Request Round-trip (9)

BusinessLogic

AgentWebSpeed

Broker

NameServer

DatabaseDatabase

Web Server

Messenger

HTTP

Page 22: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation22DEV-5: Introduction to WebSpeed

Agenda

What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security

Page 23: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation23DEV-5: Introduction to WebSpeed

WebSpeed Workshop

BusinessLogic

AgentWebSpeed

Broker

NameServer

Web Server

Messenger

HTTP

DatabaseDatabaseWeb Tools

AppBuilder Development

Page 24: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation24DEV-5: Introduction to WebSpeed

WebSpeed Workshop - WebTools

Developing WebSpeed Applications

Page 25: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation25DEV-5: Introduction to WebSpeed

Complete development tools• OpenEdge® Architect or Studio

• Browser based tools

Wizards Sample applications

WebTools

Advantages

Page 26: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation26DEV-5: Introduction to WebSpeed

Agenda

What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security

Page 27: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation27DEV-5: Introduction to WebSpeed

Programming Considerations

HTML with embedded SpeedScript CGI wrappers Mapped web objects

WebSpeed File Types

Page 28: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 29: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 30: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 31: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 32: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 33: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 34: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 35: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation35DEV-5: Introduction to WebSpeed

Mapped Web Objects – HTML Form

Page 36: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation36DEV-5: Introduction to WebSpeed

Mapped Web Objects – Write Code

Page 37: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation37DEV-5: Introduction to WebSpeed

Mapped Web Objects – Generate Offset file

Page 38: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation38DEV-5: Introduction to WebSpeed

Mapped Web Objects – Run The App

Page 39: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 40: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation40DEV-5: Introduction to WebSpeed

Agenda

What is WebSpeed? A Web Request Round-trip WebSpeed Workshop Programming Considerations Security

Page 41: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 42: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 43: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation43DEV-5: Introduction to WebSpeed

In Summary

Ultimate thin client Browser based access to business

applications Scalable Flexible programming model

Page 44: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 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

Page 45: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation45DEV-5: Introduction to WebSpeed

Education / Documentation References

WebSpeed Application Development

Page 46: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation46DEV-5: Introduction to WebSpeed

Questions?

Page 47: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation47DEV-5: Introduction to WebSpeed

Thank you foryour time

Page 48: DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager

© 2006 Progress Software Corporation48DEV-5: Introduction to WebSpeed