
RAD Studio 12.3 では、RAD Server にいくつかの重要な改善がもたらされ、一般的な問題点が解決され、新しい機能が追加されました。新機能について見てみましょう。
Table of Contents
リクエスト間で一貫した日付/時刻形式
解決された問題の1つは、GETリクエストとLISTリクエスト間の日付/時刻形式の不一致です。 RAD Studio 12.3 では、EMS.DatasetResource ユニットのブール変数フラグである roFDDateTimeFormatが導入され、日付/時刻形式の標準化を制御できるようになりました。
有効にすると (デフォルト値)、GET、PUT、POST JSON 応答の日付/時刻値に FireDAC JSON シリアル化形式が使用されます。以前の動作を維持する場合は、この新しいフラグの値を false に設定するだけです。
設定ファイルのセキュリティ強化
セキュリティが強化され、MasterSecret と AppSecret のプレーンテキスト値を emsserver.ini ファイルに保存しないようにするオプションが追加されました。代わりに、これらの機密値は md5 を使用してハッシュ化されて保存できるようになりました。
EMSDevServer インターフェイスに [キーの難読化] ボタンが追加されました。このボタンにより、プレーン テキストの MasterSecret と AppSecret の値がハッシュ形式に自動的に変換され、資格情報が漏洩するリスクが軽減されます。
インスタンス全体のカスタム変数
非常に便利な追加機能は、インスタンス全体のカスタム変数のサポートです。これらは、emsserver.ini の [Variables] セクションに保存して、アプリケーション全体からアクセスできます。
開発環境、テスト環境、運用環境に同じ RAD Server アプリケーションを配置する実際のシナリオを考えてみましょう。各環境では、異なるデータベース接続文字列またはファイル パスが必要になる場合があります。
emsserver.ini で環境固有の変数を設定する方法は次のとおりです。
その後、カスタム リソース コードで、これらの値に簡単にアクセスできます。
他の文字列内に変数値を含める必要がある場合は、ExpandString メソッドで処理します:
この新しい機能により、環境間での構成管理が簡素化され、RAD Server アプリケーションの移植性と保守性が向上します。
不要なエンドポイントを非表示にする
新しい[EndpointHide] 属性を使用すると、公開したくないエンドポイントを選択的に非表示にすることができます。これは、TEMSDataSetResource および TEMSFileResource コンポーネントを操作するときに特に役立ちます。例:
これにより、リソースに対して許可される操作を制限することができ、セキュリティと API の明確さが向上します。
RAD Server と WebStencils における UTF-8 サポートの改善
RAD Studio 12.3 では、RAD Server による UTF-8 文字の処理方法が大幅に改善されています。この機能強化は WebStencils にも適用され、アプリケーションで国際文字セットが適切にサポートされるようになります。
WebStencils に関して言えば、このリリースでは注目に値する 2 つの追加改善も導入されています。
- 単純なドット表記構文を使用して、ネストされたクラスとオブジェクトにアクセスします。@MyObject.SubObject.PropertyName
- WebStencils ディレクティブに関係のない「@」記号をより柔軟に処理し、ヘッダーや同様のコンテキストでそれを重複させる必要がなくなりました。
たとえば、住所情報を持つ顧客オブジェクトがある場合、テンプレート内のネストされたプロパティに直接アクセスできるようになりました。
以前は、これらのオブジェクトをフラット化するか、より複雑な回避策を使用する必要がありました。この新しいドット表記により、テンプレートがよりわかりやすく、より直感的に記述できるようになります。
これらの WebStencils の機能強化は RAD Server の改善を補完し、完全なサーバー ソリューションを構築するためのより優れたツールを提供します。
バージョン 12.3 での RAD Server のこれらの機能強化はすべて、開発者が実際のアプリケーションで直面する実際的な問題に重点を置いています。日付処理、セキュリティ機能、エンドポイント管理の変更は、コミュニティからのフィードバックに直接対応しており、最新の REST API を構築するためのプラットフォームをさらに堅牢にします。