Microsoft社はこの程、アプリ開発プロセスの合理化を目的としたさまざまな機能強化を特徴とする、Dev Proxy v0.15.0をリリースした。多くの改善点の中でもっとも注目すべきは、Entraで保護されたAPIをモックできるようになったことだ。その他にも、OAuthフローのシミュレーション、モニタリングURLの改善、CORSのサポートの改善、カスタムコマンドなどが追加されている。
馴染みのない読者諸氏に説明すると、Dev Proxyは、以前はMicrosoft 365 Developer Proxyという名前だったが、アプリのテスト中に本物のAPIの動作を模倣するために利用されるコマンドラインツールとして機能している。Dev Proxyを使うことで、開発者はエラーや制限の管理に長けた弾力性のあるアプリケーションを作成可能になる。
今回のアップデートで追加された重要な機能の1つは、Microsoft Entraで保護されたCRUD APIをシミュレートする機能だ。CrudApiPlugin Dev Proxyを通じて、開発者はCRUD APIをエミュレートできるようになった。
既報の通り、このバージョンでは、Microsoft Entraで保護されたAPIをシミュレートするサポートが拡張された。開発者は、CRUD APIを定義し、アクセストークンの利用者、発行者、権限、トークンの有効期間などの側面を検証できる。
(Microsoft Entraで保護されたCRUD APIをシミュレートするDev Proxy:Microsoft 365 Platformブログより)
さらに、EntraMockResponsePluginの導入により、Microsoftのクラウドベースのアプリケーションで一般的なセキュリティ対策である、OAuthフローのシミュレーションが可能になった。このプラグインによって、認証プロセスのエミュレーションが容易となり、Microsoft Identityライブラリとの互換性が保証される。
発表されたブログ記事に加えて、DevProxyの作者であるWaldek Mastykarz氏は、PnP Weeklyのポッドキャストにゲスト出演し、ツールに関するいくつかの興味深い事実を述べた。InfoQは、その内容を以下のように要約する。
開発環境では、出荷されないコンポーネントを作成することがよくあります。我々のアプローチはシミュレーションを可能にし、トークン検証のような側面をコントロール可能にしています。不要なコンポーネントに時間を費やすことなく現実を模倣し、ワークフローを最適化することを目指しています。
さらに、監視機能の強化も行われ、urlsToWatchオプションが追加された。この機能により、開発者はコマンドラインから直接監視対象URLを指定できるようになり、プリセットの管理とAPIのアクティビティ監視の効率が向上した。また、このバージョンでは、特定のポート上のURLのみを監視する機能がサポートされている。
(コマンドラインから監視するURLを指定 出典:Microsoft 365 Platformブログ)
今回のアップデートでは、カスタマイズのニーズにも対応し、開発者は同じプラグインのインスタンスを複数追加できるようになった。この柔軟性により、様々なユースケースに対応した複数のCRUD APIやモックの作成が可能になり、開発環境の適応性が向上した。
さらに、このバージョンではスロットリング・シミュレーション機能が強化され、GenericRandomErrorPlugin やGraphRandomErrorPluginのような拡張プラグインで、スロットリングされたレスポンスのリトライ・アフター値を設定できるようになった。これにより、開発者は多様なシナリオをシミュレートし、アプリケーション・パフォーマンスへの影響を観察可能になると述べている。
また、CORS(Cross-Origin Resource Sharing)に関して、このリリースにはRateLimitingPluginと RetryAfterPluginが含まれており、クロスオリジン・リクエストのスロットリングの情報を公開している。
さらに、システム全体のプロキシとして登録しないオプションやSSL証明書をインストールしないオプションなど、開発者はDev Proxyの開始方法をよりコントロールできるようになった。これらのオプションは、特にDockerコンテナ環境において、ユーザーに柔軟性を提供している。
さらに、Dev Proxyはカスタムコマンドをサポートするように拡張され、リクエスト監視とは独立した新機能をプラグインで導入可能になった。
変更点については、同じプラグインの複数のインスタンスを追加しやすくするためのプラグインのオプションの表示方法の調整、スロットルされたリクエストのトラッキングの修正、ロギングレベルの名前の変更を含むロギング手順の修正などが挙げられる。報告されているように、これらは主にカスタムプラグインを使用しているユーザーに影響を与えている。
最後に、このリリースにはさまざまなバグ修正とパフォーマンスの改善も含まれている。変更点の詳細については、この新しいリリースに関するGitHubのリリースノートを参照されたい。