ノンブロッキング印刷
4D 20 R4 では、4D 内部の印刷ジョブの管理が大幅に改善されました。4D は、複数の印刷ジョブを並行して実行できるようになり、アプリケーションの反応性が格段に向上すると同時に、並行する印刷ジョブの管理が容易になりました。
詳しく説明しましょう!
クライアントサーバー通信用のSSL/TLS証明書を自動生成
クライアントサーバー間の通信のセキュリティを簡素化するために、4D 20 R4以降、4D Server は、4D が提供するデフォルトの証明書に依存する代わりに、独自のSSL/TLS証明書を生成します。
このアップデートは、テスト環境と本番環境の両方に大きなメリットをもたらします。独自の証明書を提供する必要なく、セキュリティ対策が強化されます。何が変わるのか説明しましょう。
SSL/TLS: ECDSA証明書のサポート
4D は SSL/TLS を使用して、クライアントサーバー間の通信と HTTPリクエストを保護します。4D は10年以上前から RSA暗号をサポートしており、4D 20 R3 では ECDSA暗号を追加しました。いい機会なので、セキュリティについて少しお話ししましょう。
ORDA: Blob/ピクチャー属性へのパスの割り当て
従来のやり方では、SET EXTERNAL DATA PATHコマンドを使うことによって、ピクチャーや BLOB をデータファイルの外に置くことができました。このコマンドは ORDA に適応していないため、v20 R3 では同様の機能を追加することにしました: Blob およびピクチャー属性に、ファイルへの参照を割り当てる機能です。詳しく説明しましょう。
PHPコマンドの廃止予定と4DビルトインのPHPインタプリタの削除
PHPは、Web開発において重要な役割を果たし、またzip、ハッシュ、LDAP機能など、ネイティブ言語ではまだ利用できない機能を提供するために4D v12で導入されました。4Dは、これらのPHP機能の多くをコア機能に取り込んできました。その結果、4D v20 R3ではビルトインのPHPインタプリタを削除し、v21ではPHPコマンドの廃止予定プロセスを開始することにしました。
4DからPHPコマンドを完全に削除するわけではありませんが、今後はPHPコードを実行するためにはシステムワーカーを使って実行することが強く推奨されます。
このブログでは、この移行プロセスについて説明しながら、PHP Execute コマンドを通して外部インタープリタを使用する方法や、システムワーカーでPHP コードを効率的に実行する方法を説明します。
QUICレイヤーを有効化するには
4D v20 ベータ版では、開発中の 新しいQUICネットワーク・レイヤー をお見せすることができました。このレイヤーはまだベータ版なため、LTS の最終リリースでは無効化されました。QUICレイヤーはフィーチャーリリースで提供されますので、その開発と改良に、ぜひご協力ください。
4D v20 では、ネットワークレイヤーの切り替えはインタプリターモードでのみ可能で、組み込みアプリケーションの場合は新規ビルドが必要でしたが、4D v20 R2 では、コンパイル/ビルドされたアプリケーションでもレイヤーの切り替えが可能で、本番環境であってもストラクチャー設定、ユーザー設定、およびデータファイル用のユーザー設定から切り替えてテストすることができます。
クラスプロパティの宣言
4Dランゲージは常に改良を続けています。v20 では、クラスの使い勝手を良くする新機能として、”宣言されたクラスプロパティ” をお届けします。クラスプロパティを宣言することで、オートコンプリートを大幅に改善し、コンパイル時に分かりやすいエラーを出すこともできます。その方法を詳しく説明しましょう!
ORDAコールのログをサーバー上に残す
ORDAのリリース以来、その人気はとどまることを知らず、今や本番環境のサーバーでも広く使われています。4D v20では、ORDAリクエストがサーバー側でどのようにログが記録されるかについて、2つの改良が施されています。1つ目は、リクエストログの改善で、ORDAの呼び出しに関するより多くの情報を記録するようになりました。もう1つは、クライアント側のORDAログと同様のサーバー側のORDAログが追加されたことです。それでは、これらの新機能をご紹介しましょう。
複数ジャーナルの自動統合
デベロッパーやデータベース管理者であれば、破損データを迅速に復旧することの重要性をご存知でしょう。バックアップとジャーナルは、このタスクを支援します。しかし、時にはバックアップそのものが破損し、古いバックアップを復元して複数のジャーナルを連続して統合する必要がある場合があります。あるいは、ジャーナルファイルのサイズがすぐ大きくなってしまうため、そしてサーバーのハードディスクを整理するためにも、定期的に新しいものを作成したいかもしれません。あるいは、独自の方法でデータベース をバックアップしているのかもしれません。これらの場合、複数のジャーナルを統合する必要がありますが、これはメンテナンス・セキュリティ・センターを使って手動でおこなうしかありません。
4D v20 では、データベースの起動時に、複数のジャーナルを自動的に統合することができます。その仕組みについて説明しましょう。
QUICレイヤー:次世代のネットワーク通信
4Dで稼働する最も大規模なプロダクションサーバーでは、1000を超える同時接続を受け入れており、その数はなお増え続けています。その結果、私たちのチームでは、パフォーマンスがますます重要な点になってきています。新しいバージョンのHTTP規格で使用されているQUICプロトコルは、スピードと信頼性を高めるために特別に設計されたプロトコルです。4D では常に最新のワクワクするような楽しい技術を求めているため、現在低レベルのネットワークプロトコルをQUICプロトコルに置き換える作業を行っています。
v20では、このネットワークレイヤーに切り替えて、パフォーマンスが向上するかどうかをテストすることができます。これはまだベータテスト中で、デフォルトのネットワークレイヤーとして使用するためには、皆様からのフィードバックが必要だからです。そのため、4Dのベータ版でのみ使用することができます。