1.1四级成熟度
根据SaaS应用软件是否具有可配置性、高性能和可伸缩性等特性,SaaS成熟度模型被分成四个等级,通常被称为“成熟度”。每一个等级都比前一个等级增加以上三种特性中的一种。
(1)Level1(第一级):定制开发
第一级成熟度软件为多次开发,软件提供商为每个用户开发一套独立的软件,并为其部署。SaaS应用软件Level1除了在商业模式上与传统软件不同外,在软件应用架构方面几乎没有差别。
(2)Level2(第二级):可配置
二级成熟度模型与第一级成熟模型相比较具有可配置性,可以灵活的配置来响应客户的不同需求,从而降低了开发成本。在Level2模型中软件部署架构依然是没有太大变化:为每一个客户独立部署一个运行实例,但是不同的实例实际上运行的是同一份代码。
(3)Level3(第三级):高性能的多租户架构
第三级成熟度模型是基于产品配置而建立的模型,通过模型的不同配置来实现租户个性化需求,多个租户可以同时对一个运行实例进行配置设计。Level3作为一种多租户单实例的应用架构,可以有效降低软件运行所产生的维护成本,有效发挥SaaS的规模效应。
(4)Level4(第四级):可伸缩性的多租户架构
Level3模型的架构的数据库系统是集中式的,随着租户的数量不断增加,数据库的数据也会不断的增长,当数据规模达到系统所承受的最大限度时,这种架构的运营成本势必会增加,不利企业的发展。第四级成熟度模型成功的解决了上述问题,它增加了一个中间层,用于将各个租户分配到各个运行实例上,这样做可以解决由于大量用户访问产生大量数据,导致系统维护的困难。这是一种多用户多实例的应用架构。在这一级,租户的数量可以无限制增加。
从应用架构的角度来说,同时具备可配置性、高性能和可伸缩性的第四级成熟度的SaaS模型是最理想的应用架构。但不是成熟度越高的SaaS应用模型就越好或者越能够取得成功,具体到每个应用应该选择哪一个级别的SaaS成熟模型,需要综合考虑如下因素:①产品所面向的客户群的特征与需求;②产品的租户数量级别;③软件应用的实现成本。综合考虑这三个因素,本文将选择第三级成熟度的SaaS应用模型进行对构架SaaS模式下的系列产品快速设计系统。
1.2SaaS模式下的数据库的构架设计
SaaS服务模式下的应用软件相较于传统的软件应用最大的创新之处在于它的多租户性。多个租户同时使用一个软件运行实例,租户间的业务数据既有隔离又有共享,寻求数据隔离与共享之问的平衡点是一个很重要的问题。针对SaaS软件应用的多租户的特点,在数据库构架方面有三种备选方案分别是:独立数据库、共享数据库,隔离数据架构、共享数据库,共享数据架构。
(1)独立数据库:指一个租户对应一个专用的数据库,每当一个租户创建的时候,系统就为其分配一个专用的数据库。
(2)共享数据库,隔离数据架构:是在一个服务器上,用一个数据库来存储不同租户的信息。每个租户都有一套自己的表,这些表被包含在同一个Schema描述的表组中。每当一个租户被创建的时候,系统自动为该租户创建一套表,并把这套表与租户特定的Schema关联起来。上层的应用可以访问这个Schema里面的表或者创建新的表。这种方式比较适用每个租户的数据库不多时。
(3)共享数据库,共享数据架构:在一个服务器上,用同一个数据库来储存多个租户的信息,并将这些信息都存储在同一个套表中。在这种方式下,一个数据表中可能包含了多个租户的数据记录,通过ID号码区别不同租户间的数据。这种方案适合于希望以最少的服务器为最多的租户提供服务,并且接受以牺牲隔离级别换取成本。
现有的三种数据库构架方案,都有各自的优点与缺点,独立数据库的隔离级别、安全性都最高,共享级别最低,相应的成本也是最高的;共享数据库、共享数据架构虽然拥有成本最低的优势,但是软件的安全性和数据的隔离级别都不高。SaaS服务模式中数据库构架方案主要取决于产品的定位和租户对数据安全的接受程度。
2系统开发与实例2.1系统环境
开发语言:Java、JavaScript、Html、VisualBasic6.0。
数据库:SQLServer2000。
应用服务器:Apache2.28+PHP5.2.6+MySQL5.0.51b。
其他软件:Solidworks2010、Office、PDMWorksWorkgroup等。
2.2系统框架
选用第三级成熟度,以共享数据库,共享数据架构,建立基于SaaS模式的产品快速设计系统,其框架结构如图1。
信息发布:广州名易软件有限公司 http://www.myidp.net