Enhanced Session Storage Access
You can store information in the storage of various session types, such as Client/Server, Web, or Mobile, allowing for easy reuse across different processes.
Now, in 4D 20 R6, you can access the storage of a specific session. This enhancement enables users to easily maintain the continuity and consistency of information across multiple sessions of the same user. Imagine being able to pull up the same customer record across different applications such as Client/Server or Web.
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.
New 4D remote session object with Client/Server connection and Stored procedure
In 4D applications, four types of sessions exist 4D Remote session, Stored Procedure session, Mobile session, and Web session.
The Session command already returns Web or Mobile sessions. This gives you access to a wealth of information about the session and an object shared by all processes in the session.
In 4D 20 R5, the Session command has been extended to the Client/Server connection and stored procedure.
Create a Client/Server Application with Build4D tool
Introducing the latest iteration of the Build4D component, now accessible on GitHub. In previous blog posts, we discussed the possibilities with a compiled project, a component, and a standalone application.
Now you can create a script for your Client/Server application from A to Z. And easily integrate it with continuous integration tools.
Let’s see how.
SSL/TLS: Support for ECDSA certificates
4D uses SSL/TLS to secure client-server communication and HTTP requests. 4D is supporting RSA cryptography since more than a decade and with 4D v20R4 we are now adding ECDSA cryptography to our tool belt. It’s a good moment for me to speak a bit about security.
ORDA – REST request optimization step by step (+ A demo)
ORDA/REST performance is a strategic matter; that’s why we shipped many features related to this topic, such as the ORDA/REST request optimization in Client/Server and when working with a remote datastore. Lately, we also gave you complete control over the ORDA/REST request optimization.
This blog post gives you the plan to follow in order to ace your ORDA/REST performance game. It includes other blog posts to read, videos to watch, and a demo to play with to increase performance in your applications quickly and easily.
ORDA – Optimize performance with full control over REST requests
With a previous version, you discovered how ORDA REST requests had been automatically optimized to increase performance when working with a remote datastore and client/server configurations.
You learned that you can use contexts to take advantage of the automatic ORDA REST requests optimization.
That was a significant step, but now we offer to have complete control over the behavior of your REST requests. Since performance is a strategic concern, you must be eager to discover this new feature!
And that’s not all; new tools are now available to help you understand and debug your issues.
Keep reading for a complete presentation.
Simplified cross-platform client/server application building on Windows
The release of Silicon Macs had a great impact on the way 4D compiles applications. Before v19, 4D was compiling only for Intel architecture, using the same code on Mac and Windows. But Silicon Macs use a new architecture, and as such 4D needs to compile specifically for Silicon. It affects cross-platform client/server application building.
As long as you build your server on Mac, it’s not much of an issue, as you can compile for both Intel and Silicon platforms. But on Windows, it’s not possible to compile for Silicon Macs. Our current recommendation is to compile the project on Mac for both architectures, and then copy it on a Windows machine before building the server. Unfortunately, for big projects with a lot of data, the copy can take some time.
Remote debugger: Debug server code on the client
There are many different client/server development scenarios, but in all of them, you need to switch between the client-side and the server-side to look at your server debugger or error window. To make your life easier, we’ve added a new option that allows you to decide where you want to debug your server code. Do you need to debug on a client because your server is headless? Just attach it to your client through your 4D menu!
ORDA – Improve your API with function scope
4D v18 R4 and ORDA made it possible for you to create high-level class functions above the data model. This allows you to write business-oriented code to hide complexity, reduce errors, and speed up the development process.
With 4D v18 R5, we’re bringing even more features to help you optimize and organize your code. For example, you might need to run a function locally on the client to improve performance when working in client/server mode. It’s now possible! Or if you expose your database as a REST server, you might want some functions to be available on the server-side but hidden for your REST clients. This is also possible!
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