COM+技术大全PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)Richard C.Leinecker著;高智勇等译
- 出 版 社:北京:机械工业出版社
- 出版年份:2001
- ISBN:7111089510
- 页数:551 页
前言 1
第一部分 Windows DNA和COM+ 1
第1章 COM+: Windows DNA的粘合剂 1
1.1 Windows DNA 1
1.2 谈谈因特网: HTML和XML 2
1.3 Windows DNA服务 3
1.3.1 Windows DNA服务: COM和COM+ 3
1.3.2 Windows DNA服务: DAN内核 6
1.3.3 Windows DNA服务: 工具 7
1.4 DNA: 功能概述 10
1.4.1 浏览器 10
1.4.2 IIS 10
1.4.3 ASP 11
1.4.4 MTS 12
1.4.5 MSMQ和SQL Server 12
1.4.6 Visual Studio 6.0 12
1.4.8 Visual C++ 14
1.4.7 Visual Basic 14
1.5 小结 15
第2章 多层组件结构 16
2.1 Ad-Hoc设计 16
2.2 基础应用程序边界: 外观、逻辑、数据服务 17
2.3 三层设计 18
2.4 保持层与层之间的均衡 20
2.5 多层设计 20
2.6 本地或分布 22
2.7 几种不错的设计技巧 22
2.7.1 将应用抽象为各层 23
2.7.2 确定组件 23
2.7.3 创建接口 24
2.7.4 实现组件 24
2.7.5 设计约束 24
2.7.6 设计目标 26
2.8 设计工具 28
2.9 小结 29
第二部分 高级COM编程技巧 31
第3章 COM+结构与管理 31
3.1 COM的发展 32
3.2 MTS的缺点 33
3.3 COM+结构 33
3.3.1 创建COM+对象 34
3.3.2 用参数表示的对象结构 34
3.3.3 标记 35
3.3.4 中立线程单元 35
3.3.5 对象池 35
3.3.6 对象池管理 36
3.3.7 动态负荷均衡 36
3.4 COM+配置服务 37
3.5 COM+的资源管理 37
3.7 队列组件 38
3.6 开发COM+应用程序 38
3.7.1 放入队列的事务 39
3.7.2 管理队列组件 39
3.8 松散耦合事件 39
3.9 COM+的数据访问 40
3.9.1 读取最优化的数据访问 40
3.11.1 结构存储 41
3.11 基本的COM特性 41
3.10 COM+的安全性 41
3.9.2 事务中的共享属性管理器 41
3.11.2 取消未完成的COM调用 42
3.12 小结 42
第4章 持久存储 43
4.1 IPersist接口 43
4.1.1 IPersistStorage 44
4.1.2 IPersistFile 45
4.1.3 IPersistStreamInit 45
4.2 IStream接口 46
4.2.1 IStream::Write() 47
4.2.2 IStream::Read() 48
4.2.3 IStream::Seek() 49
4.3 创建实现IPersitStreamInit的ATL对象 50
4.4 使用一个持久对象 54
4.5 简化持久对象的创建 56
4.6 简化持久对象的使用 58
4.7 小结 61
第5章 标记 62
5.1 COM+对象和标记 62
5.2 探究标记类型 66
5.2.1 文件标记 66
5.2.2 运动对象表 69
5.2.3 项目标记 70
5.2.4 组合标记 70
5.2.5 类标记 71
5.3 小结 72
5.2.6 指针标记 72
第6章 可连接的对象 73
6.1 连接点 73
6.2 连接点容器 75
6.3 连接点举例 75
6.4 事件和VB 85
6.4.1 重写事件源 86
6.4.2 ATL代理程序生成器 88
6.4.3 编写VB客户程序 90
6.5 各种工具实现事件时有何不同 91
6.5.1 事件和VB 91
6.5.2 事件和C++Builder 93
6.6 小结 96
第7章 COM+线程 97
7.1 PC线程的发展 97
7.2 COM+线程类型 98
7.2.1 工作者线程 98
7.2.2 消息队列线程 99
7.2.3 窗口线程 100
7.2.4 单元线程 103
7.2.5 线程池 104
7.3 COM+线程模型 105
7.3.1 单线程服务程序 105
7.3.2 单元线程服务程序 106
7.3.3 中立线程服务程序 108
7.3.4 自由线程服务程序 108
7.4 线程同步 111
7.4.1 线程局部存储 111
7.4.2 消除并发问题 111
7.5 小结 117
第8章 COM和注册表 119
8.1 注册表API 119
8.2 Regedit和Regedt32 125
8.3.1 文件扩展名 127
8.3 COM的注册表结构 127
8.3.2 ProgID 128
8.3.3 AppID 130
8.3.4 CLSID 133
8.3.5 接口 135
8.3.6 TypeLibs 136
8.4 HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle 137
8.4.3 传统的安全性 138
8.4.2 默认权限 138
8.4.1 允许和禁止DCOM 138
8.5 注册COM+服务程序 139
8.5.1 Regsvr32 139
8.5.2 自注册进程外服务程序 140
8.5.3 框架 141
8.6 小结 141
第9章 COM+的最优化、继承及集合 142
9.1 DCOM的速度 142
9.1.2 网络循环 143
9.1.1 对象定位 143
9.1.3 混合线程模型 144
9.2 远程激活 148
9.3 远程引用计数 149
9.4 代理进程 150
9.5 IClassFactory 153
9.6 继承 155
9.7 小结 160
第10章 使用NT服务 161
10.1 剖析服务 163
10.1.1 main()和WinMain 163
10.1.2 ServiceMain() 164
10.1.3 ServiceCtrlHandle() 167
10.2 ATL和服务 168
10.3 为使用服务而提供的工具 179
10.3.1 Administrative Tools中的Services Applet 179
10.3.2 Diagnostic实用工具 180
10.3.3 Service Controller 181
10.3.4 Event Viewer 181
10.4 OpenSCManager() 181
10.4.1 服务的句柄 182
10.4.2 操作服务 182
10.5 经由注册表安装服务 183
10.6 使用事件日志 184
10.6.1 消息编译器 184
10.6.2 RegisterEventSource(), Deregister EventSource()和ReportEvent() 186
10.6.3 事件日志阅读器 187
10.7 调试你的服务 188
10.7.1 系统账号 188
10.7.2 任务管理器:调试 188
10.7.3 使用AT命令启动调试器 188
10.8 小结 189
11.1 理解调度 190
11.2 类型库调度 190
第11章 调度 190
11.3 标准调度 191
11.3.1 定义DLL入口点 192
11.3.2 类定义 193
11.3.3 定义IID、TypeLib GUID和CLSID 197
11.3.4 代理程序和存根程序的定义 198
11.3.5 注册表文件 203
11.3.6 转换MIDL的输出文件 203
11.4 自定义调度 205
11.4.1 声明对象的类 206
11.4.2 定义对象的类 207
11.4.3 定义代理程序的类 211
11.4.4 客户程序 214
11.5 小结 217
第12章 COM的安全性 218
12.1 COM与DCOM的安全性对比 218
12.2.2 安全性描述符 219
12.2 Windows安全性 219
12.2.1 完善域的安全性 219
12.2.3 验证 230
12.3 模拟 232
12.3.1 伪装 232
12.3.2 CoImpersonateClient()和CoRevertToSelf() 233
12.3.3 伪装 235
12.4 说明性安全性 235
12.5 程序的安全性 235
12.5.1 安全外壳 235
12.5.2 IClientSecurity 236
12.5.3 访问和运行的安全性 237
12.6 小结 238
第13章 配置和错误处理 239
13.1 使用DCOMCNFG配置COM+对象 239
13.1.1 传统COM服务程序 240
13.1.2 创建自动服务程序 242
13.1.3 默认属性 244
13.1.4 默认安全性 245
13.1.5 配置COM+服务程序 249
13.1.6 服务程序的位置 250
13.1.7 服务程序的安全性 250
13.1.8 服务程序的身份 252
13.2 使用OLE2View程序 253
13.2.2 使用OLE2View配置COM+对象 254
13.2.3 指定远程进程内服务程序的代理 254
13.2.1 OLE2View的缺点 254
13.3 错误处理 257
13.3.1 错误处理策略 258
13.3.2 通过ISupportErrorInfo传递信息 259
13.4 小结 264
第14章 COM的互联网服务 265
14.1 一个新的COM+传输协议 265
14.2 隧道TCP协议概述 266
14.2.2 Windows95和Windows98中的客户程序配置 267
14.2.1 配置隧道TCP协议 267
14.2.3 Windows NT4.0 SP4和Windows2000中的客户程序配置 268
14.2.4 客户机代理服务器的配置 268
14.2.5 Windows NT Server4.0上的服务器配置 269
14.2.6 在Windows 2000 Server上配置RPC代理 270
14.3 使能CIS 271
14.4 代理服务器的配置 271
14.4.1 配置微软代理服务器 271
14.4.2 防火墙的配置 272
14.5 配置技巧和已知的问题 272
14.5.1 CIS客户端上不正确的代理服务器设置 272
14.5.2 关于Multihomed CIS服务器的问题 272
14.5.3 MTS对回调的使用 272
14.5.4 有关HTTP高速缓存设备的问题 272
14.5.5 影响CIS的注册表键 273
14.6 OBJREF标记 273
14.7 必要的编程改变 274
14.8 小结 275
第15章 MTS 276
15.1 商业事务 276
15.1.1 协调事务过程 277
15.1.2 事务过程与COM 277
15.3.1 组件的代理进程 278
15.3.2 基于角色的安全性 278
15.3 使用MTS的好处 278
15.2 什么是MTS 278
15.3.3 准时激活 279
15.3.4 MTS资源管理器 279
15.3.5 事务协调 279
15.3.6 MTS与微软互联网信息服务器的集成 279
15.3.7 MTS与微软消息队列服务的集成 279
15.4 MTS的结构 279
15.4.1 程序包 280
15.5 配置MTS 281
15.4.2 活动 281
15.4.3 角色 281
15.6 MTS对象 283
15.6.1 为MTS开发对象 283
15.6.2 向一个程序包中添加对象 286
15.6.3 程序包的属性 287
15.6.4 对象属性 288
15.6.5 配置基于MTS的对象 289
15.6.6 导出程序包 289
15.6.7 导入程序包 289
15.7 高级MTS技巧 290
15.7.1 为程序包和组件提供安全性 290
15.7.2 为程序包创建角色 291
15.7.3 给组件或接口分配角色 291
15.7.4 通过编程影响安全性 291
15.7.5 直接调用者与原始调用者的对比 292
15.8 创建基于MTS的应用程序 293
15.7.6 负载均衡 293
15.8.1 使用MTS进行设计 295
15.8.2 使用MTS扩展应用程序 296
15.8.3 远程管理 296
15.9 小结 296
第三部分 组件管理与事务 299
第16章 作为组件管理器的COM+ 299
16.1 COM+编程及其他基于组件的服务 300
16.2 COM+可扩展性特性 300
16.3 COM+和标准COM组件 301
16.3.1 标准COM组件 301
16.3.2 将标准COM组件用于COM+ 304
16.3.3 COM+对标准COM组件的好处 306
16.4.1 软件复用 307
16.4 通向COM+组件之路 307
16.4.2 性能、可扩展性和稳定性 313
16.5 COM+和状态 314
16.5.1 状态的类型 314
16.5.2 状态存储 315
16.6 COM+组件必备的条件 316
16.7 编写COM+组件 317
16.7.1 环境对象 317
16.7.2 对象控制 318
16.7.3 使用ATL编写COM+组件 319
16.7.4 共享属性管理器 321
16.7.5 在COM+内引用对象 324
16.7.6 COM+内创建对象 324
16.8 小结 325
17.1 对事务的需求 326
第17章 作为事务协调器的COM+ 326
17.1.1 定义的事务 327
17.1.2 ACID 327
17.2 MS DTC 328
17.3 一个简单的事务例子 329
17.4 事务协议 332
17.4.1 OLE事务 332
17.4.2 XA事务 332
17.4.3 CICS和IMS事务 332
17.5 COM+事务编程模型 332
17.5.1 创建事务 333
17.5.2 完成事务处理 337
17.6 旅行社实例 339
17.7 监视事务 344
17.8 设计中的考虑因素 344
17.9 小结 345
17.8.3 在同一应用程序中将使用相同资源的组件放在一起 345
17.8.1 提出细粒度的组件 345
17.8.2 定位靠近其数据源的组件 345
第18章 COM+的安全性 346
18.1 COM+的安全概念 346
18.1.1 角色 347
18.1.2 安全性的职责 348
18.2 安全支持供应商接口 349
18.3 COM+声明安全性 349
18.3.1 创建角色 350
18.3.2 将角色加入到组件和接口中 351
18.3.3 启用安全性 351
18.3.4 验证 352
18.4 过程com+安全性 352
18.4.1 识别用户 352
18.4.2 给用户授权 356
18.5 小结 359
第19章 COM事务集成器 360
19.1 COMTI的要求 360
19.2 大型机和Windows DNA 361
19.2.1 SNA Server 362
19.2.2 在COMTI之前 363
19.2.3 COMTI 363
19.2.4 COMTI警告 364
19.3 CICS和CICS-LINK 365
19.4 COMTI组件创建器 367
19.4.1 组件创建器COBOL向导 368
19.4.2 CICS TP 369
19.4.3 CICS-LINK 375
19.5 COMTI的管理控制台 375
19.6 COMTI运行时间 377
19.7 小结 379
第20章 负载均衡组件 380
20.1 负载均衡组件的定义 380
20.2 负载均衡组件的必要性 381
20.2.1 可扩展性 381
20.2.2 有效性 382
20.2.3 灵活性 382
20.3 并行性和粒度大小 382
20.4 动态负载均衡算法 384
20.5 负载均衡组件设计 385
20.6 负载均衡组件客户机设计 385
20.7 坏消息 385
20.8 不用中央并行处理器的负载均衡组件 386
20.8.1 用SCM工作 386
20.8.2 CoCreateInstance带来的问题 388
20.8.3 创建一个包套 390
20.8.4 算法 391
20.8.5 时间方法 392
20.8.6 时间方法的算法 393
20.8.7 负载均衡的实现 395
20.8.8 其他均衡和分类技术 396
20.8.9 运行时编译执行技术活化 396
20.9 小结 397
第21章 优化Windows DNA应用程序 398
21.1 估计你的需要 398
21.2 最优化技巧 399
21.2.1 使用用户或系统DSN代替文件DNS 399
21.2.2 优化算法,特别是反复循环 399
21.2.3 避免注册表存取访问 400
21.2.4 在任何可能的时候都用运行时编译执行即时激活 401
21.2.6 面向对象的负载均衡组件实用性体系结构 402
21.2.5 修复资源漏失 402
21.2.7 选择工作语言 403
21.2.8 避免中间层状态 403
21.2.9 避免数据访问中间层 403
21.3 使用微软Windows DNA工具包 404
21.4 观察测试的结果 408
21.5 小结 408
第四部分 异步组件程序设计 409
第22章 松散耦合程序设计 409
22.1 什么是消息传递 409
22.2 消息传递的优点 410
22.2.1 用消息传递加强大型应用程序的开发 410
22.2.2 消息传递更好地利用通信资源 410
22.2.3 消息传递在不同系统中取得一致 411
22.3.2 异步执行 412
22.4 同步与异步程序设计 412
22.3.1 延长处理时间 412
22.5 可扩展性 414
22.6 面向消息的中间设备 414
22.6.3 管理工具 415
22.6.2 MOM系统软件 415
22.7 微软消息队列服务器 415
22.6.1 MOM程序接口 415
22.7.3 MSMQ和Email 416
22.7.2 MSMQ和别的API 416
22.8 小结 416
22.7.1 MSMQ连接器 416
第23章 MSMQ管理机构和体系结构 417
23.1 MSMQ对象和属性 417
23.2 消息 419
23.3 队列 420
23.3.1 队列类型 420
23.3.2 消息队列 421
23.3.3 管理队列 421
23.3.4 应答队列 421
23.3.5 日志队列 421
23.3.6 死信队列 421
23.3.7 报告队列 422
23.4 消息队列信息服务 422
23.5 本地队列存储 422
23.6 队列属性 422
23.9 标识队列 423
23.9.1 路径名 423
23.9.2 格式名称 423
23.8 事务队列 423
23.7 优先级 423
23.9.6 私有队列 425
23.9.5 类型 425
23.10 机器 425
23.9.4 标志 425
23.9.3 示例标识符 425
23.11.3 MSMQ控制器 426
23.11.2 连接的网络 426
23.12 MSMQ客户机 426
23.11.1 站点连接 426
23.11 MSMQ企业 426
23.13 MSMQ管理机构 427
23.14 小结 427
第24章 MSMQ程序设计 428
24.1 MSMQ库API 428
24.2 用MSMQ库API创建一个应用程序 429
24.2.1 格式名称 429
24.2.3 查找格式名称 430
24.2.4 用属性工作 430
24.2.2 路径名 430
24.2.5 创建队列 431
24.2.6 解散队列 431
24.2.7 打开队列 432
24.2.8 发送一条消息 432
24.2.9 接收一条消息 434
24.2.10 关闭队列 435
24.3 MSMQ ActiveX控制API 441
22.3 消息传递的弱点 441
24.4 用COM+接口创建MSMQ应用程序 442
24.4.1 定义接口和GUID 442
24.4.2 初始化COM 443
24.4.3 创建队列 443
24.4.4 变体型 444
24.4.5 BSTR 444
24.4.6 解散队列 445
24.4.7 打开队列 445
24.4.8 发送消息 445
24.4.9 接收消息 446
24.4.10 关闭队列 448
24.5.1 定义接口和GUID 454
24.5 用灵巧指针创建一个MSMQ应用程序 454
24.5.2 tli文件 457
24.5.3 ATL从属物 457
25.3.1 行政管理队列 457
24.5.4 创建队列 458
24.5.5 解散队列 458
24.5.6 打开队列 458
24.5.7 发送消息 459
24.5.8 接收消息 459
24.5.9 关闭队列 460
24.6 用VBScript创建一个MSMQ应用程序 463
24.7 小结 466
第25章 高级MSMQ程序设计 467
25.1 游标 468
25.1.1 MSMQ API游标 469
25.1.2 MSMQ ActiveX组件游标 471
25.2 查找队列 473
25.3 消息确认、应答和记录 475
25.3.2 应答队列 480
25.3.3 消息ID 480
25.3.4 记录 481
25.4 事务处理 481
25.4.1 消息事务处理 482
25.4.2 ITransaction 482
25.4.3 创建事务队列 483
25.4.4 事务处理的类型 483
25.4.5 外部事务处理 487
25.5 MSMQ Email API 494
25.6 异步操作 495
25.6.1 自动事件 496
25.6.2 系统事件对象 496
25.6.3 回调函数 500
25.6.4 完成端口 505
25.7 队列安全性 510
25.8 小结 511
第26章 松散耦合事件 512
26.1 一些基本术语 512
26.1.1 设计模式 513
26.1.2 发布人 513
26.1.3 订阅人 513
26.1.4 COM+事件服务 513
26.2 发布-订阅选项的比较 513
26.2.1 轮询 513
26.2.2 紧密耦合事件 514
26.2.3 过紧密耦合 514
26.2.4 要求并行的组件生存期 515
26.2.5 无法过滤噪声 515
26.2.6 松散耦合事件 515
26.3 COM+事件服务 516
26.4 事件服务的演示 518
26.5 高级COM+事件服务问题 523
26.5.1 订单和IEventSubscription接口 523
26.5.2 使用短期订阅单 524
26.5.3 注册短期订阅单 524
26.5.4 取消注册短期订阅单 526
26.6 事件过滤 527
26.6.1 生成过滤器串 527
26.6.2 利用程序生成过滤器串 528
26.7 小结 529
第27章 队列组件 530
27.1 队列组件概述 530
27.2 分布式计算及队列组件 531
27.2.1 确认所接收的数据 532
27.2.2 服务器请求更多的数据 532
27.2.3 确认所执行的操作 532
27.2.5 确定是否排队 533
27.2.4 需要查找数据 533
27.3 队列组件结构 534
27.3.1 生成并定义一个队列组件 534
27.3.2 客户方的队列组件 535
27.3.3 服务器方的队列组件 535
27.4 编写应用队列组件的一个演示程序 536
27.4.1 使用Visual C++和ATL编写一个队列组件 536
27.4.2 安装队列组件 539
27.4.3 定义COM+应用程序 539
27.4.4 标记需排队的COM+应用程序 541
27.4.5 向COM+应用程序中添加组件 542
27.4.6 标记COM接口为排队的 542
27.4.7 用Visual C++编写客户端应用程序 543
27.5 测试组件和客户程序 548
27.6 导出COM+应用程序 549
27.7 小结 550
光盘使用说明 551
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019