Verteilungssicht - Infrastruktur
In diesem Beitrag wird beschrieben, wie formcycle in verschiedenen Szenarien und Infrastrukturen betrieben werden kann und sich entsprechende Kommunikationswege und Ports verhalten.
Inhalt
Szenario 1: Master-Server im Intranet
Im ersten Szenario wird formcycle in Form des Master-Servers nur für interne Zwecke genutzt. Dementsprechend wird dieser nur im Intranet betrieben und es gibt keine Verbindung- oder Zugangsmöglichkeit ins oder durch das Internet.
Verwendung | Zugriff |
Verwaltungsoberfläche aus dem Internet | Nein |
Verwaltungsoberfläche aus dem Intranet | Ja |
Formulare aus dem Internet | Nein |
Formulare aus dem Intranet | Ja |
Bestandteile der Infrastruktur
Baustein | Beschreibung |
Apache Tomcat mit formcycle Master-Server | Servlet-Container der formcycle bereitstellt |
DBMS | Datenbank-Server welcher die formcycle System-Datenbank bereitstellt |
Mail-Server | Mail-Server welcher für den Mail-Versand durch formcycle ermöglicht |
Interne Drittsysteme | Interne Drittsysteme welche durch formcycle angebunden werden |
Protokolle und Ports
Verbindung | Protokoll | Verwendung | Ports |
Browser im Intranet → formcycle Master-Server | HTTP(S) | Zugriff auf die Verwaltungsoberfläche oder die Formulare | Tomcat-Standard: 8080 bzw. 8443 |
WS(S) | Websocket-Verbindung zwischen dem Benutzer-Browser und dem Master-Server | Tomcat-Standard: 8080 bzw. 8443 | |
formcycle Master-Server → Datenbank | JDBC | Anbindung der System-Datenbank | Abhängig von der verwendeten Datenbank. Beispiele: 3306 (MySQL), 5432 (PostgreSQL), … |
formcycle Master-Server → Mailserver | SMTP | Anbindung des Mail-Servers | Standard: 25 bzw. 578 |
formcycle Master-Server → Drittsysteme | Protokolle von Drittsystemen (optional) | Je nach Funktionsumfang von formcyclekönnen verschiedenste Drittsysteme angebunden werden. | Port gemäß Drittsystem |
Qualitäts- und/oder Leistungsmerkmale
Der Betrieb eines Master-Servers im Intranet bietet eine hohe Sicherheit, da keine Verbindung ins Internet besteht. Auch wird keine Netzwerk-Last in Form einer Socket-Verbindung zu einem etwaigen Frontend-Server erzeugt. In diesem Szenario kann der Master-Server sowohl vertikal als auch horizontal skaliert werden. Für Letzteres wird eine Load-Balancer benötigt der mit Sticky-Sessions arbeiten muss.
Szenario 2: Master-Server mit Reverse-Proxy
Im zweiten Szenario wird formcycle in Form des Master-Servers im Intranet betrieben und der Zugriff auf diesen mittels Reverse-Proxy ermöglicht. Somit besteht sowohl für Antragsteller als auch Sachbearbeiter und Administratoren die Möglichkeit, auf die Verwaltungsoberfläche und die Formulare zuzugreifen.
Verwendung | Zugriff |
Verwaltungsoberfläche aus dem Internet | Ja (über Reverse-Proxy) |
Verwaltungsoberfläche aus dem Intranet | Ja |
Formulare aus dem Internet | Ja (über Reverse-Proxy) |
Formulare aus dem Intranet | Ja |
Bestandteile der Infrastruktur
Baustein | Beschreibung |
Apache Tomcat mit formcycle Master-Server | Servlet-Container der formcycle bereitstellt |
Reverse-Proxy | Reverse-Proxy welcher den Zugriff auf den Master-Server aus dem Internet ermöglicht |
DBMS | Datenbank-Server welcher die formcycle System-Datenbank bereitstellt |
Mail-Server | Mail-Server welcher für den Mail-Versand durch formcycle ermöglicht |
Interne Drittsysteme | Interne Drittsysteme welche durch formcycle angebunden werden |
Externe Drittsysteme | Externe Drittsysteme welche durch formcycle angebunden werden |
Protokolle und Ports
Verbindung | Protokoll | Verwendung | Ports |
Browser im Internet → Reverse-Proxy | HTTP(S) | Aufruf der Verwaltungsoberfläche oder der Formulare über den Reverse-Proxy | Web-Standard: 80 bzw. 443 |
WS(S) | Websocket-Verbindung zwischen dem Benutzer-Browser und dem Master-Server | Web-Standard: 80 bzw. 443 | |
Browser im Intranet → formcycle Master-Server | HTTP(S) | Zugriff auf die Verwaltungsoberfläche oder die Formulare | Tomcat-Standard: 8080 bzw. 8443 |
WS(S) | Websocket-Verbindung zwischen dem Benutzer-Browser und dem Master-Server | Tomcat-Standard: 8080 bzw. 8443 | |
Reverse-Proxy → formcycle Master-Server | HTTP(S) | Auflösen von WS(S)-Anfragen an den Reverse-Proxys durch Weiterreichen an den Master-Server | Tomcat-Standard: 8080 bzw. 8443 |
WS(S) | Auflösen von HTTP(S)-Anfragen an den Reverse-Proxys durch Weiterreichen an den Master-Server | Tomcat-Standard: 8080 bzw. 8443 | |
AJP | Alternativ kann zur Kommunikation zwischen dem Reverse-Proxy und dem Master-Server auch das Apache JServ Protocol verwendet werden. | Tomcat-Standard: 8009 | |
formcycle Master-Server → Datenbank | JDBC | Anbindung der System-Datenbank | Abhängig von der verwendeten Datenbank. Beispiele: 3306 (MySQL), 5432 (PostgreSQL), … |
formcycle Master-Server → Mailserver | SMTP | Anbindung des Mail-Servers | Standard: 25 bzw. 578 |
formcycle Master-Server → Interne Drittsysteme | Protokolle von internen Drittsystemen (optional) | Je nach Funktionsumfang von formcyclekönnen verschiedenste Drittsysteme angebunden werden. | Port gemäß Drittsystem |
formcycle Master-Server → Reverse-Proxy → externe Drittsysteme | Protokolle von externen Drittsystemen (optional) | Je nach Funktionsumfang von formcyclekönnen verschiedenste Drittsysteme angebunden werden. | Port gemäß Drittsystem |
Qualitäts- und/oder Leistungsmerkmale
Der Betrieb eines Master-Servers im Intranet bietet eine hohe Sicherheit, da keine direkte Verbindung ins Internet besteht. Diese Funktionalität wird jedoch durch den Reverse-Proxy ermöglicht. Auch übernimmt dieser die Weiterleitung von Anfragen aus dem Internet an den Master-Server. In diesem Szenario kann der Master-Server sowohl vertikal als auch horizontal skaliert werden. Für Letzteres wird eine Load-Balancer-Funktionalität benötigt der mit Sticky-Sessions arbeiten muss.
Szenario 3: Master-Server mit Frontend-Server
Im dritten Szenario wird formcycle in Form des Master-Servers im Intranet und eines Frontend-Servers in der DMZ betrieben. Dies ermöglicht das Ausliefern von Formularen über den Frontend-Server während kein direkter Zugriff auf die Verwaltungsoberfläche des Master-Servers durchgeführt werden kann. Ggf. wird auf dem Frontend-Server zusätzlich das Postfach angeboten, sodass auch Sachbearbeiter die Verwaltung von eingegangenen Datensätzen durchführen können.
Verwendung | Zugriff |
Verwaltungsoberfläche aus dem Internet | Nein |
Verwaltungsoberfläche aus dem Intranet | Ja |
Formulare aus dem Internet | Ja (über Frontend-Server) |
Formulare aus dem Intranet | Ja |
Bestandteile der Infrastruktur
Baustein | Beschreibung |
Apache Tomcat mit formcycle Master-Server | Servlet-Container der einen formcycle Master-Server bereitstellt |
Apache Tomcat mit formcycle Frontend-Server | Servlet-Container der einen formcycle Frontend-Server bereitstellt |
DBMS | Datenbank-Server welcher die formcycle System-Datenbank bereitstellt |
Mail-Server | Mail-Server welcher für den Mail-Versand durch formcycle ermöglicht |
Interne Drittsysteme | Interne Drittsysteme welche durch formcycle angebunden werden |
Protokolle und Ports
Verbindung | Protokoll | Verwendung | Ports |
Browser im Internet → formcycle Frontend-Server | HTTP(S) | Zugriff auf die Formulare und ggf. das Postfach | Tomcat-Standard: 8080 bzw. 8443 |
WS(S) | Websocket-Verbindung zwischen dem Benutzer-Browser und dem Master-Server | Tomcat-Standard: 8080 bzw. 8443 | |
Browser im Intranet → formcycle Frontend-Server | HTTP(S) | Zugriff auf die Verwaltungsoberfläche oder die Formulare | Tomcat-Standard: 8080 bzw. 8443 |
WS(S) | Websocket-Verbindung zwischen dem Benutzer-Browser und dem Master-Server | Tomcat-Standard: 8080 bzw. 8443 | |
formcycle Master-Server → Datenbank | JDBC | Anbindung der System-Datenbank | Abhängig von der verwendeten Datenbank. Beispiele: 3306 (MySQL), 5432 (PostgreSQL), … |
formcycle Master-Server → Mailserver | SMTP | Anbindung des Mail-Servers | Standard: 25 bzw. 578 |
formcycle Master-Server → formcycleFrontend-Server | Socket-Verbindung | Für die Kommunikation zwischen dem Master- und Frontend-Server wird eine auf der Bibliothek SIMON basierende Socket-Verbindung benutzt. Diese wird durch den Master-Server aufgebaut und ermöglicht anschließend eine Bi-direktionale Kommunikation. | SIMON-Standard: 4753 (UPD und TCP) |
formcycle Master-Server → Interne Drittsysteme | Protokolle von internen Drittsystemen (optional) | Je nach Funktionsumfang von formcycle können verschiedenste Drittsysteme angebunden werden. | Port gemäß Drittsystem |
Qualitäts- und/oder Leistungsmerkmale
Der Betrieb eines Master-Servers im Intranet bietet eine hohe Sicherheit, da keine direkte Verbindung ins Internet besteht. Hierfür wird ein Frontend-Server in der DMZ betrieben, der den Zugriff auf die Formulare und ggf. das Postfach ermöglicht. Hierdurch wird dem Master-Server Last in Form der Formular-Auslieferung und initialen Entgegennahme erspart. Die eigentliche Statusverarbeitung findet noch immer auf dem Master-Server statt. In diesem Szenario kann der Master-Server sowohl vertikal als auch horizontal skaliert werden. Letzteres macht meist jedoch nur Sinn, wenn auch die Frontend-Server vertikal skaliert werden. Hintergrund ist hierbei, dass ein Frontend-Server immer nur eine Verbindung durch einen Master-Server zulässt. Sollte der Frontend-Server vertikal skaliert werden, so bietet es sich an diesen hinter einem Load-Balancer mit Sticky-Sessions zu betreiben. Alternativ kann jeder Frontend-Server auch über eigene URLs erreicht werden und somit auch eine fachliche Separierung erreicht werden.
Szenario 4: Master-Server in der DMZ
Im vierten Szenario wird formcycle in Form des Master-Servers in der DMZ betrieben. Dies ermöglicht das Ausliefern von Formularen und den direkten Zugriff auf die Verwaltungsoberfläche aus dem Internet. Da der Master-Server eine Datenbank benötigt kann diese entweder auch in der DMZ betrieben werden oder wiederrum über einen Reverse-Proxy im Intranet angesprochen werden.
Verwendung | Zugriff |
Verwaltungsoberfläche aus dem Internet | Ja |
Verwaltungsoberfläche aus dem Intranet | Ja |
Formulare aus dem Internet | Ja |
Formulare aus dem Intranet | Ja |
Bestandteile der Infrastruktur
Baustein | Beschreibung |
Apache Tomcat mit formcycle Master-Server | Servlet-Container der formcycle bereitstellt |
DBMS | Datenbank-Server welcher die formcycle System-Datenbank bereitstellt |
Externe Drittsysteme | Externe Drittsysteme welche durch formcycle angebunden werden |
Protokolle und Ports
Verbindung | Protokoll | Verwendung | Ports |
Browser im Internet → formcycle Master-Server | HTTP(S) | Zugriff auf die Verwaltungsoberfläche oder die Formulare | Tomcat-Standard: 8080 bzw. 8443 |
WS(S) | Websocket-Verbindung zwischen dem Benutzer-Browser und dem Master-Server | Tomcat-Standard: 8080 bzw. 8443 | |
formcycle Master-Server → Datenbank | JDBC | Anbindung der System-Datenbank | Abhängig von der verwendeten Datenbank. Beispiele: 3306 (MySQL), 5432 (PostgreSQL), … |
formcycle Master-Server → Externe Drittsysteme | Protokolle von externen Drittsystemen (semi-optional) | Je nach Funktionsumfang von formcycle können verschiedenste Drittsysteme angebunden werden. Da formcycle für den sinnvollen Betrieb einen Mail-Server benötigt, wird hierdurch meist ein externer Dienstleister angebunden. | Port gemäß Drittsystem |
Qualitäts- und/oder Leistungsmerkmale
Der Betrieb eines Master-Servers im Internet bietet eine hohe Erreichbarkeit, da dieser direkt aus dem Internet erreichbar ist. Zu beachten ist dabei die Erreichbarkeit bzw. Verfügbarkeit einer Datenbank und eines Mail-Servers. In diesem Szenario kann der Master-Server sowohl vertikal als auch horizontal skaliert werden. Für Letzteres wird eine Load-Balancer-Funktionalität benötigt der mit Sticky-Sessions arbeiten muss.
Ergänzung: Master-Server-Cluster
Für den Betrieb von mehreren Master-Servern ist eine Cluster-Funktionalität notwendig. Diese sorg dafür, dass sich Master-Server untereinander kennen und miteinander kommunizieren können. Dies ist in verschiedenen Kontexten wie z. B. beim Verwalten von Plugins notwendig.
Bestandteile der Infrastruktur
Baustein | Beschreibung |
Apache Tomcat mit formcycle Master-Server 1 | Servlet-Container der formcycle bereitstellt |
Apache Tomcat mit formcycle Master-Server 2 | Servlet-Container der formcycle bereitstellt |
DBMS | Datenbank-Server welcher die formcycle System-Datenbank bereitstellt |
Mail-Server | Mail-Server welcher für den Mail-Versand durch formcycle ermöglicht |
Interne Drittsysteme | Interne Drittsysteme welche durch formcycle angebunden werden |
Protokolle und Ports
Ergänzend zu den Ports des entsprechenden Szenarios sind folgende weitere Ports relevant:
Verbindung | Protokoll | Verwendung | Ports |
formcycle Master-Server → formcycle Master-Server | Socket-Verbindung | Cluster-Verbindung zwischen den Master-Servern | Standard: 7600 |
Es ist ferner zu beachten, dass alle Master-Server den Zugriff auf die Datenbank, den Mail-Server und alle etwaige Drittsysteme benötigt.
Qualitäts- und/oder Leistungsmerkmale
Für die vertikale Skalierung der Master-Server müssen alle Instanzen miteinander kommunizieren können. Dies erfolgt über eine Cluster-Verbindung welche es den Servern ermöglicht Nachrichten auszutauschen.
Vergleich: Frontend-Server vs. Reverse-Proxy
Ein Reverse-Proxy nimmt alle an ihn gerichtete Anfragen (Internet) entgegen und leitet diese an den konfigurierten Zielrechner (Intranet) weiter. Die gesamte Last der Anfragen wird 1:1 vom Zielrechner verarbeitet.
Der formcycle Frontend-Server nimmt nur gültige Anfragen an, bzw. leitet nur gültige Anfragen an den Zielrechner (formcycle Master-Server) weiter. Neben dieser ersten „Vorauswahl“ stehen weitere Funktionen wie Berechtigungsverwaltung und Caching zur Verfügung.
Ein weiterer wichtiger Punkt ist, dass die Kommunikation nicht vom Internet (formcycle Frontend-Server) zum Intranet (formcycle Master-Server) aufgebaut wird, sondern ausschließlich vom Intranet (formcycle Master-Server) zum Internet (formcycle Frontend-Server)
Funktionsübersicht
Reverse-Proxy | Frontend-Server | |
Zugriff auf Verwaltungsoberfläche | Ja | Nein |
Zugriff auf das Sachbearbeiter-Postfach | Ja | Optional |
Zugriff auf Formulare | Ja | Ja |
Fachliche Anzeigeberechtigung für einzelne Formulare | Nein | Ja |
Erweiterter Formular-Cache | Nein | Ja |
Verschlüsselte Verbindung | Ja | Ja |
Lastverteilung | Nein | Ja |
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