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

Automatisches Aktualisieren von OEM-Build-Lizenzen

4D aktualisiert Entwicklungslizenzen automatisch, wenn sie ihr Verfallsdatum erreicht haben. OEM-Build-Lizenzen (4D Server OEM- und OEM-XML-Schlüssel) müssen jedoch weiterhin von Menschenhand aktualisiert werden. Dies führte zu Problemen bei automatisierten Build-Ketten und allgemein zu Zeitverlusten.

4D 20 R9 erweitert die automatische Aktualisierung von Lizenzen auf OEM Build Lizenzen. In diesem Blog-Beitrag werden die verschiedenen Szenarien beschrieben, in denen dies geschieht.

Produkt blank

Neue Klasse zur Behandlung eingehender TCP-Verbindungen

In 4D 20 R8 haben wir die Klasse TCPConnection eingeführt, mit der Sie TCP-Verbindungen zu entfernten Servern initiieren können. Mit 4D v20 R9 freuen wir uns, Ihnen die Klasse TCPListener vorstellen zu können – Ihr Schlüssel zur Handhabung eingehender TCP-Verbindungen und zum Aufbau eines TCP-Servers direkt in 4D.

Mit diesen beiden Klassen – TCPConnection und TCPListener – haben Sie nun die volle Kontrolle über die TCP-Kommunikation, sowohl client- als auch serverseitig.

Wir zeigen Ihnen, wie Sie die beiden Klassen zusammen verwenden können.

Produkt blank

Erstellung einer Testversion

In früheren Versionen von 4D konnten Entwickler Demolizenzen für Entwicklungszwecke beantragen. Aber die Bereitstellung von Demoversionen 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 Demoversionen Ihrer Anwendungen erstellen. Wenn ein Benutzer eine Demoanwendung zum ersten Mal auf einem neuen Rechner ausführt, kontaktiert diese automatisch einen 4D Dienst, um eine 14-tägige Demolizenz 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.