Autor: Nicolas Brachfogel

Nicolas Brachfogel
Product Owner & Senior Developer - Nicolas Brachfogel kam 2017 als Senior Developer (4D Server und Netzwerke) zu 4D. Als Product Owner, der die Freigabe von Apple Silicon verwaltet, ist er für das Schreiben von User Stories und deren Umsetzung in funktionale Spezifikationen zuständig und stellt sicher, dass die Implementierungen der Funktionen den Kundenanforderungen entsprechen. Nicolas ist Absolvent des Institut Supérieur d'Informatique Appliquée (INSIA) und begann seine Karriere als Softwareentwickler im Jahr 2001. Nachdem er mehrere Jahre in Java und C++ programmiert hatte, spezialisierte er sich auf die Client-Server-Entwicklung für Videospielunternehmen. Als Server-Entwickler/Architekt arbeitete er erfolgreich an den Server-Architekturen vieler Spiele (Dofus Arena, Drakerz, Trivial Pursuit Go!).
Produkt blank

Verschlüsselung, Authentifizierung und Validierung der Zertifizierungsstelle

In den letzten Versionen wurden die Sicherheitsfunktionen von 4D erheblich erweitert, insbesondere im Bereich der Zertifikate. Dazu gehören automatisch generierte Zertifikate für die Client-Server-Kommunikation, die Unterstützung von ECDSA-Zertifikaten und, mit 4D 20 R7, die Validierung von Zertifikatsautoritäten für die Client-Server-Kommunikation von vernetzten Anwendungen. Einige Kunden verlangen ein Höchstmaß an Sicherheit, was die Bedeutung dieser Funktionen unterstreicht.

Sicherheit kann jedoch komplex sein, und es gab Anfragen nach einer Erklärung, wie eine TLS/SSL-Verbindung funktioniert und welche Rolle Zertifikate spielen. Bevor wir uns mit den neuen Funktionen befassen, ist es daher hilfreich, zunächst die grundlegenden Sicherheitskonzepte und deren Zusammenspiel zu erläutern.

Produkt blank

Einführung von Session Singletons

Singletons waren eine der herausragenden Funktionen von 4D 20 R5. Zuvor konnten Entwickler zwei Arten von Singletons nutzen:

  • das Prozess-Singleton, das für jeden Prozess einzigartig, aber prozessübergreifend unterschiedlich ist,
  • und das gemeinsame Singleton, das für die gesamte Anwendung eindeutig ist.

Mit 4D 20 R7 bringen wir eine neue Art von Singleton auf den Markt : das Session Singleton!

Produkt blank

QUIC Network Layer ist produktionsbereit!

Mit der Beta-Version von 4D 20 haben wir Ihnen unsere neue Netzwerkschicht vorgestellt: Die QUIC Netzwerkschicht.

Zu diesem Zeitpunkt befand sie sich noch in der Entwicklung und wurde daher aus der offiziellen Version entfernt. Heute freuen wir uns, Ihnen mitteilen zu können, dass die QUIC Netzwerkschicht die Beta-Phase verlassen hat und offiziell für die Produktion bereit ist!

Nach strengen Belastungstests und wertvollen Rückmeldungen von frühen Anwendern wurden die Stabilität und Leistung von QUIC bestätigt – und übertrifftsogar ServerNet in wichtigen Bereichen. Jetzt, da QUIC in 4D 20 R5 die Funktionsgleichheit mit ServerNet erreicht hat, ist es der perfekte Zeitpunkt, um über einen Umstieg nachzudenken.

Aber zunächst möchte ich Ihnen mehr über diese großartigen Neuigkeiten erzählen.

Produkt blank

REST- und Qodly-Unterstützung von Singletons

Mit 4D 20 R5 haben wir Singletons freigegeben. Mit 4D 20 R6 können Sie nun die exponierten Funktionen Ihrer gemeinsamen Singletons über REST-Aufrufe direkt aufrufen. Ebenso können Sie die exponierten Funktionen Ihrer gemeinsamen Singletons in Ereignissen verwenden, wenn Sie Ihre Qodly-Seiten gestalten. Lassen Sie mich auf diese neuen Möglichkeiten näher eingehen.

Produkt blank

Verwaltung von HTTP-Anfragen mit HTTP-Agenten

In 4D 19 R6 haben wir HTTP-Klassen eingeführt, um die Syntax zu modernisieren und die Funktionalitäten unserer HTTP-Client-Befehle zu verbessern. Aufbauend auf dieser Grundlage bietet 4D 20 R6 eine leistungsstarke neue Funktion: HTTP-Agenten. Diese Agenten ermöglichen es Entwicklern, ihre Verbindungen zu HTTP-Servern anzupassen und zu optimieren, indem sie die Aufrechterhaltung und Wiederverwendung von Verbindungen für HTTP-Anfragen verwalten.

Produkt blank

Abschaltung der veralteten Netzwerkschicht

Um die Kommunikation zwischen 4D Client und 4D Server abzuwickeln, bietet 4D 3 verschiedene Netzwerkschichten an:

  • Legacy,
  • ServerNet,
  • und QUIC.

Die Legacy Netzwerkschicht wurde vor 30 Jahren in 4D v3 eingeführt und wurde ursprünglich für AppleTalk entwickelt, dann für ISDN erweitert und schließlich um IPX und TCP/IP ergänzt.

Sie wurde für einen ganz anderen Client/Server-Einsatz entwickelt, als 4D heute arbeitet: Sie ist single-threaded, für langsame Netzwerke ohne Verschlüsselung optimiert und für viele verschiedene Netzwerkprotokolle verfügbar. Als solches ist es überhaupt nicht für die moderne Netzwerkkommunikation optimiert und unterstützt nur eine sehr begrenzte Anzahl von Funktionen.

Aus diesem Grund haben wir mit 4D 20 R5 beschlossen, die Legacy-Netzwerkschicht überflüssig zu machen und planen, sie bald zu entfernen. Wir empfehlen Ihnen, jetzt auf ServerNet umzusteigen, wenn Sie es noch verwenden. Lassen Sie mich erklären, welche Vorteile Sie durch den Wechsel haben.

Produkt blank

QUIC entspricht jetzt den ServerNet-Fähigkeiten

Die QUIC Netzwerkschicht unterstützt jetzt genauso viele Funktionen wie die ServerNet Netzwerkschicht. Mit 4D 20 R5 haben wir Unterstützung für IPv6, Broadcast und Single Sign-on unter Windows hinzugefügt.

Natürlich werden wir sie in den kommenden Versionen weiter verbessern, um sie zur besten Netzwerkschicht zu machen, die 4D je hatte.

Aber lassen Sie mich zunächst ein wenig mehr über die letzten Funktionen sprechen, die wir hinzugefügt haben.

Produkt blank

Gemeinsame Klassen

Möchten Sie eine vereinfachte Methode zur Verwendung von gemeinsam genutzten Objekten, die der klassischen Objektsyntax folgt und bei Bedarf automatisch use/end use aufruft?

Schnallen Sie sich an, hier kommen die Shared Classes!

Produkt blank

Singletons in 4D

4D 20 R5 bietet eine leistungsstarke Funktion für Entwickler: Singletons!

Das Singleton Design Pattern erzeugt eine einzige Instanz einer Klasse, die in der gesamten Anwendung zugänglich ist.

Dieses Muster bietet viele Vorteile, darunter:

  • Host für prozessübergreifende Werte,
  • Hilfsklassen,
  • eine Basis für das Factory Design Pattern,
  • und vieles mehr.

Lesen Sie weiter, um mehr über dieses neue Konzept zu erfahren!