The formcycle Server is a Java web application run on a Java web container or application server.
Contents
Software
Server
The following software is required for a formcycle Server.
- Oracle Java JDK or Open JDK in version 11 or 17
- Apache Tomcat version 9 in version 9.0.31 or higher
- Other applications server are possible, but are not officially supported.
- Please note any necessary configurations when operating the application server behind a load balancer, reverse proxy or similar (see here).
For further necessary configurations, e.g. for firewalls, you will find information on how formcycle can be operated in different scenarios and infrastructures and how the corresponding communication paths and ports behave on the Operating scenarios page.
Important note about Tomcat 10:
Please note that Tomcat 10 is currently not compatible with formcycle and therefore cannot be used.
Tomcat 10 introduced changes to the Java web application specification that are currently incompatible with formcycle. We are planning to make the switch, but this would be a hard break. After the switch, customers will inevitably have to move from Tomcat 9 to Tomcat 10.
The designation "10" might give the impression that Tomcat 9 is outdated. In fact, both versions are being developed equally.
We apologize for any inconvenience and thank you for your understanding during this transition period.
In Tomcat version 9.0.31, performance problems have been detected in combination with formcycle.
Older Java 11 releases contain a bug in the SSLEngine, which under certain circumstances can lead to dead loops when calling URLs via SSL, resulting in high CPU usage. This bug has been officially fixed in Java 11 release 11.0.8. Therefore it is not recommended to use Java 11 releases up to and including 11.0.7.
The following configurations are generally used for customer installations.
Windows (MS Windows Server 2019 Standard): Eclipse Temurin 17 (LTS), JVM HotSpot
Linux (Debian 11): OpenJDK 11
Application Server: Apache Tomcat 9
Databases
A database must already exist during installation. The database user requires "DB Owner" rights for this database/schema (formcycle system database). The existing database/schema requires a UTF-8 collation that distinguishes between upper and lower case, such as utf8_bin.
- MySQL, version 8
- MS SQL, version 2016 SP3
- Oracle, Version 19
- PostgreSQL, version 11
- MariaDB, version 10.4
The following configurations are generally used for customer installations.
Windows: MS SQL Server 2019 Standard Edition
Linux: MariaDB
Email server
Formcycle must be able to send emails, e.g. to invite users to the system. For this purpose, an email server or an account on this server must be available via which the emails can be sent.
Browser (administration interface)
These requirements are for the administration interface of formcycle, not for opening and filling out forms. We recommend you use a recent version of one of the following browsers. Also, please keep in mind that older browsers may have security-related bugs.
- Microsoft Edge
- Mozilla Firefox (recommended)
- Google Chrome
The Internet Explorer and previous versions of Edge are not supported anymore for the backend. Using them may lead to Ui glitches or other bugs.
Proxy server configurations (for WebSocket connections)
The formcycle configuration interface uses WebSocket connections in various places, especially in the form and workflow designer. In order to use the configuration interface on the master server, (reverse) proxy servers and load balancers, which are located between the user and the formcycle server, must therefore allow WebSocket connections. Further information on this can be found in the article Operation behind Reverse Proxy or similar.
Hardware
Hardware requirements may differ depending on how formcycle is used, such as how many forms have to be processed each day. Consider the following requirement on the system:
- 1 client
- 40 forms
- 1000 form submissions daily
- 1000 state transitions daily
- 500 files created by action, eg PDF or Word files
- 10 simultaneously registered users in the backend
This will require the following hardware and operating system:
- Windows 2019 (or newer) or Linux (64-bit)
- 2 x QuadCore processors @ 2,8 GHz
- 8 GB RAM for the machine running formcycle, of which 4 GB are used for the application server (Tomcat)
- 10 GB disc space for formcycle
The specifications above do not include the database server. The database server may run on a different server.
The same hardware requirements generally apply to a frontend server in terms of processor, RAM and hard disk space.
Database size
The size of the database used by formcycle depends very much on how much and which data is sent to and processed by formcycle. An estimate can therefore only ever be made for a specific application scenario.
Influencing factors
Basically, all data used by formcycle is stored in the database. This includes the following things:
- Forms (i.e. including any images contained therein)
- Layouts (i.e. also images and fonts contained in the CSS in Base64 form)
- Stored in the formcycle clients and forms files
- All form data sent by users, including everything entered in form elements and all files sent with them
- Files created in the workflow, such as PDF receipts, which were attached to processes.
- The plugins used in formcycle are also stored completely in the database.
- All other configuration parameters, such as translations etc., which taken together can also reach a certain size.
Estimation of space requirements
A rough calculation can be made based on the respective usage profile, taking into account the points mentioned above. The memory used by formcycle for client settings and forms (without images and fonts) is in the kilobyte range per setting and form and usually adds up to a few megabytes in total. Together with the plugins, logos and fonts installed on the formcycle server, the ‘static’ memory requirement without taking into account incoming form data is in many cases no more than 100 megabytes.
In the following simple example, a rough calculation of how much storage space could be required after one year of operation is made on the basis of the expected form entries, whereby the numbers are fictional but are based on real empirical values:
A formcycle installation has 10 forms in a client, each with approx. 30 standard form elements and, with several plugins installed, reaches a size of 100 megabytes. Around 1000 processes are received per month, each of which has an average of 500kB of files sent along and generates an average 150 kilobyte PDF receipt during processing. This means that around 650 kilobytes of data are generated per process plus a few kilobytes for the data of the other form fields. If you calculate with 700 kilobytes per process, the database would grow by approx. 700 megabytes every month and after one year the formcycle database in this example would already be approx. 8.5 gigabytes in size.
In principle, formcycle is not a document management solution (DMS) that stores and archives incoming data, but is used to receive and process form data. For procedural and possibly also legal reasons, incoming processes should be sent to archiving solutions or/and deleted as soon as they are no longer required for processing directly in formcycle. This can reduce the amount of space required in the database because, for example, once an authorisation process has been successfully completed, the metadata of the finished process is automatically sent to another system and the process data is deleted. This could also happen exactly 14 days after authorisation, for example, because at this point there is no longer any need to expect a query and renewed processing of the process.
Further information
Based on customer experience, we recommend that when using a database with a fixed maximum size (such as the free Express Edition of Microsoft SQL Server), you carefully consider whether this maximum size is sufficient in the long term. It is also advisable to check the size regularly so that you do not reach this limit unexpectedly and, if necessary, have enough lead time to be able to switch to another database solution without affecting ongoing operations.
Other factors influencing the real space required by formcycle in the database are the character encoding used (utf8, utf8mb4) and the database type used, although these influences are rather small.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article