Wiki-Quellcode von Systemvoraussetzung
Verstecke letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | {{content/}} |
2 | |||
3 | Der {{fcserver/}} wird als Java Webanwendung durch einen Java Web-Container/Applikationsserver ausgeführt. | ||
4 | |||
5 | == Software == | ||
6 | |||
7 | === Server === | ||
8 | |||
9 | Für den Betrieb des {{fcserver case="gen"/}} ist folgende Software erforderlich: | ||
10 | |||
![]() |
1.5 | 11 | * Oracle Java JDK oder Open JDK in der Version 11 |
![]() |
3.37 | 12 | * Apache Tomcat in Version 9 (Minor-Version 9.0.31 oder höher) |
![]() |
1.1 | 13 | * Andere Applikationsserver sind möglich, werden jedoch nicht in Rahmen des allgemeinen Supports unterstützt. |
14 | * Bitte beachten Sie ggf. nötige Konfigurationen beim Betrieb des Anwendungsservers hinter einem Load-Balancer, Revers-Proxy o.ä. (siehe [[hier>>doc:IntermediateServers||target="_blank"]]). | ||
15 | |||
![]() |
3.33 | 16 | {{info}} |
![]() |
3.34 | 17 | Bei der Tomcat Version 9.0.31 wurden Performance-Probleme im Zusammenhang mit {{formcycle/}} festgestellt. |
![]() |
3.33 | 18 | {{/info}} |
![]() |
4.4 | 19 | |
![]() |
4.3 | 20 | {{info}} |
![]() |
4.7 | 21 | Ältere Java 11 Releases [[enthalten einen Fehler in der SSLEngine>>https://bugs.openjdk.org/browse/JDK-8241054]], 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. |
22 | {{/info}} | ||
23 | |||
24 | {{info}} | ||
![]() |
4.5 | 25 | 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. |
![]() |
4.3 | 26 | {{/info}} |
![]() |
3.33 | 27 | |
![]() |
1.1 | 28 | {{box}} |
29 | Bei Kunden-Installationen werden in der Regel nachfolgende Konfigurationen eingesetzt. | ||
30 | |||
![]() |
4.8 | 31 | Windows (MS Windows Server 2019 Standard): **Eclipse Temurin 11 (LTS), JVM HotSpot** |
![]() |
4.1 | 32 | Linux (Debian 11): **OpenJDK 11** |
![]() |
1.1 | 33 | Anwendungs-Server: **Apache Tomcat 9** |
34 | {{/box}} | ||
35 | |||
36 | === Datenbanken === | ||
37 | |||
38 | 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.// | ||
39 | |||
40 | * MySQL ab Version 5.1 | ||
41 | * MS SQL ab Version 2008 R2 | ||
42 | * Oracle ab Version 11 | ||
![]() |
3.37 | 43 | * PostgreSQL ab Version 9.1 |
![]() |
2.1 | 44 | * MariaDB ab Version 10 |
![]() |
1.1 | 45 | |
46 | {{box}} | ||
47 | Bei Kunden-Installationen werden in der Regel nachfolgende Konfigurationen eingesetzt. | ||
48 | |||
49 | Windows: **MS** **SQL Server 2019 Standard Edition** | ||
50 | Linux: **MariaDB** | ||
51 | {{/box}} | ||
52 | |||
53 | === Browser (zur Administration) === | ||
54 | |||
55 | {{formcycle/}} läuft mit allen aktuellen Browsern. Wir empfehlen auch aus Sicherheitsgründen die Verwendungen einer aktuellen Version der folgenden Browser: | ||
56 | |||
57 | * Microsoft Edge | ||
58 | * Mozilla Firefox (**empfohlen**) | ||
59 | * Google Chrome | ||
60 | |||
![]() |
4.6 | 61 | Der Internet Explorer und ältere Versionen von Edge werden im Backend nicht mehr unterstützt. Es kann hier zu Fehlern in der Darstellung kommen. |
![]() |
1.1 | 62 | |
63 | == Hardware == | ||
64 | |||
65 | Die Hardware ist abhängig vom Einsatzgebiet des Servers, auf dem {{formcycle/}} läuft. Nachfolgende Angaben beziehen sich auf folgendes Szenario: | ||
66 | |||
67 | * 1 Mandant | ||
68 | * 40 Formulare | ||
69 | * 1000 Formulareingänge pro Tag | ||
70 | * 1000 Statuswechsel (Bearbeitung der Vorgänge durch einen Sachbearbeiter) pro Tag | ||
71 | * 500 bei der Statusverarbeitung generierten Dateien (z.B. {{smallcaps}}Pdf{{/smallcaps}}, Word ...) | ||
72 | * 10 gleichzeitig angemeldete Sachbearbeiter | ||
73 | |||
![]() |
3.36 | 74 | Dann sollte wenigstens folgendes an Hardware und Betriebssystem bereitstehen: |
![]() |
1.1 | 75 | |
![]() |
3.35 | 76 | * Windows 2012 R2 (oder neuer) oder Linux (64 Bit) |
![]() |
1.1 | 77 | * 2 x QuadCore Prozessoren 2,8 GHz |
78 | * 8 GB RAM (4 GB für den Applikationserver) | ||
79 | * 10 GB für {{formcycle/}} | ||
80 | |||
81 | Hierbei ist die Datenbank nicht mit einberechnet. Diese kann sich auch auf einem separaten Server befinden. | ||
![]() |
3.1 | 82 | |
![]() |
3.2 | 83 | == Datenbankgröße == |
![]() |
3.1 | 84 | |
![]() |
3.7 | 85 | 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. |
![]() |
3.1 | 86 | |
![]() |
3.3 | 87 | === Einflussfaktoren === |
![]() |
3.1 | 88 | |
![]() |
3.12 | 89 | Grundsätzlich werden alle von {{formcycle/}} genutzten Daten in der Datenbank gespeichert. Unter anderem sind das die folgenden Dinge: |
![]() |
3.3 | 90 | |
![]() |
3.1 | 91 | * Formulare (d.h. auch eventuell darin enthaltene Bilder) |
![]() |
3.12 | 92 | * [[Layouts>>doc:Formcycle.UserInterface.FilesAndTemplates.Layout]] (d.h. auch im CSS in Base64-Form enthaltene Bilder und Schriftarten) |
![]() |
3.23 | 93 | * In den {{formcycle/}} Mandanten und Formularen gespeicherte [[Dateien>>doc:Formcycle.UserInterface.FilesAndTemplates.Files]] |
![]() |
3.24 | 94 | * Alle von Nutzern abgesendete Formulardaten, inklusive allem, was in [[Formularelemente>>doc:Formcycle.Designer.Form.FormElements.WebHome]] eingetragen wurde und alle mitgesendeten [[Dateien>>doc:Formcycle.Designer.Form.FormElements.Upload]] |
![]() |
3.25 | 95 | * Im [[Workflow>>doc:Formcycle.Designer.Workflow.WebHome]] erstellte Dateien wie zum Beispiel [[PDF-Quittungen>>doc:Formcycle.Designer.Workflow.Actions.FillPdfDocument.WebHome]], welche an [[Vorgänge>>doc:Terminology.WebHome||anchor="process"]] angehängt wurden. |
![]() |
3.26 | 96 | * Auch die in {{formcycle/}} verwendeten [[Plugins>>doc:Formcycle.SystemSettings.UserInterface.SystemPlugins]] werden vollständig in der Datenbank gespeichert. |
97 | * Alle anderen Konfigurationsparameter, wie [[Übersetzungen>>doc:Formcycle.UserInterface.FilesAndTemplates.I18nVariables]] etc., welche zusammen genommen auch eine gewisse Größe erreichen können. | ||
![]() |
3.1 | 98 | |
![]() |
3.2 | 99 | === Abschätzung des Platzbedarfs === |
![]() |
3.1 | 100 | |
![]() |
3.29 | 101 | 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. |
![]() |
3.1 | 102 | |
![]() |
3.32 | 103 | 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: |
![]() |
3.1 | 104 | |
![]() |
3.30 | 105 | : Ein {{formcycle/}} 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. |
![]() |
3.1 | 106 | |
![]() |
3.31 | 107 | 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. |
![]() |
3.1 | 108 | |
![]() |
3.2 | 109 | === Weitergehende Hinweise === |
![]() |
3.1 | 110 | |
![]() |
3.6 | 111 | 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. |
![]() |
3.1 | 112 | |
![]() |
3.11 | 113 | 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. |