基于SaaS模型的中小企业管理系统研究
CIO时代 发表于:12年02月02日 10:27 [转载] 比特网
1.3 可配置的多用户架构
这种架构是目前的主流架构,在这一可配置的多用户架构中,一个运行的应用实例将为系统内的所有客户服务,同时系统配置元数据,通过这一方式为每一个客户提供不同用户功能。而且系统采用可配置的安全策略和权限控制方式,这能保证每一个客户的数据可被单独存放,并将它数据隔离于其它的客户。因此从最终用户来看,他们看到所使用的应用实例是透明的,这些实例在同一时间也会为其他客户所共享。随着SaaS服务提供的业务和客户增多,通常的解决办法是通过提供更多的服务器资源来运行更多应用实例,而且常常这是唯一的方式,这种可配置的多用户架构同样有效地解决了这样一个问题。采用了这种架构后,比起前两种架构的SaaS系统,SaaS服务供应商可以用同样数量的服务器资源为更多的客户服务,从而更有效地利用硬件资源,降低运营成本。因此不少企业管理开发商在开发基于SaaS管理软件系统时,纷纷采用这种架构。
2 数据模型
除了整体架构,数据模型也是一个SaaS系统中最为核心的部分。对于构建一个SaaS平台的数据模型来说,最关键的问题在于决定如何在数据的共享和隔离之间求得一定的平衡,而目前主流的SaaS平台一般采用以下两种方式构造其数据模型。
2.1 独立数据库
独立数据库方式是实现数据隔离的一种最为简便的解决方案,在这一方案中,每个客户的数据单独存放在一个独立数据库中。所有的客户共享使用大部分的系统资源,大部分的代码。但在物理层面上,每个客户都拥有自己一整套单独存放的数据。系统用元数据来记录基本信息,如数据库和特定客户的对应关系等。系统内也设置一系列的数据安全访问策略和用户控制权限,通过这一方法,即使整个SaaS系统突然发生异常状况,也能保证某个客户的数据不会意外被其它客户所访问,从而提高数据的安全性。
在实际商业应用中,如果客户为了做到数据隔离,确保数据安全,而愿意支付额外的费用,这种独立数据库的数据模型是最为适合的解决方案。如银行业或医疗行业的客户们,为了安全考虑,经常需要隔离数据,在某些极端情况下,这些客户可能都不会去使用任何不支持客户独立数据库的SaaS系统。所以一般这种数据模型的应用范围比较有限,只会被通用客户或者对数据安全不具备敏感性的行业客户所采用。