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

Anwendungen zur Gebäudebewertung

In früheren Versionen von 4D konnten Entwickler Evaluierungslizenzen für Entwicklungszwecke beantragen, aber die Bereitstellung von Evaluierungsversionen der erstellten Anwendungen für Endanwender – ob als Einzelplatz oder Client/Server – war schwierig oder sogar unmöglich.

Ab 4D 20.7 und 20 R8 können Sie nun Evaluierungsversionen Ihrer Anwendungen erstellen. Wenn ein Benutzer eine Evaluierungsanwendung zum ersten Mal auf einem neuen Rechner ausführt, kontaktiert diese automatisch einen 4D Dienst, um eine 14-tägige Evaluierungslizenz zu erhalten – ohne dass der Benutzer manuell eingreifen muss.

Dieser Blog-Beitrag führt Sie durch den Prozess der Erstellung einer Testversion Ihrer Anwendung für Demozwecke.

Produkt blank

Neue Klasse zur Durchführung von TCP-Verbindungen

Mit der Veröffentlichung von 4D 20 R8 ist ein neues Feature hinzugekommen: die Klasse TCPConnection. Diese moderne Klasse nutzt die objektorientierte Syntax und unterstützt die Handhabung asynchroner Netzwerkverbindungen und bietet eine neue und leistungsstarke Alternative zu den 4D Internet Commands. Mit TCPConnection können Sie sich mit praktisch allem verbinden – ob mit Servern, Druckern, Registrierkassen oder industriellen Geräten – und damit ein vielseitiges Werkzeug für einzigartige Netzwerkanforderungen nutzen.

In dieser Version ist die TCP-Client-Funktionalität verfügbar, mit der Sie sich mit externen Servern verbinden und nahtlos Daten austauschen können.

Produkt blank

Notarielle Beurkundung unter macOS: Änderungen an der Komponentenstruktur

Der macOS-Beglaubigungsprozess entwickelt sich ständig weiter. Leider entspricht die interne Struktur von 4D Komponenten, die mit 4D v11 entwickelt wurde, um plattformübergreifende Kompatibilität zu ermöglichen, nicht mehr den Anforderungen, die Apple für Silicon-basierte Macs eingeführt hat, was die Beurkundung von Komponenten zunehmend erschwert.

Um den Implementierungsprozess zu vereinfachen, haben wir die Komponentenstruktur ab 4D 20 R8 aktualisiert. Diese neue Ordnerstruktur macht die Notarisierung und Bereitstellung so einfach wie die Bereitstellung einer Anwendung. Es gibt jedoch eine wichtige Einschränkung: Die aktualisierte Struktur ist nicht kompatibel mit älteren 4D Versionen (z.B. 4D 20 R7 und früher), während ältere Komponenten weiterhin mit neueren 4D Versionen kompatibel sind.

Die Build4D Komponente wurde ebenfalls aktualisiert, um die neue Struktur widerzuspiegeln. Seien Sie beim Erstellen von Komponenten vorsichtig und stellen Sie sicher, dass Sie die richtige Version von Build4D verwenden.

Wichtiger Hinweis: Bei Komponenten, die mit 4D 20 R7 oder einer früheren Version erstellt wurden, können bei der Notarisierung Fehler auftreten. Die empfohlene Lösung ist ein Update auf 4D 20 R8.

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.