Neu vorgestellt

Client-Server-Kommunikation

Der primäre Kommunikationsweg zwischen CONZEPT 16-Server und -Client basiert heute auf TCP/IP (sowohl IPv4 als auch IPv6), sieht man vom Spezialfall des lokalen Hosts (*) unter Windows einmal ab.

Das ursprüngliche Protokoll war jedoch IPX/SPX und die damals verfügbare, paketorientierte API beeinflusste auch das in CONZEPT 16 verwendete Kommunikationsverfahren, welches ebenfalls paketorientiert arbeitet.


Bei diesem Verfahren sendet der Client ein Anfragepaket an den Server, woraufhin dieser ein Antwortpaket sendet. Aufgrund der Übertragung der beiden Pakete über das Netz entsteht eine Verzögerung (Latenz), die zwar im LAN nur bei ungefähr 0,1 bis 0,2ms liegt, allerdings kommt noch die Zeit dazu, die der Server zu Verarbeitung der Anfrage benötigt.

Beim Lesen größerer Datenmengen vom Server (große Datensätze, Datenstruktur, BLOBs etc.) entstehen mehrere Anfragen, da die Daten nicht mehr in ein einzelnes Paket passen.

Da der aktuelle Server auch ältere Clients bedienen muss (4.0 bis 5.5), kann auch die maximale Paketgröße nicht einfach erhöht werden. Sehr große Pakete haben auf der anderen Seite den Nachteil, das erst alle Daten gesammelt sein müssen, bevor das Paket an den Client gesendet werden kann.

MSX-basierte Kommunikation

Ein nicht paketbasiertes Verfahren wie MSX erlaubt das Senden und Empfangen von Daten ohne Größenbeschränkung bei optimaler Nutzung des zugrundeliegenden Kommunikationswegs.

Fordert der Client beispielsweise einen großen Datensatz an, kann dann der Server alle Blöcke des Satzes in einem "Stream" an den Client senden, ohne dass dieser eine weitere Anfrage stellen muss. Das führt zu einem höheren Datendurchsatz, da die Latenzzeit weiterer Anfragen wegfällt.

Das MSX-Protokoll wird bisher schon für den Debugger, die Interprozesskommunikation und das Control-Center beim Server sowie für die Hot-Standby-Übertragung genutzt. Des weiteren kommt es beim Zugriff auf die Lizenzserver zum Einsatz.

Kompatibilität

Zukünftige Versionen der 5.6 werden bei bestimmten Operationen das MSX-Protokoll für die Client-Server-Kommunikation verwenden. Dabei kann dieselbe TCP/IP-Verbindung parallel für MSX als auch die bisherigen Pakete verwendet werden.

Alle älteren Cliensts werden weiterhin unterstützt, der Server stellt für MSX-basierte Anfragen neue Funktionen bereit, die dann nur von neueren Clients benutzt werden.

1 Kommentar

1 Kommentar zu “Client-Server-Kommunikation”

Kommentar abgeben