- Open Archive Server
- Database Server
- Forecasting Shell Server(s)
Typically in a dual master-controller setup every master-controller has its own machine so that maintenance can take place without offline time.
It is very well possible to deploy the master-controller components / forecasting shells in virtualized environments. The Deltares ICT team has most experience with Delft-FEWS on VMWare VSphere with in-depth knowledge but Delft-FEWS is also known to run on Microsoft Hyper-V. Virtualization of the Delft-FEWS back-end services can generally be done without problems. Take into account that (not Delft-FEWS related) modelling software may have other requirements or limitations with respect to virtualization of the Forecasting Shells.
FEWS can work with grid computing. Especially when working with heavy computations, e.g. ensemble forecasting or 3d hydraulic computing, this can be an interesting option to explore. It is recommended to contact the Delft-FEWS product management beforehand.
Embedded Java JRE software versions and other dependencies
Before starting to use Oracle JRE packages released after April 2019, please be aware of changes in the Oracle Java License model, see https://java.com/en/download/release_notice.jsp.
Our software is known to work with the following OpenJDK alternatives (recommended):
- The Amazon OpenJDK distribution https://aws.amazon.com/corretto/.
- The OpenJDK reference implementation found at https://jdk.java.net/. NB. The 11.0.2 distribution contains bugs in the OpenJDK 11.0.2 SSL, which are known to occur specifically when setting up SSL encryption in Tomcat for the https database proxy. When SSL is not used, 11.0.2 is functionally usable.
Java JRE versions (from 2018.02)
++++++ provisional text ++++++++
The new client-package of Delft-FEWS 2018.02 (OC/CM/SA/FSS) will contain a 'embedded' stripped-down jre (java runtime environment) based on OpenJDK 11. Together with the Delft-FEWS binaries, it forms the Delft-FEWS base-build. The java runtime libraries are placed in an operating system specific sub-folder in the well-known Delft-FEWS bin folder. The jre sub-folders are clearly recognizable under /bin/windows/jre or /bin/linux/jre. This jre can be easily replaced by any other open source or commercially supported version of java 11. Since an Operator Client/Stand Alone and in most cases also Forecasting Shell Server run in a controlled (and secured) environment, it is not necessary to have this jre sub-folder replaced, although it is technically feasible.
In two other locations java is required to run a Delft-FEWS client-server system: in Tomcat (for deploying the Admin Interface or Open Archive) and for the Master Controller. These are part of the server-package we distribute to you. Although these jre's are not embedded, they can be treated similarly with respect to replacing them (or not) by another open source version or commercially supported version of java 11. The decision to arrange additional 'support for Java' is up to the end user of Delft-FEWS.
If - at some point in time - crucial (security) fixes are required to the embedded jre in the client-package of Delft-FEWS, Deltares will distribute a new 'base-build' for 2018.02 (or higher). Since the distribution of this (new) base-build will take place via the database (and is uploaded via the Admin Interface), updating of all FSS and OC machines will be rather simple. The update of the base-build (including updated embedded jre) will then take place automatically and will neither be a large maintenance burden nor very time-consuming.
|title||Important note for Application managers and Configurators|
The openJDK supplied in 2018.02 and later is not the full JDK but bundled by the jlink executable to a stripped-down JRE with only those modules that the OC / FSS / CM client needs.
This is the consequence of java 11 having become a modular system and this saves the number of bytes that needs to be copied to every FSS host. This is different from 2017.02 and earlier where the full JRE was normally installed.
If a model adapter or external model to be run by the Forecasting Shell or Operator Client is also using this stripped down version of the JRE for its operation, it is possible that some of the java modules required are missing from the shipped jre and the adapter or model won't be able to run properly.
It is the responsibility of the application managers / model configurators to ensure that their adapter and models requiring Java are already supplied with the correct java runtime modules. The Forecasting Shell Launcher startup script should not be contaminated by additional path variables, instead the models should contain their own embedded jre. See the General Adapter Module for more details .
NB. only the jvm.dll and not the java executable is shipped with the base build. The jre release version is listed in windows\jre\release and linux/jre/release.
NB2. The Master Controller and Apache Tomcat 9 (Admin Interface, Open Archive, Fews Web Services and Database HTTPS Proxy) are known to work with the OpenJDK 11 as distributed by RedHat, our test suite).
Java JRE versions (2017.02 and earlier)
Note that for security reasons, java should never be installed