jakarta-ee - SaaS - Java 中的 Multi-Tenancy 独立数据库模型实现

标签 jakarta-ee architecture soa multi-tenant saas

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

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

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

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

提前致谢。

最佳答案

This帖子详细介绍了 Multi-Tenancy 的数据库架构。

How can i design Multi tenant UI in Java ...



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

How can I design data access layer for separate database per tenant....



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

suggest me to choose technology stack in



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

关于jakarta-ee - SaaS - Java 中的 Multi-Tenancy 独立数据库模型实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19177117/

相关文章:

jakarta-ee - 在 WLS 10.3.3 中使用命令行重新启动企业应用程序

java - (已修订)Eclipse EE 中 JSP 项目(使用 Tomcat 7)的根文件夹路径

java - Java 的类型参数通配符到底是什么意思? Foo 和 Foo<?> 之间的真正区别是什么?

python - 工厂方法与 Python 中的注入(inject)框架 - 什么更整洁?

vb.net - N-Tier Architecture - 在 VB.NET 中具有多个项目的结构

rest - API网关和ESB有什么区别?

ruby-on-rails - 如何使用 Rspec 在 Rails 中测试非 Rack Web 服务?

jakarta-ee - tomcat下的servlet报错

java - 理解 Hibernate 内部结构的最佳方式

transactions - SOA 中的事务管理