作为一个SaaS程序是要针对某一领域的,通过云平台提供给这一领域的很多企业应用。
SaaS类程序设计需要注意哪些问题呢,一般提到的是数据模型的特殊性。
一般分为三个模式
每一用户一单独数据库模式
多用户共享数据库单独Schema模式
多用户共享数据库共享Schema模式
至于采用哪种模式要考虑很多因素。例如成本,安全,客户习惯,法律法规,技能等
数据模式固然是所有SaaS类程序要考虑的问题。但绝对不是第一要考虑的问题。
着手一个SaaS类程序的设计首先要考虑的是业务方面的特殊性。SaaS类程序与为每个企业
订制开发程序的开发思路是完全不一样的。通常它要考虑的有两个方面,业务共性和业务差
异性。还要考虑平台的管理,扩展开发等各个方面。
通常来说SaaS类程序应该分为至少四个应用层次。
涉众 | 层次 | 功能 | 说明 |
SaaS服务提供商 | 底层 | 管理程序 | 创建,维护,管理多个实例 |
SaaS服务提供商 | 中层 | 特性定制 | 组合各种程序特性来满足客户需求 |
SaaS服务提供商 | 中层 | 二次开发 | 通过插入二次开发的组件来满足客户需求 |
最终用户 | 高层 | 业务应用 | 使用系统。 |
熟悉SharePoint开发的人会觉得很熟悉这种分层。
如何设计这种模式的程序,会在稍后详细说到的产生式编程中说。