20070129--SaaS软件即服务系列课程(4)
SaaS 平台分析和设计
梁振
Microsoft MVP
zhen.liang@gmail.com
本次课程内容包括
• 引入SaaS概念
• 介绍SaaS概念的实现方式
• 设计一个SaaS模型的项目
• 总结
引入SaaS概念
• SaaS是Software-as-a-service(软件即服
务)。
• SaaS本质是将过去的购买软件改用为向提
供商租用软件。
购买软件V.S购买服务
• 购买服务的优势
– 收费方式风险小,灵活选择模块,备份,维护,安全,升级
– 让客户更专注核心业务
...
SaaS 平台分析和
梁振
Microsoft MVP
zhen.liang@gmail.com
本次课程内容包括
• 引入SaaS概念
• 介绍SaaS概念的实现方式
• 设计一个SaaS模型的项目
• 总结
引入SaaS概念
• SaaS是Software-as-a-service(软件即服
务)。
• SaaS本质是将过去的购买软件改用为向提
供商租用软件。
购买软件V.S购买服务
• 购买服务的优势
– 收费方式风险小,灵活选择模块,备份,维护,安全,升级
– 让客户更专注核心业务
灵活启用和暂停,随时随地都可使用
– 按需定购,选择更加自由
– 产品更新速度加快
– 有效降低营销成本
– 不需要额外增加专业的IT人员
SaaS
SaaS概念的实现方式
• 四种SaaS模型得不同设计方法
– 特定应用
– 用户配置
– 用户配置、数据共享
– 用户配置、数据共享、可扩展
特定应用设计
• 不同的客户拥有各自主机应用的定制版本,在主机服务器
上运行自己的应用实例。
• SaaS应用设计重点:在供应商整合服务器硬件和软件管
理,从而降低成本。
• 例如:
– 传统的应用服务供应商 (ASP) 提供软件的模式
– 一些专业网站开发加提供外包网站管理的模式
用户配置设计
• 所有实例都使用相同的代码实施,供应商提供详细的配置
选择,让客户能改变应用的外观和行为,从而满足客户的
需求。
• SaaS设计重点:供应商所有客户都使用相同的代码库但
是物理层面彼此之间仍完全隔离
• 典型案例:
用户配置、数据共享设计(1)
• 供应商借助单个实例来满足不同客户的需求,并采用可配
置的元数据为不同的用户
• 提供独特的用户使用体验和特性集。授权与安全性策略可
确保不同客户的数据彼此区分开来。从最终用
• 户的角度来看,不会察觉到应用是与多个用户共享的。
• 缺点:应用的可扩展性有限
用户配置、数据共享设计(2)
• 用户配置和数据共享实例设计重点和难点
• SaaS设计重点在于数据存储的设计
– 数据存储的设计
– 安全性策略的设计
• SaaS设计难点在于
– 权衡共享数据
效率和扩展性
• 典型案例:My5u.com
用户配置、数据共享、可扩展
• 这时供应商在负载平衡的服务器群上为不同客户提供主机服务,运行
• 相同的实例,不同客户的数据彼此分开,可配置的元数据可以提供独
特的用户体验与特性集。SaaS 系
• 统具备可扩展性,可轻松适应大规模客户的需要,可在无需对应用进
行额外架构设计的情况下根据需求
• 灵活地增减后端服务器的数量,不管有多少用户,都能像针对单个用
户一样方便地实施应用修改。
• 设计重点:基于数据共享基础上的扩展性的设计
• 典型例子:
设计一个SaaS模型的项目
• 从技术架构上看,SaaS 应用与采用服务导
向型设计原理开发的其他应用很相似。
• 设计考虑如下方面
–元数据服务
–安全性服务
–多用户数据模型选择
–可扩展性
–操作结构
元数据服务
• 元数据服务供应商为客户提供了定制和配
置应用
• 用户个性化的操作
(参考开发技术:CSS,AJAX,WPF)
• 工作流程
(推荐开发技术:Windows Workflow)
• 数据模型的扩展
(推荐使用xml date type)
• 存取控制
安全性服务
• 认证
–是集中认证系统
–非集中认证系统
• 授权
– SaaS 应用内部负责对角色进行管理,角色可
包含单个用户的账户以及用户群组。不同用户
账户和用
–户群组根据需要被分配到不同的角色。
多用户数据模型选择
• 专用的用户数
– 最简单的方法,而且为客户扩展默认数据模型提供了最大的自由度
• 共享数据库配合固定扩展集
– 所有客户共享一个数据库,数据库预设一些定制字段,允许用户根据需
要分配使用
• 三是共享数据库配合定制扩展
– 统一的共享数据库,并允许客户自行扩展数据模型,在不同的
中将
定制数据存储为名称值对
DEMO
共享数据表扩展性设计
可扩展性
• 应用扩展
– 通常需要考虑横向扩展(在更多的服务器上运行应用).
– 每台服务器都运行应用的一个或更多实例
– 推荐分布式开发技术WCF
• 数据扩展
– 扩展数据库的简便方法之一就是进行分区
• 操作结构
– 保证应用的可用性以及如何经济有效地确保应用良好运行
关于微软SaaS孵化器
• http://www.cnsaas.com/
获取更多MSDN资源
• MSDN中文网站
http://www.microsoft.com/china/msdn
• MSDN中文网络广播
http://www.msdnwebcast.com.cn
• MSDN Flash
http://www.microsoft.com/china/newsletter/case/
msdn.aspx
• MSDN开发中心
http://www.microsoft.com/china/msdn/Developer
Center/default.mspx
Question & Answer
如需提出问题,请单击“提问”按钮并在
随后显示的浮动面板中输入问题内容。一
旦完成问题输入后,请单击“提问”按钮。
本文档为【20070129--SaaS软件即服务系列课程(4)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。