著者名: 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

OEMビルド・ライセンスの自動更新

Deeplからの自動翻訳

4Dは、開発ライセンスが有効期限に達すると、自動的に更新します。しかし、OEMビルドライセンス(4D Server OEMとOEM XMLキー)の更新には、まだ人の手が必要です。このため、自動ビルドチェーンで問題が発生し、一般的に時間のロスが生じていました。

4D 20 R9では、ライセンスの自動更新機能をOEMビルドライセンスにも拡張しました。このブログポストでは、この自動更新のさまざまなシナリオについて説明します。

製品 blank

TCP接続の受信を処理する TCPListener クラス

4D 20 R8 では、TCPConnectionクラスを導入し、リモートサーバーへの TCP接続を開始できるようになりました。4D v20 R9 では、TCPListenerクラスが導入され、4D で直接 TCP接続の着信を処理し、TCPサーバーを構築できるようになりました。

TCPConnection と TCPListenerクラスがあれば、クライアント側とサーバー側の両方で、TCP通信を完全にコントロールすることができます。

この 2つのクラスの使い方を説明します。

製品 blank

評価版アプリケーションをビルド

以前のバージョンの 4D では、デベロッパーは開発目的の評価版ライセンスを取得することができましたが、ビルドされたアプリケーションの評価版をエンドユーザーに提供することは、スタンドアロンであれ、クライアント/サーバーであれ、困難であり、不可能でさえありました。

4D 20.7 と 20 R8 から、アプリケーションの評価版を作成できるようになりました。ユーザーが新しいマシンで初めて評価版アプリケーションを実行すると、自動的に 4Dサービスにコンタクトし、14日間の評価版ライセンスを取得します。

このブログでは、デモ用の評価版アプリケーションを作成する手順を説明します。

製品 blank

TCP接続を実行する新しいクラス

4D 20 R8 のリリースに伴い、状況を一変させる機能が登場しました: TCPConnectionクラスです。オブジェクト指向のシンタックスを活用し、非同期ネットワーク接続処理をサポートしているこの最新のクラスは、廃止予定である 4D Internet Commands の代替機能を提供するものです。TCPConnection を使用すると、サーバー、プリンター、レジスター、産業用デバイスなど、事実上あらゆるものに接続できるため、さまざまなネットワーク要件に対応する汎用性の高いツールとなりえます。

このリリースでは、TCPクライアント機能が利用できるようになり、外部サーバーに接続してシームレスにデータを交換できるようになりました。

製品 blank

macOSでの公証:コンポーネント構造の変更

Deeplからの自動翻訳

macOSの公証プロセスは進化し続けています。残念ながら、4D v11で設計された4Dコンポーネントの内部構造は、クロスプラットフォームの互換性を実現するためのものでしたが、AppleがシリコンベースのMacのために導入した要件をもはや満たしておらず、コンポーネントの公証はますます困難になっています。

導入プロセスを簡素化するために4D 20 R8からコンポーネント構造を更新しました。この新しいフォルダ構造により、公証とデプロイは、アプリケーションをデプロイするのと同じくらい簡単になりました。しかし、重要な注意点があります。更新された構造は、古いバージョンの4D(例えば、4D 20 R7以前)とは互換性がありません。

Build4Dコンポーネントも新しい構造を反映するように更新されました。コンポーネントをビルドする際には、正しいバージョンのBuild4Dを使用していることを確認してください。

重要な注意事項4D 20 R7またはそれ以前のバージョンでビルドされたコンポーネントは、公証時にエラーが発生する可能性があります。4D 20 R8にアップデートすることをお勧めします。

製品 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サーバーへの接続のカスタマイズ・最適化を可能にします。