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

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!

Produkt blank

Nicht-blockierender Druck

Mit 4D v20 R4 haben wir die Verwaltung von Druckaufträgen in 4D deutlich verbessert. 4D kann jetzt mehrere Druckaufträge parallel ausführen, was die Reaktionsfähigkeit Ihrer Anwendungen deutlich erhöht und die Verwaltung gleichzeitiger Druckaufträge erleichtert.

Produkt blank

Automatisch generierte SSL/TLS-Zertifikate für Client-Server-Kommunikation

Um die Sicherheit der Client-Server-Kommunikation zu vereinfachen, generiert 4D Server ab 4D v20 R4 seine eigenen SSL/TLS Zertifikate, anstatt sich auf die von 4D bereitgestellten Standardzertifikate zu verlassen.

Dieses Update bringt sowohl für Test- als auch für Produktionsumgebungen einen erheblichen Vorteil. Sie profitieren von erhöhten Sicherheitsmaßnahmen, ohne dass Sie Ihre eigenen Zertifikate bereitstellen müssen. Lassen Sie mich Ihnen erklären, was sich ändern wird.

Produkt blank

ORDA: Zuweisung eines Pfades zu einem Blob- oder Bild-Attribut

Nicht-ORDA-Datenbankbefehle boten Ihnen die Möglichkeit, Bilder und Blobs außerhalb Ihrer Datendatei abzulegen, dank des Befehls SET EXTERNAL DATA PATH. Dieser Befehl ist nicht an ORDA angepasst und daher haben wir beschlossen, eine ähnliche Funktion in v20 R3 hinzuzufügen: Die Möglichkeit, einem Blob- oder Bildattribut einen Pfad zuzuweisen, der auf eine Datei verweist. Lassen Sie mich Ihnen mehr darüber erzählen.

Produkt blank

Veraltete PHP-Befehle & Entfernung des 4D Built-in PHP Interpreters

PHP hat in der Webentwicklung eine entscheidende Rolle gespielt und wurde in 4D v12 eingeführt, um Funktionen zu bieten, die in der Muttersprache nicht ohne weiteres verfügbar sind, wie z. B. Zip-, Hash- oder LDAP-Funktionen. Im Laufe der Zeit hat 4D viele dieser PHP-Funktionen in seine Kernfunktionalität integriert. Daher haben wir uns entschlossen, den integrierten PHP-Interpreter in 4D v20 R3 zu entfernen und die PHP-Befehle in v21 zu verwerfen.

Wir werden die PHP-Befehle zwar nicht vollständig aus 4D entfernen, aber wir empfehlen Ihnen dringend, in Zukunft die System Worker zur Ausführung von PHP-Code zu verwenden.

Dieser Blog-Beitrag wird Sie durch diesen Übergangsprozess führen und Ihnen zeigen, wie Sie einen externen Interpreter über PHP Execute verwenden und wie Sie PHP-Code effektiv mit einem System Worker ausführen können.