Der formcycle-Server wird als Java Webanwendung durch einen Java Web-Container/Applikationsserver ausgeführt.
Inhalt
Software
Server
Für den Betrieb des formcycle-Servers ist folgende Software erforderlich:
- Oracle Java JDK oder Open JDK in der Version 11 oder in der Version 17; Aktu
- Apache Tomcat in Version 9 (Minor-Version 9.0.31 oder höher)
- Andere Applikationsserver sind möglich, werden jedoch nicht in Rahmen des allgemeinen Supports unterstützt.
- Bitte beachten Sie ggf. nötige Konfigurationen beim Betrieb des Anwendungsservers hinter einem Load-Balancer, Revers-Proxy o.ä. (siehe hier).
Für weitere nötige Konfigurationen z.B. für Firewalls finden Sie auf der Seite Betriebsszenarien Informationen, wie formcycle in verschiedenen Szenarien und Infrastrukturen betrieben werden kann und wie sich entsprechende Kommunikationswege und Ports verhalten.
Wichtiger Hinweis zu Tomcat 10: Bitte beachten Sie, dass Tomcat 10 derzeit nicht mit formcycle kompatibel ist und daher nicht verwendet werden kann. Mit Tomcat 10 wurden Änderungen an der Spezifikation für Java-Webanwendungen vorgenommen, die derzeit nicht mit formcycle kompatibel sind. Wir planen eine Umstellung, die jedoch einen harten Bruch bedeuten würde. Nach der Umstellung müssen Kunden zwangsläufig von Tomcat 9 auf Tomcat 10 wechseln. Die Bezeichnung "10" könnte den Eindruck erwecken, dass Tomcat 9 veraltet ist. Tatsächlich werden jedoch beide Versionen gleichermaßen weiterentwickelt. Wir entschuldigen uns für etwaige Unannehmlichkeiten und danken Ihnen für Ihr Verständnis während dieser Übergangsphase.
Bei der Tomcat Version 9.0.31 wurden Performance-Probleme im Zusammenhang mit formcycle festgestellt.
Ältere Java 11 Releases enthalten einen Fehler in der SSLEngine, welcher unter bestimmten Umständen beim Aufruf von URLs über SSL zu Dead Loops führen kann, welche sich in einer hohen CPU-Auslastung äußern. Dieser Fehler wurde im Java 11 Release 11.0.8 offiziell behoben, weshalb von der Verwendung von Java 11 Releases bis einschließlich 11.0.7 abgeraten wird.
Bei der Verwendung unterschiedlicher Java-Patchstände für Master- und Frontend-Server, kann nicht grundsätzlich ausgeschlossen werden, dass es zu Problemen kommt. Dies ist insbesondere bei der Verwendung unterschiedlicher Betriebssysteme für Master- und Frontend-Server (z.B. Linux für Frontend-Server und Windows für Master-Server) zu beachten, wo je nach Distribution von Betriebssystem und Java zum Teil keine Java-Version mit exakt dem gleichen Patchstand zur Verfügung steht.
Bei Kunden-Installationen werden in der Regel nachfolgende Konfigurationen eingesetzt.
Windows (MS Windows Server 2019 Standard): Eclipse Temurin 17 (LTS), JVM HotSpot
Linux (Debian 11): OpenJDK 11
Anwendungs-Server: Apache Tomcat 9
Datenbanken
Bei der Installation muss bereits eine Datenbank vorhanden sein. Der Datenbankbenutzer benötigt für diese Datenbank/dieses Schema (formcycle Systemdatenbank) Rechte als „DB Owner“. Die vorhandene Datenbank/das Schema benötigt eine UTF-8 collation, die zwischen Groß- und Kleinschreibung unterscheidet, etwa utf8_bin.
- MySQL ab Version 8
- MS SQL ab Version 2016 SP3
- Oracle ab Version 19
- PostgreSQL ab Version 11
- MariaDB ab Version 10.4
Bei Kunden-Installationen werden in der Regel nachfolgende Konfigurationen eingesetzt.
Windows: MS SQL Server 2019 Standard Edition (oder höher)
Linux: MariaDB
E-Mail-Server
formcycle muss E-Mails versenden können, unter anderem, um Benutzer in das System eingeladen zu können. Hierzu muss ein E-Mail-Server bzw. ein Account auf diesem Server zur Verfügung stehen, über den die E-Mails versendet werden können.
Browser (zur Administration)
formcycle läuft mit allen aktuellen Browsern. Wir empfehlen auch aus Sicherheitsgründen die Verwendungen einer aktuellen Version der folgenden Browser:
- Microsoft Edge
- Mozilla Firefox (empfohlen)
- Google Chrome
Der Internet Explorer und ältere Versionen von Edge werden im Backend nicht mehr unterstützt. Es kann hier zu Fehlern in der Darstellung kommen.
Proxy-Server-Konfigurationen (für WebSocket-Verbindungen)
Die Konfigurationsoberfläche von formcycle verwendet an verschiedenen Stellen WebSocket-Verbindungen, insbesondere im Formular- und Workflowdesigner. Für die Nutzung der Konfigurationsoberfläche auf dem Master-Server müssen (Reverse-)Proxy-Server und Load-Balancer, welche sich zwischen dem Benutzer und dem formcycle-Server befinden, aus diesem Grund zwingend WebSocket-Verbindungen zulassen. Weitere Informationen dazu befinden sich im Artikel Betrieb hinter Proxy/Load-Balancer.
Hardware
Die Hardware ist abhängig vom Einsatzgebiet des Servers, auf dem formcycle läuft. Nachfolgende Angaben beziehen sich auf folgendes Szenario:
- 1 Mandant
- 40 Formulare
- 1000 Formulareingänge pro Tag
- 1000 Statuswechsel (Bearbeitung der Vorgänge durch einen Sachbearbeiter) pro Tag
- 500 bei der Statusverarbeitung generierten Dateien (z.B. Pdf, Word ...)
- 10 gleichzeitig angemeldete Sachbearbeiter
Dann sollte wenigstens folgendes an Hardware und Betriebssystem bereitstehen:
- Windows 2019 (oder neuer) oder Linux (64 Bit)
- 2 x QuadCore Prozessoren 2,8 GHz
- 8 GB RAM für die Maschine auf der formcycle läuft, davon 4 GB für den Applikationserver (Tomcat)
- 10 GB Speicherplatz für formcycle
Hierbei ist die Datenbank nicht mit einberechnet. Diese kann sich auch auf einem separaten Server befinden.
Für einen Frontend-Server gelten im allgemeinen die gleichen Hardwarevoraussetzungen im Bezug auf Prozessor, Arbeitsspeicher und Festplattenspeicher.
Datenbankgröße
Die Größe der von formcycle verwendeten Datenbank hängt sehr stark von der Art und Weise ab, wie viele und welche Daten an formcycle gesendet und verarbeitet werden. Eine Abschätzung kann daher immer nur für ein bestimmtes Einsatzszenario vorgenommen werden.
Einflussfaktoren
Grundsätzlich werden alle von formcycle genutzten Daten in der Datenbank gespeichert. Unter anderem sind das die folgenden Dinge:
- Formulare (d.h. auch eventuell darin enthaltene Bilder)
- Layouts (d.h. auch im CSS in Base64-Form enthaltene Bilder und Schriftarten)
- In den formcycle Mandanten und Formularen gespeicherte Dateien
- Alle von Nutzern abgesendete Formulardaten, inklusive allem, was in Formularelemente eingetragen wurde und alle mitgesendeten Dateien
- Im Workflow erstellte Dateien wie zum Beispiel PDF-Quittungen, welche an Vorgänge angehängt wurden.
- Auch die in formcycle verwendeten Plugins werden vollständig in der Datenbank gespeichert.
- Alle anderen Konfigurationsparameter, wie Übersetzungen etc., welche zusammen genommen auch eine gewisse Größe erreichen können.
Abschätzung des Platzbedarfs
Anhand des jeweiligen Nutzungsprofils kann unter Berücksichtigung der oben genannten Punkte eine grobe Abschätzung vorgenommen werden. Der von formcycle für Mandanteinstellungen und Formulare (ohne Bilder und Schriftarten) verwendete Speicherplatz bewegt sich pro Einstellung und Formular jeweils im Kilobyte-Bereich und addiert sich üblicherweise zu einigen Megabyte Gesamtgröße. Zusammen mit den auf dem formcycle Server installierten Plugins, Logos und Schriftarten ist der "statische" Speicherbedarf ohne Berücksichtigung eingegangener Formulardaten in vielen Fällen nicht größer als 100 Megabyte.
Im folgenden einfachen Beispiel wird anhand der zu erwartenden Formulareingänge grob abgeschätzt, wieviel Speicherplatz nach einem Jahr Betrieb benötigt werden könnte, wobei die Zahlen fiktiv sind, sich aber an realen Erfahrungswerten orientieren:
- Eine formcycle-Installation hat in einem Mandanten 10 Formulare mit jeweils ca. 30 Standard-Formularelementen und kommt mit mehreren installierten Plugins auf eine Größe von 100 Megabyte. Pro Monat gehen rund 1000 Vorgänge ein, welche im Durchschnitt 500kB an mitgesendeten Dateien aufweisen und jeweils in der Verarbeitung eine durchschnittlich 150 Kilobyte große PDF-Quittung erzeugen. Erzeugt werden pro Vorgang also ca. 650 Kilobyte an Daten plus einige Kilobyte für die Daten der anderen Formularfelder. Wenn man dementsprechend mit 700 Kilobyte pro Vorgang rechnet, würde die Datenbank Monat für Monat um ca. 700 Megabyte wachsen und nach einem Jahr würde die formcycle Datenbank in diesem Beispiel bereits ca. 8,5 Gigabyte groß sein.
Grundsätzlich ist formcycle nicht als Dokumentenmanagement-Lösung (DMS) zu verstehen, welche eingehende Daten speichert und archiviert, sondern es dient dem Entgegennehmen und Bearbeiten von Formulardaten. Aus verfahrenstechnischen und gegebenenfalls auch rechtlichen Gründen sollten eingegangene Vorgänge an Archivierungslösungen gesendet oder/und gelöscht werden, sobald diese nicht mehr für eine Bearbeitung direkt im formcycle benötigt werden. Hierdurch kann sich der benötigte Platz in der Datenbank entsprechend verringern, weil zum Beispiel nach dem erfolgreichen Durchlaufen eines Bewilligungsprozesses die Metadaten des fertig bearbeiteten Vorgangs automatisch an ein anderes System gesendet und die Daten des Vorgangs gelöscht werden. Dies könnte beispielsweise auch genau 14 Tage nach der Bewilligung geschehen, weil zu diesem Zeitpunkt nicht mehr mit einer Rückfrage und erneuten Bearbeitung des Vorgangs gerechnet werden muss.
Weitergehende Hinweise
Aufgrund von Kundenerfahrungen empfehlen wir, bei der Benutzung einer Datenbank mit einer festen Maximalgröße (wie zum Beispiel der kostenlosen Express Edition des Microsoft SQL Servers) sorgfältig zu überlegen, ob diese Maximalgröße langfristig ausreicht. Zusätzlich empfiehlt es sich, regelmäßig die Größe zu überprüfen, um nicht überraschend an diese Grenze zu kommen und wenn nötig noch genügend Vorlauf zu haben, um ohne Beeinträchtigung des laufenden Betriebs auf eine andere Datenbanklösung umsteigen zu können.
Weitere Einflussfaktoren auf den von formcycle real in der Datenbank benötigten Platz sind zudem die verwendete Zeichencodierung (utf8, utf8mb4) und der genutzte Datenbanktyp, wobei diese Einflüsse eher klein sind.
War dieser Artikel hilfreich?
Das ist großartig!
Vielen Dank für das Feedback
Leider konnten wir nicht helfen
Vielen Dank für das Feedback
Feedback gesendet
Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren