第一章 COM+——组件技术中的最新技术 1
第一章 COM+——组件技术中的最新技术 1
1.1 什么是COM+ 2
1.1.1 COM+的不同之处 3
1.2.1 COM+的设计目标 5
1.2 COM+与COM的比较 5
1.1.2 概况 5
1.2.3 消息与COM+ 6
1.2.2 事务与COM+ 6
1.2.4 COM+服务 7
1.3 MTS的不同之处 9
致谢 9
1.3.1 MTS服务概述 9
1.3.2 资源池在COM+中的作用 10
简介 11
1.4 MSMQ适合于哪些情况 11
第二章 COM基础——简化版本 13
第二章 COM基础——简化版本 13
2.1 创建对象 15
2.1.1 进程内 16
2.1.2 进程外 17
2.1.3 组件重用 31
2.2 调用接口方法 32
2.2.1 理解IUnknown 33
2.2.2 了解ActiveX接口 34
2.2.3 使用ActiveX接口 36
2.2.4 引用计数 38
2.3 注册表要求 38
2.4 使用公寓和线程 44
2.4.1 线程类型 45
2.4.2 公寓类型和分配 47
2.4.3 调度需要 49
第三章 COM+独有的特性 51
第三章 COM+独有的特性 51
3.1 COM+和自动化 54
3.1.1 理解及时(JIT)激活 55
3.1.2 事务处理 56
3.1.3 COM+环境 56
3.2 理解资源分配器 58
3.3 理解补偿资源管理器 59
3.4 COM+事件槽 60
3.5 COM+目录 60
3.6 对象池 61
3.7 基于角色的安全性 61
3.7.1 理解标准的Window的安全性 62
3.7.2 基于角色的安全性的区别 82
3.8 理解组件负载平衡 86
3.8.1 理解负载平衡的目标 87
3.8.2 负载平衡的工作方式 87
3.8.3 处理已关闭的服务器和路由器 89
第四章 MTS概述 91
第四章 MTS概述 91
4.1 什么是事务 92
4.1.1 理解事务 93
4.1.2 MTS和COM+ 95
4.2 理解事务序列 98
4.2.1 MTS对象概述 98
4.2.2 定义事务事件 99
4.2.3 远程执行考虑 100
4.2.4 MTS负载平衡方面的考虑 101
4.3 理解COM+应用程序的可靠性 101
4.4 COM/DCOM问题 103
4.5 事务和数据库 104
4.5.1 处理数据库的多样性 104
4.5.2 MTS数据库特性 106
4.5.3 使用MTS进行数据库编程 106
4.5.4 MTS和COM+ 108
4.6 安全考虑 108
4.7 理解Microsoft分布式事务协调器(MS-DTC) 109
4.7.1 生效的MS-DTC 110
4.7.2 MS-DTC的分布式部分 111
第五章 MSMQ概述 113
第五章 MSMQ概述 113
5.1 MSMQ异步通信概述 115
5.1.1 路径 116
5.1.2 磁盘访问类型 118
5.1.3 发送保证 119
5.1.4 安全性 121
5.1.5 MSMQ与MTS 126
5.2 消息队列概述 129
5.2.1 理解消息队列的类型 129
5.2.2 断开的应用程序的消息队列 131
5.3 从服务器的角度看消息 133
5.3.1 消息的结构 133
5.3.2 从COM的角度看消息和队列操作 135
5.3.3 MSMQ错误处理 135
5.4 理解Active Directory/MQIS数据库 138
5.4.1 数据库的安装需求和大小 139
5.4.2 宿主 139
5.4.3 MSMQ1.0与MSMQ 2.0 141
5.5 性能问题 142
5.5.1 MSMQ内部性能问题 142
5.5.2 影响应用程序性能的处理限制 144
第六章 理解应用程序的类型 147
第六章 理解应用程序的类型 147
6.1 理解COM+应用程序的差别 149
6.1.2 COM+的优点 151
6.1.1 基于服务器的组件 151
6.1.3 属性、环境和状态 152
6.1.4 组件更改的4个级别 154
6.2 理解编程问题 160
6.2.1 性能 161
6.2.2 安全 162
6.3 COM+应用程序类型 163
6.3.1 服务应用程序 163
6.3.2 库应用程序 164
6.3.3 代理应用程序 164
6.3.4 预装的应用程序 165
6.4 脱机应用程序的考虑事项 165
6.5 单独使用MTS和MSMQ 167
第七章 事务驱动的应用程序 169
第七章 事务驱动的应用程序 169
7.1 安装SQL Server6.5 Developer Edition 172
7.2 创建SQL Server远程开发和诊断工具 176
7.3 定义应用程序 184
7.3.1 应用程序任务概述 186
7.3.2 数据库概述 188
7.3.3 各个表的深入观察 189
7.3.4 创建数据库和相关的表 192
7.3.5 项目的n层视图 205
7.4 创建服务器端组件 207
7.4.1 创建组件外壳 207
7.4.2 添加组件代码 220
7.4.3 在服务器上注册和安装组件 230
7.5 创建客户端组件 242
7.5.1 创建组件外壳 243
7.5.2 添加组件代码 245
7.5.3 创建一个简单的分类测试应用程序 250
7.6 创建测试应用程序 261
7.6.1 创建应用程序外壳 262
7.6.2 定义用户界面 263
7.6.3 添加应用程序代码 275
7.6.4 测试COM+应用程序 283
第八章 处理事务失败 285
第八章 处理事务失败 285
8.1 出现失败的情况 287
8.1.1 连接事务 290
8.1.2 断开事务 295
8.2 错误还原的方法 298
8.2.1 检测错误的来源 298
8.2.2 转换错误代码 325
8.2.3 处理错误过载 326
8.2.4 准备还原 327
第九章 发送消息和COM对象 331
第九章 发送消息和COM对象 331
9.1 通信方案概述 335
9.1.1 两个API 336
9.1.2 定义消息类型 340
9.1.3 理解数据传输顺序 341
9.1.4 创建需要的队列 342
9.2 创建侦听器/播放器应用程序 344
9.2.1 创建侦听器/播放器应用程序外壳 344
9.2.2 设计对话框窗体 347
9.2.3 添加播放代码 348
9.3 创建测试应用程序 353
9.3.1 创建测试应用程序外壳 353
9.3.2 设计测试应用程序对话框窗体 354
9.3.3 添加测试代码 356
9.4 测试应用程序 360
9.4.1 检查消息 360
9.4.2 查看消息的输出 366
9.5 MSMQ管理问题 366
9.5.1 队列管理基础知识 367
9.5.2 死信消息队列 368
9.5.3 检查Event Viewer 368
第十章 在断开模式下工作 371
第十章 在断开模式下工作 371
10.1 定义应用程序 374
10.1.1 台式机开发与分布式开发 375
10.1.2 理解默认的COM+记录器、侦听器和播放器 377
10.1.3 应用程序数据流动概述 382
10.2 创建和安装组件 383
10.2.1 创建组件外壳 384
10.2.2 添加组件代码 387
10.2.3 安装组件 388
10.3 创建测试应用程序 396
10.3.1 设计应用程序外壳 397
10.3.2 定义对话框窗体 399
10.3.3 添加应用程序代码 400
10.4 在连接模式下测试 405
10.5 在断开模式下测试 406