2012-08-08 66 views
1

我公司有一种产品是根据客户银行提供的规格定制的。现在,由于产品获得成功,另一家银行也采取了相同的做法,因此我们不得不做一些代码更改,以便为他们提供他们银行所需的定制。现在Senario正在接近我们的银行数量每天都在增加,我的团队期待着某种泛化,以便在交付时配置产品,并且代码更改最少。现在我的问题如下: -如何模块化和自定义Web应用程序?

  1. 如何模块化代码以便完美定制?
  2. 我们怎样才能实现前端的定制化,让不同的银行可以根据自己的需要进行配置?
  3. 需要采用哪种模板和后端技术,以填补上述需求的空白。
  4. 对于时间我们已经使用本地化,以根据客户更改标签,但有没有更好的方法?
  5. 是否Drools或OSGI有任何用途,如果应用程序要快速交付。
  6. 还需要验证不同的领域和其他UI组件,以满足特定银行的需求?他们有什么解决方案?

注意:我们正在使用Spring3晴的MVC模块来构建解决方案,并期待着某种工业产品可以是定制的,并可以轻松连过程没有陡峭的学习传递要快曲线。

+3

定制银行应用程序并快速执行? – 2012-08-08 06:59:54

+0

drools是一个规则引擎。如果你想运行商业规则,任何规则引擎肯定会有所帮助。如果所有的规则逻辑都嵌入代码中,那么就有必要在规则引擎中查看。 – techuser 2012-08-14 01:26:30

回答

0

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

处理这个问题的好方法是找出不同实现之间的常数以及需要改变的地方。回过头来进行必要的更改,以便通过添加新代码而不是修改现有代码(开放关闭原则)来更轻松地定制这些内容。选择性使用工作流引擎,业务规则引擎可以使某种定制更容易。

目标应该是争取拥有一个具有70-80%核心特性的通用代码库,然后再增加15-20%实现特定的定制。

通过使用某些拖放UI或甚至通过XML/db配置动态配置某些内容的方法通常要比使用钩子设计良好的核心模块更复杂几个数量级通过编写新的代码来允许定制。

你可以看看像OFBiz,OpenERP等东西,以了解如何做到这一点以及它们倾向于变得多复杂。

你也可以看看现代代码生成框架,如Spring Roo,Sculptor等,这可以帮助建立一个基本产品,通过编写额外的代码可以很容易地定制。