SaaS的 - 在Java中多租户单独的数据库模型的实现 [英] SaaS - Multi tenant Separate database model Implementation in Java

查看:2242
本文介绍了SaaS的 - 在Java中多租户单独的数据库模型的实现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是架构一个软件项目,我想实现SaaS(软件即服务)模式。我想设计多租户与每个租户单独的数据库兼容的Web应用程序。

I am architecting a software project and I want to achieve a SAAS (Software As a service) model. I want to design a web application compatible to multi tenancy with separate database per tenant.

如何设计多租户UI在Java环境(UI应该是租户配置性的)?

How can i design Multi tenant UI in Java environment(UI should be tenant configurable in nature)?

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

How can I design data access layer for separate database per tenant(Single application instance for multiple tenant database)?

和还建议我选择Java环境技术栈。

And also suggest me to choose technology stack in Java environment.

先谢谢了。

推荐答案

<一个href=\"http://stackoverflow.com/questions/15683213/databse-architecture-single-db-vs-client-specific-db-for-building-enterprise-w/15697362#15697362\">This后有对多租户数据库架构的详细信息。

This post has details on the database architecture for multitenancy.

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

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

这取决于需求。如果租户的意见是完全不同的,不同的页面,布局,流程等,那么你可以有每个租户的页面。一般的网页是除了数据视图不同相似。在这种情况下,相同的用户界面可以在住户被使用,并且鉴于租户配置驱动。该视图应元数据驱动。视图可以是由具有配置映射/数据库,其中每个租户配置存储配置。承租人可以选择什么可以在配置中显示。

This depends on the requirement. If the tenants views are completely different, different pages, layout, flow etc, then you can have a page per tenant. Usually the pages are similar except that the data view is different. In that case, same ui can be used across tenants and the view driven by tenant configuration. The view should be metadata driven. The view can be configurable by having a configuration mapping/db where each tenants configuration is stored. The tenant can choose what can be displayed during configuration.

我怎么能每单独的数据库设计数据访问层
  房客....

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

这是由数据源进行控制。你需要区分主要基于租户标识符的数据连接和连接池。这可以用你实例为不同的租户数据源的自定义数据访问对象来实现。 Hibernate提供多租户支持,<一个href=\"http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch16.html\">http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch16.html

This is controlled by the data source. You need to essentially differentiate the data connections and connection pools based on the tenant identifier. This can be achieved using a custom data access object where you instantiate the data source for different tenants. Hibernate provides support for multitenancy http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch16.html

建议我选择技术堆栈

这是很广泛的问题。我有一些建议,看看<一个href=\"http://stackoverflow.com/questions/15859245/architecture-for-saas-based-online-portal/16827027#16827027\">this

This is very broad question. I have some suggestions, take a look at this

这篇关于SaaS的 - 在Java中多租户单独的数据库模型的实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆