dev-5: introduction to webspeed ® stephen ferguson sr. training program manager

Post on 31-Dec-2015

257 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related