Encryption. Authentication. & Certificate Authority Validation
In recent releases, 4D’s security capabilities have been significantly expanded, particularly in the area of certificates. This includes auto-generated certificates for client-server communication, support for ECDSA certificates, and, with 4D 20 R7, the validation of certificate authority for client-server communication of engined applications. Some customers require the highest level of security, highlighting the importance of these features.
However, security can be complex, and there have been requests for an explanation of how a TLS/SSL connection works and the role of certificates. Therefore, before delving into the new features, it’s helpful to first break down the basic security concepts and their interactions.
Introducing Session Singletons
Singletons have been one of the standout features of 4D 20 R5. Previously, developers could leverage two types of singletons:
- the process singleton, which is unique to each process but different across processes,
- and the shared singleton, which is unique across the whole application.
With 4D 20 R7, we are releasing a new type of singleton: the session singleton!
QUIC Network Layer is Production Ready!
With the beta of 4D 20, we introduced you to our new network layer: The QUIC network layer.
At that time, it was still in development and thus removed from the official release. Today, we’re thrilled to announce that the QUIC network layer is out of beta and officially ready for production!
After rigorous load testing and valuable feedback from early adopters, QUIC’s stability and performance have been validated—surpassing even ServerNet in key areas. Now that QUIC has reached feature parity with ServerNet in 4D 20 R5, it’s the perfect time to consider making the switch.
But first, let me tell you more about such great news.
REST and Qodly Support of Singletons
With 4D 20 R5, we released singletons. And with 4D 20 R6, we now allow you to directly call the exposed functions of your shared singletons through REST calls. Similarly, you can use the exposed functions of your shared singletons in events when designing your Qodly Pages. Let me delve deeper into these new capabilities.
Managing HTTP Requests with HTTP Agents
In 4D 19 R6, we introduced HTTP classes to modernize syntax and enhance functionalities for our HTTP client commands. Building on this foundation, 4D 20 R6 brings a powerful new feature: HTTP agents. These agents empower developers to customize and optimize their connections to HTTP servers by managing connection persistence and reuse for HTTP requests.
Deprecation of the Legacy Network Layer
To handle the communication between 4D Client and 4D Server, 4D proposes 3 different network layers:
- Legacy,
- ServerNet,
- and QUIC.
The Legacy network layer was introduced 30 years ago in 4D v3. It was originally developed for AppleTalk, enhanced for ISDN, and then added IPX and finally TCP/IP.
It was created for a very different Client/Server usage than 4D works today: it is single-threaded, optimized for slow networks with no encryption, and available for many different network protocols. As such, it is not optimized at all for modern network communications and supports a very limited number of features.
That’s why, with 4D 20 R5, we have decided to make the Legacy network layer obsolete and plan to remove it soon. We encourage you to move to ServerNet now if you are still using it. Let me explain what benefits you will get from the switch.
QUIC Now Matches ServerNet Capabilities
The QUIC network layer now supports as many features as the ServerNet network layer. With 4D 20 R5, we added support for IPv6, broadcast, and Single Sign-on on Windows.
Of course, we will continue to improve it in the coming versions to make it the best network layer 4D has ever had.
But for now, let me speak a bit more about the last functionalities we added.
Shared Classes
Do you want a simplified way to use shared objects, following the classic object syntax and automatically calling use/end use when needed?
Fasten your seatbelts; here come the shared classes!
Singletons in 4D
4D 20 R5 delivers a powerful feature for developers: Singletons!
The singleton design pattern creates a single instance of a class accessible throughout your application.
This pattern offers many benefits, including:
- host for interprocess values,
- utility classes,
- a base for the factory design pattern,
- and many more.
Keep reading for more information about this new concept!
QUIC network layer: Automatic update and sleep mode
Our development of the QUIC network layer continues, and with 4D 20 R4, we now have the sleep mode and the automatic update. Let’s take a closer look at these enhancements and see how they compare to the way they work with other network layers.
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy