著者名: Nicolas Brachfogel

Nicolas Brachfogel
- プロダクトオーナー & シニアデベロッパー - Nicolas Brachfogelは、2017年にシニアデベロッパーとして4Dに入社しました(4D Serverとネットワークを担当)。Apple Siliconのリリースを管理するプロダクトオーナーとして、ユーザーストーリーを書いて機能仕様に落とし込み、機能実装が顧客のニーズを満たしているかを確認する役割を担っています。Institut Supérieur d'Informatique Appliquée (INSIA) を卒業した Nicolas は、2001年にソフトウェア開発者としてのキャリアをスタートさせました。JavaとC++で数年間コーディングした後、ゲーム会社のクライアント・サーバー開発を専門に担当。サーバー開発者/アーキテクトとして、多くのゲーム(Dofus Arena、Drakerz、Trivial Pursuit Go!)のサーバーアーキテクチャに携わり、成功を収めてきました。
製品 blank

暗号化認証と認証局の検証

Deeplからの自動翻訳

最近のリリースでは、4Dのセキュリティ機能が、特に証明書の分野で大幅に拡張されました。これには、クライアント・サーバー間通信のための自動生成証明書ECDSA証明書のサポート、そして4D 20 R7では、エンジン・アプリケーションのクライアント・サーバー間通信のための認証局の検証が含まれます。最高レベルのセキュリティを要求する顧客もいるため、これらの機能の重要性が浮き彫りになっている。

しかし、セキュリティは複雑な場合があり、TLS/SSL接続の仕組みや証明書の役割について説明してほしいという要望がありました。したがって、新機能を掘り下げる前に、まず基本的なセキュリティの概念とその相互作用を分解しておくとよいだろう。

製品 blank

セッション・シングルトンの紹介

Deeplからの自動翻訳

シングルトンは、4D 20 R5の目玉機能のひとつです。以前は、開発者は2種類のシングルトンを利用することができました:

  • プロセス・シングルトンは、各プロセスに固有ですが、プロセス間で異なります、
  • と、アプリケーション全体でユニークな共有シングルトンです。

4D 20 R7では新しいタイプのシングルトン、セッション・シングルトンをリリースします

製品 blank

QUICネットワークレイヤーは製品での使用も可能に!

4D 20のベータ版では、新しいネットワークレイヤーを紹介しました:QUICネットワーク・レイヤーです。

その時点では、まだ開発中であったため、その後のリリースからは除外されていました。本日、QUICネットワーク・レイヤーがベータフェーズを終了し、晴れて正式に製品で使用することが可能になりました!

厳密な負荷テストと早期に使用したユーザーからの貴重なフィードバックを経て、QUICの安定性とパフォーマンスは認められ、主要な分野でServerNetをも凌ぐことが証明されました。4D 20 R5QUIC ServerNet と同等の機能を持つようになったことで、ServerNetからQUICへと切り替えをする最適なタイミングと言えます。

しかしその前に、この素晴らしいニュースについて、もう少しお話ししましょう。

製品 blank

シングルトンのRESTとQodlyサポート

4D 20 R5 では、シングルトンが導入されました。そして、4D 20 R6 では、REST 呼び出しを通して、共有シングルトンの公開関数を直接呼び出すことができるようになりました。同様に、Qodly Pagesのイベントで共有シングルトンの公開された関数を使用することができます。これらの新機能をさらに掘り下げてみましょう。

製品 blank

HTTPエージェントによる HTTPリクエストの管理

4D 19 R6 では、HTTPクライアントコマンドの構文を近代化し、機能を強化するために、HTTPクラスを導入しました。これをベースに、4D 20 R6 では強力な新機能を追加しました: HTTPエージェントの登場です。これらのエージェントは、HTTPリクエストの接続の持続性と再利用を管理することで、HTTPサーバーへの接続のカスタマイズ・最適化を可能にします。

製品 blank

旧式ネットワークレイヤーの廃止

4Dクライアントと4Dサーバー間の通信の管理するためには、4Dでは3つの異なるネットワークレイヤーが用意されています:

  • 旧式ネットワークレイヤー
  • ServerNet
  • そしてQUICです。

旧式ネットワークレイヤーは、30年前の4D v3で導入され、当初はAppleTalk用に開発され、ISDN用に拡張され、その後IPXが追加され、最終的にTCP/IPが追加されました。

これが開発された当初は、現在の4Dのクライアント/サーバー通信とはかけ離れた使い方がされていました。シングルスレッドで、暗号化されていない低速ネットワークに最適化されており、多くの異なるネットワークプロトコルに対応していました。そのため、最新のネットワーク通信にはまったく最適化されておらず、サポートする機能も非常に限られています。

そのため、4D 20 R5では、旧式ネットワークレイヤーを廃止予定とし、近々削除する予定です。まだ旧式ネットワークレイヤーを使用しているのであれば、今すぐServerNetに移行することをお勧めします。この移行によってどのようなメリットが得られるか、ご説明しましょう。

製品 blank

QUICがServerNetの機能に対応

QUICネットワークレイヤーは、ServerNetネットワークレイヤーと同等の機能をサポートするようになりました。4D 20 R5では、IPv6ブロードキャストWindowsでのシングルサインオンに対応しました。

もちろん、これからのバージョンでも改良を続け、4D史上最高のネットワークレイヤーにしていくつもりです。

しかしここでは、追加した最後の新機能についてもう少し説明させていいただきます。

製品 blank

共有クラス

一般的なオブジェクト記法に従い、use/end useを指定しなくても自動的に呼び出す、シンプルな共有オブジェクトの使い方をお探しですか?

お待たせいたしました、共有クラスのご紹介です!

製品 blank

4D のシングルトン

4D 20 R5 は、デベロッパーのための強力な機能を提供します: シングルトンの登場です!

シングルトンデザインパターンでは、アプリケーション全体でアクセス可能なクラスのインスタンスを 1つだけ作成します。

このパターンには、以下のような多くの利点があります:

  • インタープロセス値の提供
  • ユーティリティクラスの作成
  • ファクトリーデザインパターンのベースとして
  • ほかにも多数

この新しいコンセプトの詳細については、このまま読み進めてください!