GAS 4.00 upgrade guide

These topics describe product changes you must be aware of when upgrading to version 4.00.

Important: This is an incremental upgrade guide that covers only topics related to the Genero Application Server version specified in the page title. Check prior upgrade guides if you migrate from an earlier version, and complete the migration tasks for all versions between your existing version and the target version in order. Make sure to also read about the new features for this version.

Corresponding new features page: GAS 4.00 new features.

Changes to the REST Web services URL format

Starting with GAS version 4.00 and FGLGWS version 4.00, there are changes to RESTful Web service URL. This does not involve any application configuration changes; it just means a change to the URL you use to access services.

New REST URL
http[s]://host:port/gas/ws/r[/group-name]/xcf-file/service-name/endpoint-path
Previous REST URL
In contrast, the URL used previously did not include the group name or xcf file name in the path.
http[s]://host:port/gas/ws/r/service-name/endpoint-path
In the new REST URL format the following path elements are included:
group-name
If your Web services is part of a group of Web services configured on the Genero Application Server (GAS), you must provide the group name. However, group-name can be omitted, if it does not belong to a group. In this case, the Web service belongs to the default group, which does not have to be named in the URL.
xcf-file
You must provide the Web services configuration file name. For example, if the configuration file is myServices.xcf, you specify myServices in the xcf-file.

The new format enhances the way the Genero Web Server (GWS) finds resources.

For more URI examples, see URI Examples. For more information on RESTful Web services creation, see the REST Web services topics in Genero Business Development Language User Guide.

ROOT_URL_PREFIX deprecated

The ROOT_URL_PREFIX element is deprecated. If you have a proxy or load balancer configuration, the GAS supports use of the X-Forwarded headers (protocol, host, and port) to determine the URL used by the client when a reverse proxy server is used.

You will need to configure your Web server for X-Forwarded headers. See Apache: configure for reverse proxy and IIS: configure for reverse proxy.

If using a load balancer, X-Forwarded headers are used by default in the most recent load balancers. Ensure your server is configured for use of these headers. For more information about load balancing, see Load balancing.

SPDY deprecated

This protocol is now deprecated. The HTTP/2 protocol, which is derived from the SPDY protocol, replaces it. If you have used SPDY prior to this, it is recommended to configure your Web server to use the HTTP/2 protocol instead. For more information on working with HTTP/2, see Apache: Configure for HTTP/2 or IIS: Configure for HTTP/2.

HTTP/2 upgrade

Starting with GAS version 4.00, we recommend you configure your Web server to use the HTTP/2 protocol. Most major browsers now support HTTP/2. When configuring your Web server, allow the client browser to define the preferred protocol; this will allow the GAS to work with services that may not need the HTTP/2 protocol. For more information on working with HTTP/2, see Apache: Configure for HTTP/2 or IIS: Configure for HTTP/2.

GIP database migration

If you configured the GIP by using the StarterApp with GAS 3.20, then you will need to migrate your IDP database for GAS 4.00. At this time, you also have the option to move from SQLite to an alternate Genero-supported database engine.

See Migrate your Genero Identity Provider database.

SameSite attribute is now recommended when setting HTTP cookies

If you use cookies on the server side, make sure that the cookies you use to secure your application are set with sameSite as "Strict". Setting SameSite="Strict" on the secure cookie ensures that only the exact URL the cookie has been set with will return the cookie to the server. If not set, the Genero Web Server sets each cookie's sameSite attribute as "Lax".

To have SameSite available, you must recompile your sources with fglcomp 3.20.13 or greater.

For more information, see the com.HTTPServiceRequest.setResponseCookies topic in the Genero Business Development Language User Guide.