This server also contains other containers and modules. The hierarchy of the containers and modules is composed to fit the application at hand. Within a WebFlow context one or more users creates his or her own contexts, which in turn contain the user applications. The application consists of modules. Modules and services are executable and written in Java.
Applications differ in how the modules interact with each other.
In the simplest case, the application comprises just a single module that encapsulates an executable code to be run on a back-end HPC machine. Typically, however, applications consist of several modules interacting with each other through event notification mechanisms. For example, the user may want to run the Gaussian code that takes several hours to complete. Once the code is submitted, another module can monitor the execution by checking the convergence of the solution, and request aborting if the computation clearly does not lead to the desired result. Finally, the user may want to run a fast diagnostic code to examine the output.