旧式ネットワークレイヤーの廃止
4Dクライアントと4Dサーバー間の通信の管理するためには、4Dでは3つの異なるネットワークレイヤーが用意されています:
- 旧式ネットワークレイヤー
- ServerNet
- そしてQUICです。
旧式ネットワークレイヤーは、30年前の4D v3で導入され、当初はAppleTalk用に開発され、ISDN用に拡張され、その後IPXが追加され、最終的にTCP/IPが追加されました。
これが開発された当初は、現在の4Dのクライアント/サーバー通信とはかけ離れた使い方がされていました。シングルスレッドで、暗号化されていない低速ネットワークに最適化されており、多くの異なるネットワークプロトコルに対応していました。そのため、最新のネットワーク通信にはまったく最適化されておらず、サポートする機能も非常に限られています。
そのため、4D 20 R5では、旧式ネットワークレイヤーを廃止予定とし、近々削除する予定です。まだ旧式ネットワークレイヤーを使用しているのであれば、今すぐServerNetに移行することをお勧めします。この移行によってどのようなメリットが得られるか、ご説明しましょう。
QUICがServerNetの機能に対応
QUICネットワークレイヤーは、ServerNetネットワークレイヤーと同等の機能をサポートするようになりました。4D 20 R5では、IPv6、ブロードキャスト、Windowsでのシングルサインオンに対応しました。
もちろん、これからのバージョンでも改良を続け、4D史上最高のネットワークレイヤーにしていくつもりです。
しかしここでは、追加した最後の新機能についてもう少し説明させていいただきます。
共有クラス
一般的なオブジェクト記法に従い、use/end useを指定しなくても自動的に呼び出す、シンプルな共有オブジェクトの使い方をお探しですか?
お待たせいたしました、共有クラスのご紹介です!
4D のシングルトン
4D 20 R5 は、デベロッパーのための強力な機能を提供します: シングルトンの登場です!
シングルトンデザインパターンでは、アプリケーション全体でアクセス可能なクラスのインスタンスを 1つだけ作成します。
このパターンには、以下のような多くの利点があります:
- インタープロセス値の提供
- ユーティリティクラスの作成
- ファクトリーデザインパターンのベースとして
- ほかにも多数
この新しいコンセプトの詳細については、このまま読み進めてください!
QUICネットワークレイヤー: 自動アップデートとスリープモード
QUICネットワークレイヤーの開発は続いており、4D 20 R4 ではスリープモードと自動アップデートができるようになりました。これらの機能拡張を詳しく見て、他のネットワークレイヤーの動作と比較してみましょう。
ノンブロッキング印刷
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 コードを効率的に実行する方法を説明します。
