如何在Spring Web应用程序中最好地实现用户特定的逻辑?

时间:2011-12-12 15:54:09

标签: spring workflow

我遇到了以下问题:我正在构建的Spring Web应用程序非常特定于用户。每个用户可能都有一些根据他们的需求量身定制的逻辑。 我想知道如何最好地实现这样一个“框架”,以便轻松注入新用户及其特定的逻辑。

我正在考虑以下解决方案之一:

  • 为所有用户提供通用接口,并通过反射调用实际的用户特定实现。然后,在添加新用户时,我只需要编写逻辑,编译它并将* .class文件放到服务器上
  • 使用某种XML可配置的规则/工作流引擎。我可以预先构建单独的逻辑块,然后当新用户出现时我只需指定一个描述逻辑流程的XML(Spring配置)

第一个解决方案似乎最初更容易,但在添加新用户时需要更多工作。第二个需要更多时间来开发规则/工作流机制,但是添加新用户应该更简单。

你怎么看?还有其他想法吗?你知道任何可以帮助我完成这项任务的框架/模式吗?

谢谢, 彼得

1 个答案:

答案 0 :(得分:0)

我更喜欢第一种解决方案(接口和编程),但它有一些缺点:

  • 它不是很安全(用户特定代码可以做任何事情)
  • 您需要将一些已编译的文件添加到类路径

我会尝试使用一些脚本语言(例如Java Script)。因此,特权用户可以通过前端上传脚本。脚本可以存储在数据库中,因此您可以更新应用程序而无需担心删除文件。

第二个好处是,可以限制脚本可以调用的函数。