拡張可能なWebアプリケーションをどのように実装しますか?私が考えているのは、プラグインサポートを提供するJenkinsやHudsonに似たWebアプリケーションです。プラグインを見つけてロードする方法は明らかですが、プラグインをアーキテクチャ全体に統合する方法はわかりません。特に以下の点については不確かです。
プラグインはどのようにビューを変更することができますか、例えばフォームに入力要素を追加しますか?
私の最初のアイデアは、プラグインが特定のフォームのパーシャル/フラグメントを登録できるということです。
例:ユーザー登録ビューに表示される典型的なニュースレターチェックボックスフラグメントを登録するニュースレタープラグイン。
プラグインは着信要求にどのように反応しますか?
この場合も、直接的なアプローチは、特定の要求またはアクション(/ userへのPOST要求など)のリスナーを提供することです。
プラグインはどのようにしてデータを保持できますか?
これは、NoSQLデータストレージソリューションがリレーショナルデータベースよりも優れている状況であると想定しています。
拡張可能なWebアプリケーションに関して、コメント、アイデア、経験(デザインパターンもあるかもしれません)があれば幸いです。