译者序
作者介绍
前言
第一部分 组件概念
第1章 基于组件的开发 2
1.1组件是什么 2
1.2什么是基于组件的开发 5
1.2.1简要历史 6
1.2.2软件制造的要求 10
1.2.3收益 11
1.3演化 13
1.3.1今天的软件制造 13
1.3.2迁移过程中的风险 16
1.3.3基于组件的开发的成熟度 l6
1.4小结 l9
1.5注释 l9
第2章 业务组件方法 2O
2.1组件粒度的层次 2O
2.1.1分布式组件 22
2.1.2业务组件 23
2.1.3业务组件系统 24
2.1.4系统级组件联邦 27
2.2体系结构视点 28
2.3开发过程 29
2.3.1主要特征 29
2.3.2阶段 30
2.4业务组件方法 31
2.4.1一种统一概念 32
2.4.2开发成本 33
2.4.3最低依赖 34
2.4.4 5种要素 34
2.5业务组件工厂 35
2.6场景 37
2.7业务组件方法的适用性 39
2.7.1基于0LTP的应用程序 40
2.7.2批处理应用程序 4O
2.7.3基于web和电子商务应用程序 4l
2.7.4基于个人计算机的应用程序 4l
2.8小结 41
2.9注释 43
第3章 分布式组件 44
3.1概念 44
3.1.1概述 45
3.1.2特征 46
3.1.3分类 52
3.2内部要素 53
3.2.1功能开发人员的程序设计模型 54
3.2.2隔离分层 56
3.2.3语言类分类 58
3.3外部要素 63
3.3.1接口 64
3.3.2业务数据类型 64
3.4小结 66
3.5注释 66
第4章 业务组件 68
4.1概念 68
4.1.1定义概念 68
4.1.2派生概念 7O
4.1.3实现考虑 7l
4.2内部要素 72
4.2.1分布层 72
4.2.2分布层的特性 75
4.2.3分布域 78
4.3外部要素 79
4.3.1接口 79
4.3.2依赖关系 84
4.3.3插座 85
4.4开发生命周期 86
4.5地址簿场景 89
4.5.1用户界面 9O
4.5.2企业分布式组件对企业分布式组件的调用 92
4.6相关软件工程概念 93
4.6.1业务对象 93
4.6.2模块 94
4.6.3 UML包 94
4.7小结 95
4.8注释 96
第5章 业务组件系统 97
5.1概念 97
5.1.1例子 97
5.1.2业务组件组装 98
5.1.3产品组装 100
5.1.4业务数据类型系统 100
5.1.5组件模型与组件图 101
5.1.6特征 103
5.2内部要素 106
5.2.1业务组件分类 107
5.2.2实用业务组件 109
5.2.3实体业务组件 109
5.2.4过程业务组件 110
5.2.5辅助业务组件 111
5.3外部要素 111
5.3.1接口 112
5.3.2系统级组件 114
5.4信息系统 115
5.4.1电子商务 115
5.4.2报表编写器 117
5.5小结 118
5.6注释 119
第6章 系统级组件联邦 l20
6.1业务问题 120
6.2互操作性概念 121
6.2.1互操作参考模型 121
6.2.2与体系结构视点的关系 128
6.2.3交互模式 129
6.3联邦的概念 132
6.3.1联邦的特征 132
6.3.2标记数据与XML l36
6.3.3剖析协议模型 141
6.4经过体系结构设计的联邦 144
6.4.1特征 144
6.4.2设计联邦的体系结构 146
6.5小结 148
6.6注释 148
第二部分 建立组件工厂
第7章 开发过程 151
7.1概念 51
7.1.1制造过程 l52
7.1.2 lO个黄金特征 l53
7.2构建 l55
7.2.1需求 l57
7.2.2分析 160
7.2.3设计 163
7.2.4实现 166
7.3确认与验证 167
7.3.1评审 168
7.3.2测试 l70
7.4迭代 173
7.5小结 175
7.6注释 176
第8章 技术体系结构 l77
8.1概念 178
8.1.1业务组件虚拟机 178
8.1.2可移植性 180
8.1.3实现隔离分层 182
8.2技术核心 183
8.2.1组件调用 183
8.2.2组件生命周期 184
8.2.3并发性 185
8.2.4异步消息传递 186
8.2.5动态继承 187
8.3服务与设施 188
8.3.1事务 189
8.3.2错误处理 191
8.3.3事件 192
8.3.4持久性 194
8.3.5兆数据 196
8.3.6用户界面框架 200
8.4扩展集成开发环境 202
8.4.1组件规格说明工具 204
8.4.2基于库的开发 204
8.5小结 205
8.6注释 206
第9章 应用体系结构 207
9.1体系结构原则 209
9.1.1非循环 209
9.1.2体系结构规范化 211
9.1.3其他原则 211
9.2体系结构风格 212
9.2.1基于类型的风格与基于实例的风格 2l3
9.2.2基于事件 22l
9.2.3体系结构模式 222
9.3协同模式 224
9.3.1业务事务 225
9.3.2默认管理 227
9.3.3替代与历史数据 228
9.3.4确认 229
9.4从业务组件虚拟机到功能开发 229
9.4.1错误处理 231
9.4.2数据类型系统 233
9.4.3标准与方针 234
9.5小结 234
9.6注释 235
第10章 项目管理体系结构 236
10.1概念 237
10.2软件配置管理与版本控制 239
10.2.1术语 239
lO.2.2开发过程的软件配置管理视图 243
10.2.3集成软件配置管理策略 244
10.3依赖管理 246
10.3.1依赖模型 246
10.3.2输出 249
10.3.3输入 25O
10.3.4动态依赖 25l
10.3.5举例 252
10.4完善开发环境 253
10.4.1目录树结构 253
10.4.2组件依赖管理器 257
10.4.3脚本 259
10.5项目管理人员的模型 260
10.5.1开发机构 260
10.5.2项目管理视图 262
10.5.3软件生态学 262
10.6小结 262
10.7注释 263
第三部分 制造基于组件的软件
第11章 基于组件的业务建模 266
11.1概念 266
11.1.1业务建模者与功能架构师 266
11.1.2主要建模构件 267
11.1.3联邦建模 269
11.1.4划分业务空间 271
11.1.5功能子类 274
11.2标识策略 276
11.2.1粒度 276
11.2.2标识 276
11.2.3业务组件系统模型的评价 278
11.3过程建模 279
ll.3.1工作流管理 279
11.3.2基于规则的建模 282
ll.3.3快速进化 282
1l.3.4作为有限状态机的组件 284
11.4实体建模 286
11.4.1业务组件的内部协同 286
11.4.2贸易伙伴 288
11.4.3合同 290
11.4.4价格与合同项 291
11.5实用业务组件 292
11.5.1地址簿 292
11.5.2邮政编码簿 293
11.6小结 294
11.7注释 295
第12章 基于组件的设计 296
12.1大型基于组件系统的思想 296
12.1.1分布式系统现实 296
12.1.2组件粒度 297
12.1.3自治性 298
12.1.4可伸缩性优先级 299
12.2接口 299
12.2.1特征 299
12.2.2组件标准化 300
12.2.3业务数据类型 304
12.2.4带标记的数据 306
12.3业务组件 308
12.3.1用户工作间域与企业资源域 308
12.3.2用户界面 311
12.3.3工作间层 3l7
12.3.4企业层 3l9
12.4持久性 320
12.4.1数据库的组件化 320
12.4.2持久性框架 324
12.4.3适合关系模型的面向对象 326
12.4.4管理数据完整性 327
12.5小结 328
12.6注释 329
第13章 迁移 330
13.1概念 330
13.1.1方法论 331
13.1.2最佳实践 332
13.1.3体系结构 333
13.1.4软件工厂 333
13.1.5重用程序 334
13.2迁移程序 337
13.2.1特性 338
13.2.2知识转移 338
13.2.3迭代 340
13.3小结 341
13.4注释 342
附录A 命名约定 343
附录B 术语表 345
参考文献 349
展开
——OOPSLA业务对象组件工作组主席、IDX系统公司首席技术官Jeff Sutherland
“……本书对于考虑在企业层次上采用组件软件这一困难任务的所有读者都是非常有益的。”
——获奖图书《Component Software:Beyond Object-Oriented Programming》的作者
Clemens Szyperski(微软研究院)