基于模块化表单的 Java Web 应用程序,每年带有可插入模块

Modular form-based Java web application with pluggable modules for each year

我脑子里有一个 Web 应用程序的概念设计,但我不知道是否可以用当前的框架实现它。

基本上,我想做的是拥有一个 "core" 可以部署为 war 的 Web 应用程序。然后我将能够开发单独的捆绑包 (jar/war/???) 来封装每年的表单和输入屏幕(它们每年都会发生很大变化),可以单独部署。部署新年后,核心应用程序通过配置文件或从数据库读取的配置参数,使新年的表单在核心 Web 应用程序中可用。所有之前部署的表格年份仍然可用。

这种设计的原因是通过将每年封装到一个单独的模块中来尽可能地消除回归测试。每年,当需要开发新表格时,您只需复制前一年的项目,重命名它,然后在构建和部署它之前对前一年的表格进行当年所需的任何更改。

这种设计还允许您在不影响任何其他年份的情况下单独修复前几年的错误。

我建议查看的规格/技术是 OSGI

一些知名度 Java 的产品,例如 Eclipse IDE 和 Nuxeo ECM 正在使用它,而且它们很容易定制(一切,甚至产品的核心都是 extensible/customizable组件)。