PAS for OpenEdge is available as a host for WebSpeed applications. You can migrate existing WebSpeed applications to PAS for OpenEdge or use the Progress Developer Studio for OpenEdge to develop new WebSpeed applications that run on PAS for OpenEdge.

This task-based video reviews the most common steps needed to migrate WebSpeed applications to PAS for OpenEdge.

To migrate a WebSpeed application to a PAS for OpenEdge instance, perform the following steps:
  1. Move the static files of the application to a specific folder in the instance.
  2. Update the PROPATH for the instance to include the folders that contain the r-code of the application.
  3. Enable the WEB transport on the instance and use the compatibility handler in the openedge.properties file.

Static files

A PAS for OpenEdge instance requires the static files that support a WebSpeed application to be in a particular location in the directory structure of the instance. Static files include images and HTML files.

The location of the static files for the default web application is:

instance_name/webapps/ROOT/static

If you deploy another application, then the default location for its static files is:

instance_name/webapps/webapp_name/static

where webapp_name is the name of the WebSpeed application or ABL web application.

r-code

To enable a PAS for OpenEdge instance to find the r-code of a WebSpeed application, add any folders that contain WebSpeed application r-code files to PROPATH of the instance agent.

The default location for r-code is:

instance_name/openedge
instance_name/ablappname/openedge
The where, the first entry is the access for the instance and the second entry is the access for an ABL application.

PROPATH is set in the instance_name/conf/openedge.properties file. For example:


[AppServer.Agent]
PROPATH=${CATALINA_BASE}/openedge,${DLC}/tty,${DLC}/tty/netlib/OpenEdge.Net.pl
Note: CATALINA_BASE is an environment variable that resolves to instance_path.

Update openedge.properties to enable WEB transport

Ensure that the instance-name/conf/openedge.properties file has the WEB transport enabled and defaultHandler is set to OpenEdge.Web.CompatibilityHandler. For example:

[abl_app_name.ROOT.WEB]    
	adapterEnabled=1    
	defaultCookieDomain=    
	defaultCookiePath=    
	defaultHandler=OpenEdge.Web.CompatibilityHandler

Add the WebSpeed Workshop Application Archive

In OpenEdge 12.7 and later, we have included an OpenEdge Application Archive (OEAR) that contains WebSpeed Workshop and the Classic WebSpeed samples.
Note: WebSpeed Workshop is not a supported development tool. It is intended for use in validating the behavior of the WebSpeed Compatibility Handler.
To use WebSpeed Workshop:
  1. Create a development instance of PAS for OpenEdge using the -f option to install the oemanager application.
     pasman create -f -p portnumber -P portnumber -s portnumber instancename
    Note: Do not name the instance webspeed to prevent a conflict with the OEAR's ablapplication name.
  2. Change to the instance directory instancename/bin.
    cd instancename/bin
  3. Import the OEAR into the instance using:
    tcman import -v $DLC/servers/pasoe/extras/workshop-12.8.5.oear
  4. Start the instance.
    tcman start 
  5. Access WebSpeed Workshop from a browser.
    http://host:port/workshop
    Note: On the upper-right of the browser, find links to WebSpeed Workshop and the WebSpeed samples.

When you import the OEAR, it does the following:

• Installs the Classic WebSpeed static files into the static directory.

• Enables SAME-ORIGIN frames used in existing web applications.

• Creates a new sports2000 database and adds the database to the startup scripts.

• Enables 4GLTrace deferred logging for debugging.

Migration Notes

Before you migrate an existing WebSpeed application to an instance of PAS for OpenEdge, note the following:
  • A PAS for OpenEdge instance must be created from an OpenEdge 11.6 or later release because that is when the OpenEdge.Web.CompatibilityHandler was introduced. For information about creating, starting, and stopping instances, see Create and Configure PAS for OpenEdge instances.
  • R-code should be located on the same machine where the PAS for OpenEdge instance is running. R-code on network-mapped drives can cause issues with performance and permissions.
  • Recompile r-code only if it was generated in OpenEdge 10.x or earlier releases.
  • WebSpeed applications that use HTML mapping are supported for production. HTML mapping files are not automatically regenerated when an HTML page is loaded. You must have a correct mapping file for it to work properly.
  • Session binding is not supported on the WEB transport. If your Classic WebSpeed application uses state-aware logic, you must find an alternative, such as using a context database.
  • WebSpeed applications with a modified web-disp.p and supporting files will not run without making changes to the default WebHandler.
  • WSASP, WSISA, NSAPI, and CGIIP messengers are not necessary. They are not supported and cannot be configured in a PAS for OpenEdge instance. Because there is no Messenger, the application connection URL changes.

    In classic WebSpeed, the URL path included the Messenger in the scripts directory of the web server, and then in the path to the code. For example:

     http://hostname:port/cgi/wspd_cgi.sh/. . .
    In PAS for OpenEdge, the default URL references the WEB transport and not the Messenger. For example:
     http://hostname:port/web/. . . 
     http://hostname:port/webappname/web