如何模块化和自定义Web应用程序?

时间:2012-08-08 06:19:21

标签: java spring java-ee architecture frontend

我公司的产品是根据其中一家客户银行提供的规格定制的。现在,由于该产品取得了成功,另一家银行接近了同样的情况,我们不得不进行一些代码更改,以便为他们提供银行所需的自定义。现在,参议员是接近我们的银行数量每天都在增加,我的团队期待某种推广,以便在交付时配置产品,只需最少的代码更改。现在我的问题如下: -

  1. 如何模块化代码以便完美定制?
  2. 我们如何实现前端的定制,以便不同的银行可以根据自己的需求进行配置?
  3. 需要哪些模板和后端技术以填补上述要求的空白。
  4. 为了计时,我们使用了本地化,以便根据客户更改标签,但还有更好的方法吗?
  5. 如果要快速递送申请,Drools或OSGI是否有用。
  6. 还需要验证不同领域和其他ui组件,以满足特定银行的需求?有哪些可用的解决方案?
  7. 注意:我们使用Spring3主要是MVC模块来构建解决方案,并期待某种工业产品可以定制,并且可以轻松交付,甚至过程应该快速,没有陡峭的学习曲线。 / p>

1 个答案:

答案 0 :(得分:0)

没有简单的(一刀切)解决方案。自定义范围从化妆UI样式,到数据模型级别的新字段/关系的添加,业务逻辑的更改等,工作流的更改。

处理这个问题的好方法是弄清楚不同实现中的常量以及需要更改的内容。返回并进行必要的更改,以便通过添加新代码而不是修改现有代码(开放式原则)来更轻松地自定义这些内容。选择性地使用工作流引擎,业务规则引擎可以使某种定制变得更容易。

目标应该是努力建立一个具有70-80%核心功能的公共代码库,然后进行额外的15-20%实现特定定制。

通过使用一些拖放UI甚至XML / db配置来构建可以动态配置的东西的方法通常比你有一个设计良好的核心模块钩子的方法复杂几个数量级。允许通过编写新代码进行自定义。

您可以查看OFBizOpenERP等内容,了解如何操作以及它们往往会变得多么复杂。

您还可以查看现代代码生成框架,例如Spring RooSculptor等,这些框架可以帮助您构建可通过编写其他代码轻松自定义的基础产品。