[转载]SaaS平台概要设计 – hushouqi – 博客园.
引言:
SaaS以服务的形式为中小企业提供软件。企业只需注册帐号,即可在服务 商平台上使用。不需独立购买服务器及价格不菲的软件。其优势在于成本低,实施速度快,免费升级。
设计目标:
实现相同的应用服务,不同的数据存储方式。对企业数据与应用进行解耦。
公 共平台需求:
1 为企业提供相同的软件应用
2 为企业提供独立的数据存储区域
3 企业自定义用户
4 企业定义自身的角色,分配权限
框架层次划分:
公共信息管理层:
作为底层,对各企业及企 业相关信息进行管理。
软件服务应用:
依赖于公共信息管理,独立的应用系统,如CRM,ERP…
对象类型分析:
群组(group):单独企业视为group。企业下有各自的组织,例如市场部,销售部,也可视为group。 企业与部门有一定的区别。即企业相当于部门的一种特殊类型,部门上面有上级,而企业没有,可将企业定义为group一个继承类。SaaS平 台不一定只为企业提供服务,可能还包括其他组织,例如一些团队,需要在企业上抽象一个Organization类型。
用户(User): 企业包含自身的用户,即企业与用户是聚合关系。部门与用户是关联关系,用户允许分配到不同的部门 中。
角色(Role):企业包含自身的角色。每个企业之间的角色定义允许不同。角色需要上下级关系,通过上下级关系控制权限。
权限(right):为用户分配角色,通过对角色分配权限,控制模块权限。
数据源(DataSource):Organization包含自身的数据源,数据源指定数据存储到哪里,即持久化介质。这里只提供数据库方式,其属性包括连接 字符串与数据库类型。
应用系统(Application) :Organization 拥有自己的软件应用系统。Application包括应用入口,即一个URL地址,可定义到不同的服务器。
总结:
解决了企业使用相同应用,不同数据存储的问题。将数据分开存储有很好的优势,可以分散数据压力。可针对不同用户提供不同的存储方式。当然有优势也有劣势, 维护升级是件很麻烦的事情。针对于维护升级,也需要相应的策略。