Voraussetzungen für die Client/Server-Kommunikation via "QComm"
Die Kommunikation zwischen dem regisafe-Client und dem IQ-Server findet über das TCP/IP-Protokoll statt. Intern werden zur Realisierung der Kommunikation die sogenannten "Sockets" verwendet.
Die Client/Server-Kommunikation wird sowohl im regisafe-Client als auch im IQ-Server über das IQ-Modul QComm realisiert.
Der IQ-Server muss von den Clients über eine feste IP-Adresse angesprochen werden können.
Obwohl auch der IQ-Server die Clients ansprechen muss, ist es nicht erforderlich, dass Clients über eine feste IP-Adresse verfügen: Falls ein Client über eine feste IP-Adresse verfügt, wird diese zur Kommunikation genutzt, hat sich die IP-Adresse geändert, wird der Client-Dienst für die neue IP-Adresse automatisch gestartet.
Unabhängig davon baut der Client bei jeder Anfrage zum Server eine dynamische Verbindung auf, auch wenn die Verbindung vom Server zum Client statisch ist.
- Der Client schickt dem Server seine eigene Adresse. Unterscheidet sich diese übermittelte Adresse von der Adresse, von welcher die Anfrage tatsächlich stammt, geht der Server davon aus, dass über eine Firewall oder einen Router die Adressen umgesetzt werden und der Client daher nicht über eine feste Adresse erreichbar ist. In diesem Fall wird der Client angewiesen, die Verbindung zum Server zu behalten und sie erst abzubrechen, wenn der Client beendet wird ("statische Verbindung"). Über diese statische Verbindung spricht der Server den Client an, wenn dies erforderlich ist. Die maximal erlaubte Anzahl an statischen Verbindungen, die zu Clients gehalten wird kann in der IQServer.ini eingerichtet werden (Schlüssel "MaxStatischeVerbindungen")
Bei "dynamischen Verbindungen" wird keine solche Verbindung offen gehalten, stattdessen baut der Server bei Bedarf eine neue, temporäre Verbindung zum Client auf.
Damit ein Client auf den IQ-Server zugreifen kann, müssen folgende Voraussetzungen erfüllt sein:
- Verbindung zwischen Client und Server
Die Verbindung zwischen Client und Server darf nicht getrennt werden, während regisafe geladen ist. - Feste IP-Adresse des IQ-Servers
Der IQ-Server muss über eine feste, eindeutige IP-Adresse von den Clients angesprochen werden können. - Benötigte Ports dürfen nicht gesperrt sein
Der Client muss den IQ-Server standardmäßig auf folgenden Ports ansprechen können:
60001 |
Dienst #1: QDataServer (Datenbank) |
60002 |
Dienst #2: QStorageServer (Dateiverwaltung) |
60003 |
Wird nicht verwendet (bis Version 4.8: KonvertierungsServer) |
60004 |
Dienst #4: AutoUpdate |
60005 |
Dienst #5: QSessionServer (Benutzer/Anmeldungen) |
60006 |
Dienst #6: OrgaManagerServer (Organisations-Strukturen) |
60007 |
Dienst #7: MailServer |
60008 |
Dienst #8: RegistraturServer |
60009 |
Dienst #9: MobilServer |
60010 |
Dienst #10: MailArchivServer |
Spricht der Client den Server über eine andere Adresse an, als er tatsächlich besitzt, muss clientseitig (= in der regisafe.ini) eine IP-Adressen-Übersetzung eingerichtet werden.
Dies geschieht in der Gruppe [IPAdressen] der INI-Datei – nähere Informationen siehe unterGruppe [IPAdressen].
Die von der IQ-Technologie verwendeten Port-Nummern beginnen standardmäßig bei 60000. Dieser Wert kann in der Konfiguration geändert werden (Schlüssel "StartPortNummer").
Der Port 60000 selber wird jedoch nicht verwendet, ab dem nächsten Port 60001 beginnen die Dienst-Ports des IQ-Servers. Standardmäßig werden 20 Server-Dienst-Ports reserviert (von 60001 bis 60020). Dieser Wert (Schlüssel "AnzahlServerDienstPorts") kann in der Konfiguration geändert werden.
Nach den Server-Dienst-Ports werden standardmäßig bis zu 255 Client-Dienst-Ports für auf einem Computer gleichzeitig laufende Clients reserviert. Dieser Wert (Schlüssel "AnzahlClientDienstPorts") kann in der Konfiguration geändert werden, z.B. wenn an einem Terminal-Server mehr als 255 Clients gleichzeitig gestartet werden sollen – zugegeben: Sehr sehr unwahrscheinlich...
Die Client-Dienst-Ports schließen direkt an die Server-Dienst-Ports an, also standardmäßig von 60021 bis 60275.
regisafe nutzt standardmäßig folgende Port-Nummern:
60000 |
Wird nicht verwendet |
StartPortNummer
Standard: 60000 |
60001 |
Dienst #1: IQ-Modul QDataServer |
Maximale Anzahl Server-Dienst-Ports:
AnzahlServerDienstPorts
Standard: 20 |
60002 |
Dienst #2: IQ-Modul QStorageServer |
|
60003 |
Wird nicht verwendet |
|
60004 |
Dienst #4: IQ-Modul AutoUpdate |
|
60005 |
Dienst #5: IQ-Modul QSessionServer |
|
60006 |
Dienst #6: IQ-Modul OrgaManagerServer |
|
60007 |
Dienst #7: IQ-Modul MailServer |
|
60008 |
Dienst #8: IQ-Modul RegistraturServer |
|
60009 |
Dienst #9: IQ-Modul MobilServer |
|
60010 |
Dienst #10: IQ-Modul MailArchivServer |
|
60021 |
Dienst #21: IQ-Modul QSessionClient |
Maximale Anzahl Client-Dienst-Ports:
AnzahlClientDienstPorts
Standard: 255 |
60022 |
Dienst #22: IQ-Modul QSessionClient |
|
60023 |
Dienst #23: IQ-Modul QSessionClient |
|
60024 |
Dienst #24: IQ-Modul QSessionClient |
|
… |
|
|
60275 |
Dienst #275: IQ-Modul QSessionClient |
- Werden in der Konfiguration die Werte StartPortNummer, AnzahlServerDienstPorts oder AnzahlClientDienstPorts verändert, stimmen die hier angegebenen Port-Nummern nicht mehr. Die Tabelle ist entsprechend zu "verschieben":
Abhängig von der StartPortNummer wird dann jeweils die festgelegte Anzahl der Server- und Client-Dienst-Ports "hochgezählt".
Beispiel:
StartPortNummer = 9900
AnzahlServerDienstPorts = 20
AnzahlClientDienstPorts = 10
So beginnt die Tabelle mit Port 9900. Die Server-Dienst-Ports belegen die Ports 9901 bis 9920, die Clients-Dienst-Ports belegen die Ports 9921 bis 9930.
Konfiguration der Port-Nummern
Die Verwendung der Port-Nummern kann in den INI-Dateien in der Gruppe [Kommunikation] verändert werden. Standardmäßig sind die Werte wie folgt festgelegt:
[Kommunikation]
StartPortNummer = 60000
AnzahlServerDienstPorts = 20
AnzahlClientDienstPorts = 255
Bitte beachten Sie:
- Die Konfiguration dieser drei Werte muss am Client (regisafe.ini) und am Server (IQServer.ini) absolut identisch erfolgen – sonst ist keine Kommunikation zwischen Client und Server möglich!
- Die Gruppe [Kommunikation] sollte in der INI-Datei vor dem Einbinden des ersten IQ-Moduls erfolgen (also vor der ersten [Module]-Gruppe).
- Eine Zusammenstellung aller Einstellungsmöglichkeiten der INI-Gruppe [Kommunikation] finden Sie unter Gruppe [Kommunikation].
Weitere Konfigurationsmöglichkeiten
In der Gruppe [Kommunikation] der INI-Dateien können neben der Konfiguration der Port-Nummern noch weitere Einstellungen gesetzt werden.
Im Gegensatz zu der Konfiguration der Port-Nummern können diese Werte an Client und Server unterschiedlich festgelegt werden.
Eine Zusammenstellung dieser Einstellungen finden Sie unter Gruppe [Kommunikation].
- Die Gruppe [Kommunikation] sollte in der INI-Datei vor dem Einbinden eines IQ-Moduls (also vor der ersten Gruppe [Module]) stehen!