4

我正在构建一个软件项目,我想实现一个 SAAS(软件即服务)模型。我想设计一个与多租户兼容的 Web 应用程序,每个租户都有单独的数据库。

如何在 Java 环境中设计多租户 UI(UI 本质上应该是租户可配置的)?

如何为每个租户的单独数据库设计数据访问层(多租户数据库的单个应用程序实例)?

并且还建议我选择Java环境中的技术栈。

提前致谢。

4

1 回答 1

7

这篇文章详细介绍了多租户的数据库架构。

我如何在 Java 中设计多租户 UI ...

这取决于要求。如果租户视图完全不同,不同的页面、布局、流程等,那么您可以为每个租户拥有一个页面。通常页面是相似的,只是数据视图不同。在这种情况下,可以跨租户使用相同的 ui,并且视图由租户配置驱动。视图应该是元数据驱动的。可以通过存储每个租户配置的配置映射/数据库来配置视图。租户可以选择在配置期间可以显示的内容。

如何为每个租户设计单独的数据库的数据访问层......

这是由数据源控制的。您需要根据租户标识符从本质上区分数据连接和连接池。这可以使用自定义数据访问对象来实现,您可以在其中为不同租户实例化数据源。Hibernate 支持多租户http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch16.html

建议我选择技术堆栈

这是一个非常广泛的问题。我有一些建议,看看这个

于 2013-10-07T15:51:19.940 回答