Electronic Joint Business

Solution for E-Business

多租户技术与 Hibernate 4.0 (一)

在多租户技术中,租户(tenant)是指使用系统或电脑运算资源的客户,其所使用的是供应商所开发或配置的应用系统或运算资源等。供应商所设计的应用系统会容纳数个以上的用户在同一个环境下使用,为此应用程序与运算环境必须要特别设计,除了可以让系统平台可以允许同时让多份相同的应用程序同时执行外,保护租户数据的隐私与安全也是多租户技术的关键之一。 多租户是决定 SaaS 效率的关键因素。多租户技术在实际业务上运用的成功且广为人知的案例之一,是由 Salesforce.com 所创建的 CRM 应用系统。在这样一个典型的企业 SaaS 环境中,用户是指某个特定组织的员工组成的多个组,这个组织就是所谓的租户。 在未出现 SaaS 之前,组织会购买一个软件应用程序供自己的成员使用;组织的员工就是应用程序的用户,而该组织就是所有者。在 SaaS 和云的世界中,许多组织都将使用同一个应用程序,组织是租户,而非所有者,但是组织的员工仍然是用户的身份。每名用户都具体关联到一个特定租户(组织),而 SaaS 为每个租户分别提供一份应用程序的副本,以供他们的用户使用,同时只允许每个组织自己的成员访问其组织的数据。 可见,多租户技术有下列特色: 由于多个租户共用一个应用程式或运算环境,其相关的硬件成本,操作系统与相关软件的授权成本都可由多个租户一起分担,对供应商来说可以有效降低成本。 通过不同的数据源管理手段,多租户技术的数据可以用不同的方式进行数据隔离,而良好的数据隔离方法可以降低供应商的维护成本(包含设备与人力),而供应商可以在合理的授权范围内取用这些数据分析,以作为改善服务的依据。 多租户架构下所有使用者都共用相同的软件环境,因此在软件版本变动时可以只发布一次,就能在所有租户的环境上生效。 具多租户架构的应用软件虽可定制化,但定制化难度较高,通常需要平台层与工具的支持,才可降低定制化的复杂度。 传统 Web 应用和 SaaS 应用的区别 传统 web 应用程序和支持云的 SaaS 应用程序的主要区别,在于两个容量利用特性: 多租户(之前引入) 硬件虚拟化。 虽然应用程序的利用率主要取决于多租户架构,但硬件虚拟化也同样重要。和在普通的数据中心使用物理机器相比,通过虚拟化技术,可以减少未使用的容量,极大地提高了硬件的利用率。多租户可以分为几个不同的类别(如列表下方的图所示): 1. 云中的简单虚拟化,其中只对硬件进行共享。 2. 共享应用程序,对每个租户使用不同的数据库。 3. 共享应用程序和数据库(效率最高,真正的多租户)。 在这三种类别中,效率最高的模型就是应用程序充分地共享数据库和应用程序的业务逻辑。实现这种模型非常的困难,因为需要修改数据库模式,向每个表和视图添加一个租户标识符,以及重写每一个 SQL 访问,向过滤器添加租户过滤条件。如果代码中任何必要的部分缺少这一逻辑,那么都将损害应用程序的数据安全性。 将 web 应用程序转换为 SaaS 应用程序 参考: http://www.devx.com/Java/Article/47817/0/page/1 http://www.devx.com/Java/Article/47817 http://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantcloud/ http://www.ibm.com/developerworks/cn/cloud/library/cl-tenantconversion/ http://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/ […]

, , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.