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.
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.
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.
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!
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!
Do you need to build a customized 4D connection dialog? Interested in connecting your client application to different servers? These are two scenarios that 4D v18 lets you to handle. This blog post is for you if you want to create a custom remote connection dialog and connect it to merged 4D servers. Keep reading!
Ever need to analyze the traffic of your ORDA requests between a client and the 4D server? Sometimes it may take a while to receive a response from the server, which can make you wonder if it’s due to network traffic or to an unoptimized request you’ve written! Thankfully, 4D v17 R6 makes it possible to determine the likely reason(s) for this latency with the new ORDA methods available on the ds object. They’re not only debugging functions, they also allow you to optimize your ORDA code with a better understanding of the sent requests.
Using ORDA to access large tables (especially those with relations) in Client/Server mode has been greatly enhanced. With 4D v17 R5, you’ll see 2-3xs improved LAN performance and up to 30xs faster WAN performance. And best of all – there’s no need to change anything in your code, it’s all automatic. Interesting, isn’t it? Well, let’s delve into the details.
You asked for a way to run multiple clients on the same computer AND simultaneously connect them to the same 4D Server. We not only heard you, we’re giving you even more with 4D v17 R5! Each connection now includes a separated cache folder containing the connection’s IP address, port, and a hash code. Thanks to this, you can now also connect several clients from the same machine to multiple servers on different machines. There’s no configuration necessary, just launch and watch it work!
Do you need to run complex calculations or exports on the client side? Use preemptive processes and start these actions without slowing down users and their daily work!