标题：互联网时代的软件革命:SaaS架构设计
互联网时代的软件革命:SaaS架构设计
作　者：叶伟 等编著 
出 版 社：电子工业出版社
出版时间： 2008-11-1 
页　数：333页
开　本： 16开
I S B N ：9787121077364
所属分类： 图书 >> 计算机/架构设计 >>SaaS应用设计
预估价：49.00元
宣传语
国内第一本完整介绍SaaS应用设计的书籍。
具有丰富SaaS实践经验的一线架构师的经验总结。
用创业故事贯穿全书，以一种活泼的风格来描述SaaS应用逐步成熟的过程。
内 容 简 介
本书是国内第一本完整介绍SaaS应用开发的书籍，聚集于架构设计。内容是互联网领域具有丰富实践经验的8位一线架构师，对于多年SaaS实践经验的总结。对于SaaS领域的业务、设计、开发人员，具有很高的指导价值。
本书首先从SaaS的商业价值分析开始，讨论SaaS应用与其它应用最大的差异特征：多租户。SaaS应用架构是否成熟正是对多租户的三个重要特性的衡量：高性能、可配置性和伸缩性。本书将对SaaS应用成熟度的4个模型一一描述，并通过郭靖和杨康两个大学生的创业故事来描述SaaS应用逐步成熟到百万级以上租户时，应用软件的架构设计演变过程。
同时，本书还针对云计算、OpenAPI、离线应用、安全以及开放平台等SaaS相关的主题进行了深入的阐述。
前 言
SaaS源于一种简单的思想：软件即服务！但SaaS的出现彻底改变了人们对软件的观念，使用软件的人从产品消费者转换为服务消费者，而开发软件的人从产品提供者转换为服务提供者。当然，SaaS带来的改变不仅仅体现在商业模式上，也带来了软件开发中的思路和技术的许多改变。这些都是整个软件界需要探讨和思考的问题。
当今的软件界已没有谁敢小觑SaaS软件，因为有一大批的如国外的Salesforce和国内的阿里软件这样的公司在这个领域取得了辉煌战绩，而Google和Microsoft以及国内的用友和金蝶等知名企业也纷纷加入SaaS大战之中。事实上，当前的软件行业正面临一场新的变革，导火索就是SaaS软件。
尽管有不少人对SaaS还缺乏了解，甚至对SaaS持怀疑态度；尽管SaaS本身也还存在这样或那样的缺陷，但SaaS软件发展的速度向世人证明了：软件行业从第二产业的生产制造业向第三产业的现代服务业进行大转换的潮流不可阻挡。
本书也正是在软件行业这样的大背景下推出的。这是国内第一本系统地介绍SaaS的理论和概念，以及SaaS软件的架构和实现技术的专业书籍。写作本书的目的主要是为了向软件界的朋友们分享有关理解和运用SaaS理论与技术的思想和经验。同时，本书的推出也希望能起到抛砖引玉的效果，让更多的朋友参与到SaaS理论和技术的探讨中，共同完善和发展SaaS的理论和技术，促进软件行业不断进步。
本书读者
由于本书所涵盖的内容较宽，适合阅读本书的读者群还是相当广泛的。当然本书主要还是为软件行业的开发人员准备的专业书籍，重点关注的是SaaS软件的架构设计与技术方案，而并非老少皆宜的初级读物。
如果你是软件或互联网公司的老板或高层管理人员，建议你应该看看本书的一些内容。你可以重点了解SaaS的理论知识和基本概念，SaaS软件的优势和缺点，以及SaaS所带来的稳健商业模式。当然，我们更建议你将本书推荐给你们的技术开发人员，他们往往能从技术上给予更多的评点。
如果你是IT企业的CTO或者技术负责人，本书将能为你提供较为全面的SaaS技术信息。特别是对于那些正打算转型到SaaS软件开发的技术公司，本书是不可多得的重要参考指南。书中所讲的很多内容都是业界关于SaaS的技术情报和行动计划，我们相信这些内容一定对你的技术决策有很大帮助。
如果你是软件公司的架构师，正在规划本企业SaaS产品的架构设计，本书就是专门为你量身定做的。SaaS软件的架构设计与传统软件有很大不同，对于从传统软件设计转过来的架构师们正需要这方面的参考和指导，而本书的重点就是讲述SaaS软件的架构设计的。
如果你是一名程序员，是时候关注SaaS软件的开发方法了。尽管对于基层程序员来说编写代码的工作没有多大改变，但了解整个SaaS软件的架构原理之后，对编写高质量的代码一定有很大的帮助。SaaS软件所需要的多用户、高并发和大容量特性，也要求程序员编写更高质量和更稳定的代码。
如果你是一位即将毕业或打算从事软件开发的新手，将能从本书中获知当前软件产业发展的最新动向和技术。其实，对于新手来说，先把握方向和目标是非常重要的，这样可以将有限的精力投到正确的学习和实践中，紧跟软件行业的发展潮流。我们可以肯定地说，未来软件的发展趋势一定是SaaS！
本书作者
本书是由阿里软件公司主持编写的，阿里软件是国内最知名的SaaS软件运营商之一。本书的作者都是阿里软件研究院的研究人员，在SaaS软件理论和技术方面有丰富经验。他们有些是SaaS理论权威专家，有些是SaaS软件的资深软件架构师，有些是阿里软件重大项目的技术带头人。他们分别是：
叶 伟 —— 阿里软件研发中心总监
赵 进 —— 阿里软件首席架构师
曾 义 —— 阿里软件研究院技术部经理
叶 军 —— 阿里软件研究院资深架构师
莫建祥 —— 阿里软件服务器首席架构师
闻 波 —— 阿里软件研究院资深架构师
黄晓龙 —— 阿里软件研发中心资深架构师
龙 良 —— 阿里软件研发中心资深架构师
李 战 —— 阿里软件研究院资深架构师
联系方式
本书开辟了专门的博客，欢迎广大读者和我们交流和沟通。我们的博客地址是：
http://blog.csdn.net/AlisoftRD/category/476332.aspx
目 录
第1篇 SaaS商业模式
第1章 SaaS的前世今生 2
1.1 什么是SaaS 3
1.1.1 SaaS的产生 3
1.1.2 SaaS基本概念 6
1.1.3 SaaS与ASP的异同 8
1.2 SaaS软件的优势 9
1.2.1 给用户的优势 10
1.2.2 给软件商的优势 14
1.3 SaaS的缺点及解决办法 16
1.3.1 依赖互联网 16
1.3.2 数据安全性 17
1.3.3 数据保密性 19
1.4 SaaS成功案例 20
1.4.1 Salesforce.com 20
1.4.2 Google.com 22
1.4.3 Alisoft.com 24
1.4.4 其他SaaS案例 26
1.5 小结 29
第2篇 SaaS应用架构
第2章 SaaS成熟度模型 32
2.1 SaaS的规模效应 33
2.2 SaaS成熟度模型分级 36
2.2.1 Level 1：定制开发 36
2.2.2 Level 2：可配置 37
2.2.3 Level 3：高性能的多租户架构 39
2.2.4 Level 4：可伸缩性的多租户架构 41
2.3 如何选择合适的SaaS成熟度模型 43
2.3.1 产品所面向的客户群的特征与需求 43
2.3.2 产品的租户数量级别 44
2.3.3 团队的开发能力与愿意付出的开发/改造成本 45
2.4 SaaS软件的成熟度模型的渐进步骤 46
2.5 小结 47
第3章 构建Multi-Tenant应用 48
3.1 第一阶段：做项目 49
3.1.1 发现商机 49
3.1.2 “4+1”视图 50
3.1.3 项目托管 58
3.2 第二阶段：做产品 59
3.2.1 共享设备 59
3.2.2 创业之旅 61
3.2.3 可配置化 62
3.3 第三阶段：多租户 63
3.3.1 成长的烦恼 63
3.3.2 如何转化成SaaS多租户模式 65
3.3.3 SaaS多租户设计 70
3.3.4 SaaS多租户模式的威力 72
3.4 小结 73
第4章 高性能的Multi-Tenant最佳实践 74
4.1 数据库层性能优化 75
4.1.1 建立合适的索引 76
4.1.2 消除大数据表连接 77
4.1.3 避免复杂SQL 78
4.2 应用层性能优化 78
4.2.1 Cache 79
4.2.2 统计和报表计算 82
4.2.3 基于Tenant的索引搜索 84
4.2.4 异步操作 85
4.3 Web层性能优化 87
4.3.1 Web开发的性能优化策略 88
4.3.2 Http服务器的性能优化策略 91
4.4 性能监控 93
4.5 优化的效果 95
4.6 小结 95
第5章 Multi-Tenant应用的可配置性 98
5.1 数据可配置 100
5.1.1 定制字段 101
5.1.2 预分配字段 102
5.1.3 名称值对 104
5.1.4 方案比较 106
5.2 功能可配置 107
5.2.1 原子功能划分 108
5.2.2 功能包设计 110
5.2.3 功能使用校验 115
5.3 界面可配置 116
5.3.1 系统菜单可配置 116
5.3.2 页面元素可配置 118
5.4 流程可配置 119
5.5 配置元数据管理 119
5.5.1 配置元数据 120
5.5.2 租户配置数据 123
5.5.3 配置元数据服务 124
5.6 可配置系统运行 125
5.6.1 系统菜单框架 127
5.6.2 功能页面容器 127
5.6.3 扩展数据引擎 128
5.6.4 功能引擎 128
5.7 小结 128
第6章 可伸缩的SaaS应用架构 129
6.1 伸缩性（Scalable）的概念 131
6.2 应用服务器层的水平扩展 132
6.2.1 基于Session复制的水平扩展方式 133
6.2.2 基于Session Sticky的水平扩展方式 136
6.2.3 基于Cache的集中式Session实现水平扩展 137
6.2.4 三种水平扩展方式的比较 138
6.3 数据库层的水平扩展 138
6.3.1 数据库的垂直切分 139
6.3.2 数据库的读写分离技术 140
6.3.3 数据库的水平切分 141
6.3.4 三种数据库层的水平扩展方案对比 144
6.4 小结 145
第7章 SaaS系统安全 148
7.1 应用安全 150
7.1.1 身份认证 150
7.1.2 权限管理 153
7.1.3 日志记录 156
7.1.4 应用监控 157
7.2 数据安全 158
7.2.1 数据隔离 158
7.2.2 数据库连接安全 159
7.2.3 敏感数据加密 160
7.2.4 数据量监控 164
7.3 网络安全 165
7.3.1 安全传输 165
7.3.2 网络攻击防范 167
7.3.3 网络监控 168
7.4 小结 168
第8章 离线应用 170
8.1 系统分析 171
8.1.1 离线应用的4大核心问题 172
8.1.2 离线应用架构 173
8.1.3 相关技术背景 175
8.2 本地使用 176
8.2.1 网络状态检测 176
8.2.2 离线页面支持 178
8.3 本地存储 178
8.3.1 本地数据库支持 178
8.3.2 本地数据存储 179
8.4 数据同步 180
8.4.1 增量数据处理 180
8.4.2 多用户冲突 183
8.5 数据传输 184
8.6 离线应用开发工具介绍 186
8.6.1 本地数据库 187
8.6.2 本地服务 187
8.6.3 工作者线程池 189
8.6.4 Gears待发展的内容 192
8.7 小结 192
第3篇 SaaS基础架构——云计算
第9章 分布式文件存储 194
9.1 大文件的分布式存储 195
9.1.1 GFS 195
9.1.2 HDFS 196
9.2 小文件的分布式存储 202
9.2.1 ADFS（Alibaba Distributed File System） 202
9.2.2 小文件存储的另外方案介绍 207
9.3 小结 208
第10章 分布式数据库 210
10.1 基于列的结构化分布式数据库 211
10.1.1 HBase数据库数据结构 211
10.1.2 HBase系统架构 214
10.1.3 HBase实践 215
10.2 基于代理的分布式数据库 217
10.3 基于列的分布式关系数据库 237
10.4 小结 241
第11章 分布式Cache 242
11.1 单层的分布式Cache 243
11.2 多层的分布式Cache 245
11.3 改进的多层分布式Cache 245
11.4 小结 246
第12章 分布式计算 248
12.1 MapReduce分布式计算框架 249
12.2 文件下载的分布式计算 252
12.2.1 中心索引方式 253
12.2.2 分布式的结构化方式 254
12.2.3 改进模型 256
12.3 小结 258
第4篇 开放的SaaS平台
第13章 不Open API 260
13.1 Open API的商业价值分析 263
13.1.1 Open API的出现、起源与现状 264
13.1.2 Google Maps API带来开放潮流 265
13.1.3 Mashup在Open API的时代 266
13.1.4 Open API的分类 268
13.1.5 Open API的系统架构与运营 276
13.2 Open API相关产品 279
13.3 Open API的实现技术 282
13.3.1 远程接口技术 282
13.3.2 远程接口设计最佳实践 289
13.4 Open API与API托管平台 290
13.5 服务集成平台设计与实现 293
13.6 小结 297
第14章 开放的SaaS平台 298
14.1 PaaS 299
14.1.1 插件模式 301
14.1.2 七巧板模式 303
14.1.3 云计算模式 304
14.1.4 服务托管模式 310
14.2 互联提升价值 311
14.2.1 拓展软件的能力：聚合互联网资源 313
14.2.2 应用互联的价值链 313
14.2.3 基础设施提供 316
14.2.4 互联需开放平台 316
14.3 软件互联平台 317
14.3.1 软件大市场 318
14.3.2 软件生态圈 319
14.4 小结 323
第15章 结束语 324
15.1 SaaS发展趋势 325
15.1.1 SaaS平台化 325
15.1.2 SaaS产业链 326
15.1.3 SaaS移动化 327
15.1.4 服务即软件 328
15.2 软件行业的未来 330
15.2.1 通过互联网使用软件的用户越来越多 330
15.2.2 软件和服务的界限会越来越模糊 330
15.2.3 软件和服务会越来越个性化 331
15.2.4 软件产业大融合 331
参考资料 333