ORDA – RESTリクエストの最適化ステップバイステップ (+ A demo)
ORDA/RESTのパフォーマンスは戦略的な問題です。そのため、クライアント/サーバーやリモートデータストアを使用する際のORDA/RESTリクエストの最適化など、このトピックに関連する多くの機能を出荷しています。最近では、ORDA/RESTリクエストの最適化を 完全に制御できるようになりました。
このブログ記事では、ORDA/RESTパフォーマンスゲームのエースとなるために従うべき計画を提供します。このブログポストには、読むべき他のブログ記事、見るべきビデオ、そしてあなたのアプリケーションのパフォーマンスを 迅速かつ容易に 向上させるためのデモが含まれています。
ORDA – RESTリクエストの管理によるパフォーマンスの最適化
これまでのバージョンで、リモートデータストアやクライアント/サーバー構成で作業する際のパフォーマンスを向上させるため、ORDA RESTリクエストが自動的に最適化されることを知りました。
また、ORDA RESTリクエストの自動最適化を利用するために、コンテキストを使用できることも学びました。
これは重要なステップでしたが、今度は RESTリクエストの動作を完全に制御することを提案します。パフォーマンスは戦略的な問題なので、この新機能をぜひ活用してください!
それだけではありません。問題を理解しデバッグするのに役立つ新しいツールも利用できるようになりました。
詳細については、引き続きこのブログ記事をお読みください。
Windows上でのクロスプラットフォーム・クライアント/サーバーアプリケーション構築の簡素化
Silicon Macのリリースは、4Dのアプリケーションのコンパイル方法に大きな影響を与えた。v19以前の4Dは、MacとWindowsで同じコードを使って、Intelアーキテクチャ向けにのみコンパイルしていました。しかし、Silicon Macは新しいアーキテクチャを使用しているため、4DはSilicon専用にコンパイルする必要がある。これは、クロスプラットフォームのクライアント/サーバーアプリケーションの構築に影響を与える。
Macでサーバーを構築する限り、IntelとSiliconの両方のプラットフォームでコンパイルできるので、さほど問題にはならない。しかし、Windowsでは、Silicon Mac用にコンパイルすることはできない。現在のところ、Macで両アーキテクチャ用にプロジェクトをコンパイルし、それをWindowsマシンにコピーしてからサーバを構築することを推奨しています。残念ながら、データ量の多い大きなプロジェクトでは、コピーに時間がかかることがあります。
リモートデバッガ。クライアントでサーバーのコードをデバッグ
クライアント/サーバー開発にはさまざまなシナリオがありますが、そのすべてにおいて、サーバーのデバッガやエラー ウィンドウを見るために、クライアント側とサーバー側を切り換える必要があります。そこで、サーバーコードのデバッグをどこで行うかを決定できるオプションを新たに追加しました。サーバーがヘッドレスなので、クライアントでデバッグする必要がありますか?4Dメニューからクライアントにアタッチするだけです!
ORDA – 関数スコープでAPIを改善する
4D v18 R4とORDAにより、データモデルの上にハイレベルなクラス関数を作成することが可能になりました。これにより、ビジネス指向のコードを書くことで、複雑さを隠し、エラーを減らし、開発プロセスをスピードアップすることができます。
4D v18 R5では、コードの最適化と整理を支援する機能をさらに充実させました。例えば、クライアント/サーバーモードで作業しているときに、パフォーマンスを向上させるために、クライアント上でローカルに関数を実行する必要があるかもしれません。それが可能になりました。また、データベースをRESTサーバーとして公開する場合、サーバーサイドでは利用可能だがRESTクライアントでは非表示にしたい関数があるかもしれません。これも可能です!
カスタムリモートコネクションダイアログの構築
カスタマイズされた4D接続ダイアログを構築する必要がありますか?あなたのクライアントアプリケーションを異なるサーバーに接続することに興味がありますか?4D v18では、この2つのシナリオを処理することができます。このブログは、カスタムリモート接続ダイアログを作成し、マージされた4Dサーバーに接続したい方のためのものです。読み進めてください。
リクエストロギングによるORDAコードの最適化
クライアントと4Dサーバー間のORDAリクエストのトラフィックを分析する必要があることはありませんか?時々、サーバーから応答を受け取るのに時間がかかることがあり、それがネットワークトラフィックのせいなのか、それともあなたが書いた最適化されていないリクエストのせいなのか、疑問に思うことがあるかもしれません。ありがたいことに、4D v17 R6 では、この遅延の原因を、新しい ORDA メソッドで判断することができます。 dsオブジェクトで利用できる新しいORDAメソッドで、この遅延の原因と思われるものを特定することができます。これらはデバッグ機能だけでなく、送信されたリクエストをよりよく理解することで、ORDAコードを最適化することができます。
ORDAを使用して、クライアント/サーバーモードでパフォーマンスを向上させる
ORDAを使用して、Client/Serverモードで大きなテーブル(特にリレーションを持つテーブル)にアクセスすることが、大幅に強化されました。4D v17 R5では、LANのパフォーマンスは2-3倍、WANのパフォーマンスは最大30倍向上しています。そして、何よりも素晴らしいのは、あなたのコードを変更する必要がなく、すべて自動で行われることです。面白いでしょう?では、詳しく見ていきましょう。
同じコンピューターからの同時マージクライアント
同じコンピュータで複数のクライアントを動作させ、同時に同じ4Dサーバーに接続する方法が欲しいという要望がありました。4D v17 R5では、その声にお応えして、さらに進化しました。各接続は、IPアドレス、ポート、ハッシュコードを含むキャッシュフォルダを分離するようになりました。このおかげで、同じマシンから複数のクライアントを、異なるマシンの複数のサーバーに接続することができるようになりました。設定は不要で、ただ起動して動作を確認するだけです。
4Dリモートでのプリエンプティブ・プロセス
クライアント側で複雑な計算やエクスポートを実行する必要があるのでしょうか?プリエンプティブ・プロセスを使用すれば、ユーザーとその日常業務を減速させることなく、これらのアクションを開始することができます。