4DリクエストハンドラでHTTPリクエストをマスターする
今日のウェブ主導の世界では、サーバーは圧倒的な数のリクエストを処理する。これらのリクエストを効率的に分析し、カウントし、解釈し、再ルーティングすることは、特にMVCの原則を適用する場合に不可欠です。
4D HTTPサーバーの HTTPリクエストハンドラの導入により、受け取ったリクエストに基づいて特定のビジネスロジックをトリガーすることができます。この強力な機能により、多くの可能性が開けます。
4Dサーバーから直接Qodly Studio for 4Dにアクセスしてコードのテストやデバッグを行うことが可能に!
Qodly Studio for 4Dを使用することで、あなたの4DアプリケーションをWebページで拡張することができます。開発は4D Developer Editionに統合されています。
開発段階においては、特定の機能やバグがサーバーや本番環境でしか再現されないことがよくあります。これは開発者にとっては大きな課題であり、効率的に問題を解決するためには、デバッグツールに直接アクセスする必要があります。
最新リリースの4D 20 R7では、Qodly Studio for 4D が4Dサーバーから直接アクセスできるようになりました。これによってこれまでとは全く違う感覚でデバッグやテストができるようになります。
以下はこの新機能を最大限に活用するためのクイックガイドです。
セッションストレージへのアクセスを強化
クライアント/サーバー、Web、モバイルなど、様々なセッションタイプのストレージには情報を保存できるため、異なるプロセス間での再利用が簡単におこなえます。
4D 20 R6 では、特定のセッションのストレージにアクセスできるようになりました。この機能強化により、複数のセッションにまたがる同一ユーザーの情報について、連続性と一貫性を簡単に維持することができます。つまり、クライアント/サーバーや Web などの異なるアプリケーションを使用していても、同じ顧客情報を引き出せるということです。
Qodly.com・ミーツ・4D Server …ってどういうこと?
昨年9月、4D は Qodly Studio for 4D を発表し、ダイナミックで効率的なビジネスWebアプリケーションをシームレスに作成できる包括的な機能を提供しました。まだの方は、ブログ記事 Qodly Studio を始めよう で詳細をご覧ください。
Qodly Studio は qodly.com からもアクセス可能で、こちらは 4Dの新しい SaaSサービスの一部となっています。
qodly.com アプリケーションは Qodly Studio for 4D とは異なり、4D から完全に独立したものとして動作します。しかし、qodly.com の環境でも 4Dアプリケーションのデータやビジネスロジックを活用したい場面があるかもしれません。ご安心ください、新しい QodlyScript openDatastore コマンドの導入により、qodly.com の Webアプリケーションは、4D Server上で運用されている 4Dアプリケーションにシームレスに接続できるようになり、qodly.com から 4Dプロジェクトをリモートデータストア として簡単に使用できるようになりました。この新機能により、qodly.com と 4Dアプリケーションの相乗効果が新たな高みに達します。
もし、既存の 4D Serverベースのアプリケーションで、デスクトップクライアントと Qodlyフォームを使った Webクライアントの両方を扱う方法が、あなたの現在のアプローチと同じであれば、この先は読み飛ばしてください。
しかし、もし既存の 4D Serverベースのアプリケーションを、Webベースのまったく新しいアプリケーションで拡張したいのなら、そしてこれに qodly.com でホストされたアプリケーションを使うのであれば、この記事を読み進めてください。qodly.com アプリケーションが 4D Server とコミュニケーションを取る方法を紹介します。
旧式ネットワークレイヤーの廃止
4Dクライアントと4Dサーバー間の通信の管理するためには、4Dでは3つの異なるネットワークレイヤーが用意されています:
- 旧式ネットワークレイヤー
- ServerNet
- そしてQUICです。
旧式ネットワークレイヤーは、30年前の4D v3で導入され、当初はAppleTalk用に開発され、ISDN用に拡張され、その後IPXが追加され、最終的にTCP/IPが追加されました。
これが開発された当初は、現在の4Dのクライアント/サーバー通信とはかけ離れた使い方がされていました。シングルスレッドで、暗号化されていない低速ネットワークに最適化されており、多くの異なるネットワークプロトコルに対応していました。そのため、最新のネットワーク通信にはまったく最適化されておらず、サポートする機能も非常に限られています。
そのため、4D 20 R5では、旧式ネットワークレイヤーを廃止予定とし、近々削除する予定です。まだ旧式ネットワークレイヤーを使用しているのであれば、今すぐServerNetに移行することをお勧めします。この移行によってどのようなメリットが得られるか、ご説明しましょう。
SSL/TLS: ECDSA証明書のサポート
4D は SSL/TLS を使用して、クライアントサーバー間の通信と HTTPリクエストを保護します。4D は10年以上前から RSA暗号をサポートしており、4D 20 R3 では ECDSA暗号を追加しました。いい機会なので、セキュリティについて少しお話ししましょう。
プロジェクトモードでの4D Serverでの同時開発
4D v18でリリースされたProjectsは、バージョン管理システムとの互換性を持たせるなど、4Dの機能を劇的に拡大させました。
優れたフィードバックにより、4Dコミュニティの間でこの機能が大幅に採用されたことを、私たちはこれ以上ないほど誇りに感じています。このため、私たちはより良いものにするために、この機能を改善することにしました。
また、「1つの開発サーバーでチームとして同時に作業できるようにしてほしい」というご要望もありました。4D v19 R6では、プロジェクトモードで開発サーバーで作業することができるようになりました。
マージされたサーバーでエクスプローラを無効にする
導入したマージサーバーのデータエクスプローラーとランタイムエクスプローラーに管理者がアクセスするのを制限したい場合があります。4D v19 R5では、そのようなことが可能です。
ここでは、必要なすべてをご紹介します。
Windows上でのクロスプラットフォーム・クライアント/サーバーアプリケーション構築の簡素化
Silicon Macのリリースは、4Dのアプリケーションのコンパイル方法に大きな影響を与えた。v19以前の4Dは、MacとWindowsで同じコードを使って、Intelアーキテクチャ向けにのみコンパイルしていました。しかし、Silicon Macは新しいアーキテクチャを使用しているため、4DはSilicon専用にコンパイルする必要がある。これは、クロスプラットフォームのクライアント/サーバーアプリケーションの構築に影響を与える。
Macでサーバーを構築する限り、IntelとSiliconの両方のプラットフォームでコンパイルできるので、さほど問題にはならない。しかし、Windowsでは、Silicon Mac用にコンパイルすることはできない。現在のところ、Macで両アーキテクチャ用にプロジェクトをコンパイルし、それをWindowsマシンにコピーしてからサーバを構築することを推奨しています。残念ながら、データ量の多い大きなプロジェクトでは、コピーに時間がかかることがあります。