PureWeb SDK 5.0 Upgrade Notes
There are significant changes between the 4.x and the 5.0 releases of the PureWeb SDK, including changes in system requirements, directory structure, and in the underlying Tomcat server.
Review the summary of changes below, then follow the upgrade steps which are provided after this summary.
Summary of changes
System requirement changes
- The Visual C++ 2017 64-bit Redistributable is now required in all deployment run-time environments that lack a Visual Studio installation.
- OpenJDK 11 is now required in all deployment run-time environments.
Directory structure changes
In PureWeb 5.0, we have decoupled the individual components (PureWeb server, API libraries, samples) and instead of providing a single installer for everything, we provide each component separately, which allows developers to install only what they need.
This new approach results in a slightly different directory structure compared to earlier releases. The new structure is explained in the installation instructions.
HTML5 API changes
- The following methods were renamed in the HTML5 APIs, but otherwise behave as before:
- The WebClient.connect method is now named WebClient.connectToServer.
- The WebClient.joinSession method is now named WebClient.joinServerSession.
- The parameters supplied to the AppShare constructor have been changed. See the API reference for the AppShare method.
.Net API changes
- To support customer applications that use polled renders, we introduced a new RequiresRender() method to the .Net service API. If you application does not use polled renders, you must still implement this method, but can simply use the default implementation that returns False (the Scribble sample application has an example of this). If your application does use polled renders, implement the method according to your use case.
- There is now a default implementation for the UIDispatcher class, called WindowsDispatcher. Depending on how you originally implemented UIDispatcher, you may need to update your code accordingly. For sample code of the default implementation, refer to the .Net Scribble sample, Scribble sample application.
C++ API changes
- To support customer applications that use polled renders, we introduced a new RequiresRender() method to the C++ service API. If your application does not used polled renders, you do not need to implement this method.
Changes to the PureWeb server
- The clustering mechanism has been removed. Multi-server environments must now use a load balancer.
- Passwords are now encrypted using the Bcrypt algorithm instead of SHA-1. See User Management for details.
There as been a significant changes in the underlying server software, and not all configuration files are backwards compatible.
If you made configuration changes to either the PureWeb configuration ([install_path]\tomcat-server\conf\*) or the Tomcat configuration ([install_path]\tomcat-server\tomcat\conf), we strongly recommend that you manually add these changes to the new configuration files rather than copy the old configuration files on top of the new.
Developer tool changes
Some of the tools, or versions of tools, required for development have changed, as summarized below. For a complete list of supported platforms and tools, refer to the Requirements.
- Visual Studio 2017 is now required for C++ and .Net service development. 32-bit applications are no longer supported.
- If developing on Linux, you now need RHEL 7.6 and gcc 7.
If you were running your application in the 4.x environment, follow these steps to migrate it to the 5.0 environment:
- Perform a fresh installation in a new directory by following the installation instructions. This includes updating your PUREWEB_HOME and PUREWEB_LIBS environment variables to reflect the new installation directory.
- Copy your application's *-plugin.xml file from your old installation into your new %PUREWEB_HOME%\conf directory.
- If you made any configuration changes to either the PureWeb configuration (%PUREWEB_HOME%\conf\*) or the Tomcat configuration (%PUREWEB_HOME%\tomcat\conf), manually add these changes to the new configuration files.
- Rebuild your PureWeb-enabled application and update the path in your *-plugin.xml file to reflect the directory of your binary outputs. See Application plugin properties.