第一篇 基础篇
第1章 .NET企业服务器框架概述
1.1 Microsoft .NET是微软对未来互联网的展望
1.2 各服务器完成的具体功能
1.2.1 Microsoft Application Center 2000
1.2.2 Microsoft BizTalk Server 2000
1.2.3 Microsoft Commerce Server 2000
1.2.4 Microsoft Exchange 2000
1.2.5 Microsoft Host Integration Server 2000
1.2.6 Microsoft Internet Security & Acceleration Server 2000
1.2.7 Microsoft SQL Server 2000
1.3 各服务器之间的集成关系
1.3.1 BTC应用
1.3.2 BTB应用
第2章 BizTalk Server 2000入门
2.1 概述
2.2 BizTalk服务器特性
2.3 BizTalk服务
2.3.1 BizTalk消息服务
2.3.2 BizTalk Orchestration
2.4 BizTalk服务器应用模型
2.5 BizTalk服务器管理模型
2.5.1 服务器管理
2.5.2 应用管理
2.5.3 可编程管理
2.5.4 数据库管理
第3章 安装前的设置
3.1 创建文件夹
3.2 拷贝文件
3.3 创建本地Web站点文件夹
3.4 创建消息队列
3.5 安装附加组件
3.6 卸载附加组件 35
第4章 安装BizTalk Server 2000 37
4.1 硬件要求 37
4.2 软件要求 38
4.3 Windows 2000的先决条件 39
4.3.1 安装Microsoft Windows 2000 39
4.3.2 安装Windows 2000 Service Pack 1 39
4.4 安装SQL Sever 7.0或SQL Sever 2000 40
4.5 安装Visio 2000 SR-1A 40
4.6 BizTalk Server 2000安装指导 41
4.6.1 完全安装 42
4.6.2 无提示安装 48
第二篇 管理篇
第5章 在BizTalk Server 2000上实施商业伙伴集成系统 53
5.1 BizTalk Server基础知识 53
5.2 体系结构和工具 57
5.3 文档处理 58
5.4 BizTalk Document Editor和BizTalk Mapper 60
5.5 管理和分析工具 62
5.6 商务流程集成 63
第6章 Windows 2000和SQL Server的优化 65
6.1 Windows 2000的优化 65
6.1.1 安装消息队列 65
6.1.2 安装IIS(Internet信息服务) 68
6.1.3 为BizTalk Server 2000配置IIS设置 68
6.1.4 设置用户账号 70
6.1.5 建立服务账号 73
6.2 优化SQL Sever 7.0或SQL Sever 2000 77
6.2.1 安装SQL Sever 7.0或SQL Sever 2000 77
6.2.2 默认网络库的设置 78
6.2.3 设置SQL Server 2000鉴定模式 79
6.2.4 检验SQL Server的运行 81
6.2.5 SQL Server的优化 82
第7章 对商业过程建模 85
7.1 创建购买者活动 85
7.2 在序列中连接购买者活动 88
7.3 使用消息队列开发一个端口 89
7.4 为接受PO请求活动创建通信流 92
7.5 使用脚本组件开发一个端口 96
7.6 为脚本组件定义消息属性 99
7.7 为决策规则定义消息属性 100
7.8 定义数据流 102
7.9 保存XLANG计划图 103
7.10 编译XLANG计划 103
7.11 运行XLANG计划 103
第8章 创建Specification和Map 105
8.1 使用BizTalk编辑器 105
8.1.1 使用存在的Payment Specification 105
8.1.2 建立Payment Specification 106
8.1.3 在Payment Specification中添加新的根节点 108
8.1.4 为存在的记录添加新的子节点 109
8.1.5 为记录添加新的域 109
8.1.6 保存Payment Specification 110
8.1.7 使用已经存在的购买订购Specification 112
8.1.8 建立购买订购Specification 112
8.1.9 在购买订购Specification添加新的根节点 113
8.1.10 为存在的记录添加新的节点 113
8.1.11 为节点添加新的域 113
8.1.12 保存购买订购Specification 114
8.2 使用Mapper 114
8.2.1 使用存在的InvoiceToPayment Map 115
8.2.2 创建InvoiceToPayment Map 115
8.2.3 建立域之间的连接 117
8.2.4 使用Functoid建立连接 118
8.2.5 编译Map 119
8.2.6 把Map存储到WebDAV 119
第9章 配置BizTalk购销系统 121
9.1 配置购买者系统 121
9.1.1 使用配置脚本配置购买者系统 121
9.1.2 为购买者系统创建组织 122
9.1.3 为购买者和销售者系统建立文档定义 123
9.1.4 为购买者系统创建到Bits. Bytes和Chips的通道 125
9.1.5 从ProElecton建立通道 130
9.1.6 创建到Bits. Bytes和Chips的消息端口 135
9.1.7 从Bits. Bytes和Chips建立通道 136
9.1.8 建立文件接收函数 136
9.2 配置销售者系统 139
9.2.1 创建组织 140
9.2.2 创建到Bits. Bytes和Chips的消息端口 140
9.2.3 从ProElecton建立通道 141
9.2.4 创建到ProElecton的消息端口 141
9.2.5 从Bits. Bytes和Chips创建通道 142
第10章 完成XLANG计划 143
10.1 添加发票和支付活动 143
10.2 为接受发票绑定消息队列服务 145
10.3 定义消息队列属性 147
10.4 绑定BizTalk消息服务 149
10.5 为BizTalk消息服务定义消息属性 151
10.6 保存完成的XLANG计划表 152
10.7 编译XLANG计划 152
10.8 运行XLANG计划表 153
第11章 创建自定义组件 155
11.1 创建应用程序 155
11.2 创建Windows 脚本组件 158
11.3 创建应用集成组件(AIC) 160
第12章 服务器和应用程序的管理 165
12.1 服务器管理概述 165
12.1.1 WMI 166
12.1.2 BizTalk服务器管理环境 167
12.1.3 管理Cache 168
12.1.4 管理BizTalk服务器数据库 168
12.1.5 组和服务器 171
12.1.6 处理服务器错误 173
12.1.7 接收功能 173
12.1.8 使用队列 174
12.1.9 管理优先权 176
12.2 怎样进行服务器管理 177
12.2.1 添加. 删除和配置服务器组 177
12.2.2 管理事件查看器 183
12.3 发现并修复BizTalk Server故障管理 186
12.4 可编程管理 187
第13章 BizTalk文档跟踪服务 189
13.1 BizTalk文档跟踪服务环境 189
13.1.1 BizTalk文档跟踪的用户接口 189
13.1.2 BizTalk文档跟踪快捷键 190
13.2 使用BizTalk文档跟踪 192
13.2.1 理解服务器组的跟踪设置 192
13.2.2 理解在BizTalk消息管理器跟踪设置 193
13.3 跟踪数据库计划 193
13.3.1 元数据核心表(Metadata Core Tables) 194
13.3.2 二级表 195
13.3.3 元数据核心表的结构 196
13.3.4 相关表 197
13.3.5 记录相互交换和文档的日志 198
13.3.6 记录收据的日志 199
13.3.7 记录路由信息的日志 199
13.3.8 在跟踪数据库中跟踪XLANG计划 200
13.4 打开BizTalk文档跟踪 201
13.5 添加用户到BizTalk Server报告用户组 201
13.6 发现互交换和协作文档 203
13.6.1 使用查询 203
13.6.2 使用高级查询 204
13.7 使用查询对互交换和数据排序理解查询结果 205
13.7.1 用互交换和文档信息的数据查找 205
13.7.2 用互交换和文档信息的组织查找 206
13.7.3 清除组织和文档类型的查找标准 207
13.7.4 自定义查找结果 207
13.7.5 查看查找结果参数 208
13.8 理解查询结果 208
13.8.1 跟踪数据库的基本计划 208
13.8.2 互交换记录结果 209
13.8.3 理解实例文档记录结果 210
13.8.4 收据结果 210
13.8.5 错误传输结果 211
13.9 互交换的集成XLANG调度状态 212
13.10 保存互交换. 文档和自定义搜索数据 213
13.10.1 保存互换数据 213
13.10.2 保存实例文档数据 213
13.10.3 保存自定义搜索数据 213
第14章 BizTalk Orchestration 215
14.1 BizTalk Orchestration服务 215
14.1.1 理解商业进程 216
14.1.2 BizTalk Orchestration 设计环境 217
14.1.3 XLANG计划 220
14.2 创建XLANG计划 224
14.2.1 设计商业进程 225
14.2.2 处理突变 228
14.2.3 执行商业进程 229
14.3 编译XLANG计划 229
14.4 调试XLANG计划 230
14.5 运行XLANG计划 230
14.5.1 管理会话状态 232
14.5.2 升级XLANG计划 233
第15章 BizTalk Orchestration:事务. 异常和调试 235
15.1 概述 235
15.2 Orchestration和事务 236
15.2.1 事务概念 236
15.2.2 作为事务的商务处理图 238
15.2.3 计划内事务的类型 239
15.2.4 短期(DTC 风格)事务 241
15.2.5 长期事务 242
15.2.6 定时事务 243
15.2.7 实施端口的事务属性 245
15.2.8 什么导致了事务放弃 245
15.2.9 事务属性内发生事务超时 246
15.3 计划中的错误处理 246
15.3.1 错误起因 246
15.3.2 处理错误 246
15.3.3 事务失败情况的处理 248
15.3.4 事务补偿处理功能 249
15.4 调试计划 250
15.4.1 跟踪计划 250
15.4.2 调试计划中的组件 252
15.4.3 其他调试提示 252
15.4.4 其他常见问题 253
第16章 配置BizTalk消息服务 257
16.1 使用BizTalk消息管理器 257
16.1.1 BizTalk消息管理器环境 257
16.1.2 通道 259
16.1.3 消息端口 262
16.1.4 组织 263
16.1.5 文档定义 264
16.1.6 封装 267
16.1.7 收据 268
16.1.8 分布列表 270
16.2 访问BizTalk消息配置对象模型 271
16.2.1 BizTalk消息配置对象模型 271
16.2.2 通道 273
16.2.3 消息端口 275
16.2.4 开放性 276
16.2.5 组织 276
16.2.6 文档定义 277
16.2.7 封装 277
第17章 BizTalk消息:创建BizTalk自定义Parser和Serializer 279
17.1 概述 279
17.2 前提条件 280
17.3 启动测试 282
17.3.1 创建文档定义 282
17.3.2 创建Map 283
17.3.3 设置文档进程 284
17.4 开发BizTalk自定义Parser 285
17.4.1 Parser接口 285
17.4.2 基本代码 287
17.4.3 开发Parser接口 289
17.4.4 运行Parser 299
17.5 开发BizTalk服务器 Serializer 299
17.5.1 Serializer接口 300
17.5.2 基本代码 301
17.5.3 开发Serializer接口 302
17.5.4 测试Serializer 305
17.5.5 运行Serializer 307
17.6 部分代码 307
第18章 BizTalk Orchestration和BizTalk消息的集成 309
18.1 概述 309
18.2 BizTalk Server 2000概述 310
18.3 区分端口和消息端口 310
18.4 BizTalk Server和n层体系结构 311
18.5 使用BizTalk Orchestration服务 313
18.6 使用BizTalk Messaging服务 314
18.7 集成BizTalk Orchestration服务和BizTalk Messaging服务 315
18.7.1 对消息作出响应, 开始一个新的业务过程 315
18.7.2 将消息返给正在运行的业务过程 316
第19章 规范和映射数据 319
19.1 创建规范 319
19.1.1 规范 320
19.1.2 输入文件 323
19.1.3 BizTalk Editor环境 324
19.1.4 记录. 域和属性 325
19.1.5 Namespace支持 325
19.1.6 添加SQL注解 326
19.2 映射数据 328
19.2.1 规范映射 328
19.2.2 映射想定 328
19.2.3 创建连接 330
19.2.4 匹配节点层次结构等级 330
19.2.5 查看记录. 域. 连接和Functoid属性 332
19.2.6 Functoid 333
19.2.7 编译映射 348
19.2.8 测试映射 348
19.3 BizTalk Editor和BizTalk Mapper疑难解答 348
第20章 使用BizTalk Server 2000集成Legacy文件 355
20.1 概述 355
20.2 集成Legacy系统 356
20.3 BizTalk Editor 356
20.4 使用已有的数据源 357
20.4.1 什么是Positional和 Delimited文件 357
20.4.2 封装 357
20.4.3 Parser和Serializer 358
20.4.4 接收功能 359
20.4.5 应用集成组件(AIC) 359
20.5 Scenario概述 359
20.6 内部应用集成 360
20.6.1 应用集成概述 361
20.6.2 ERP系统集成 361
20.6.3 重要概念 363
20.6.4 测试规范 363
20.6.5 更新BizTalk Server 364
20.6.6 系统处理概述 364
20.6.7 测试想定 365
20.7 采用EDI和Flat文件集成客户 365
20.7.1 集成EDI 365
20.7.2 更新BizTalk服务器 366
20.7.3 测试想定 366
20.7.4 系统处理概要 367
20.7.5 Flat文件集成 367
20.7.6 更新BizTalk服务器 369
20.7.7 系统处理概述 369
20.7.8 测试想定 369
20.8 集成Flat文件的提供商 370
20.8.1 升级BizTalk服务器 370
20.8.2 系统处理概述 371
20.8.3 测试方案 371
20.8.4 一般的问题 372
第21章 使用BizTalk Server 2000 EDI 373
21.1 概述 373
21.2 EDI概述 374
21.3 使用Microsoft BizTalk Server 2000增强EDI环境 374
21.3.1 企业应用集成 375
21.3.2 小型贸易合作的新关系 376
21.3.3 未来增长 377
21.4 在小公司使用Microsoft BizTalk Server 377
21.5 传输和转换文档 378
21.5.1 BizTalk Editor 379
21.5.2 BizTalk Mapper 380
21.6 Microsoft BizTalk Server与EDI技术比较 381
21.6.1 EDI的优势和限制 381
21.6.2 BizTalk Server优势和对EDI支持的限制 381
第22章 Microsoft BizTalk Server的WMI 383
22.1 概述 383
22.2 理解Microsoft BizTalk Server的WMI 384
22.3 BizTalk Server命名空间 385
22.4 BizTalk Server提供商和注册 386
22.5 在BizTalk Server中使用WMI 387
22.6 声明变量 387
22.7 连接到BizTalk Server 命名空间 387
22.8 创建事件对象 388
22.9 监视事件 388
22.10 处理错误 389
22.11 BizTalk Server WMI参考 390
22.11.1 DocSuspendedEvent 390
22.11.2 InterchangeProvError 391
22.11.3 MicrosoftBizTalkServer_GroupReceiveFunction 391
22.12 解决方案 392
22.12.1 操作文档 393
22.12.2 操作组 394
22.12.3 操作管理数据库 396
22.12.4 处理接收服务 398
22.12.5 控制服务器 400
22.12.6 处理队列 403
第23章 集成BizTalk服务 405
23.1 使用HTTP传输 405
23.1.1 将源系统配置为通过HTTP发送消息 406
23.1.2 将源系统配置为通过HTTP与返回消息相关联 408
23.1.3 借助HTTP配置目标系统 409
23.2 使用非HTTP传输 409
23.2.1 将源系统配置为通过非HTTP传输来发送消息 410
23.2.2 将源系统配置为通过非HTTP传输来关联返回消息 411
23.2.3 借助非 HTTP 传输配置目标系统 413
第24章 安全管理 415
24.1 BizTalk Server 2000启动和配置 416
24.1.1 登录属性 416
24.1.2 本地属性 416
24.1.3 使用服务账户 417
24.1.4 递交工作项目 417
24.2 传输服务 425
24.2.1 HTTP和HTTPS 425
24.2.2 SMTP 426
24.2.3 消息队列 427
24.2.4 文件 427
24.3 应用安全性 428
24.3.1 保护COM+应用最好的实例 429
24.3.2 保护Orchestration 数据库 430
24.3.3 确认发送者的身份 430
24.4 认证服务 431
24.4.1 什么是认证 431
24.4.2 BizTalk Server需要的证书 431
24.4.3 认证名的限制 434
24.5 Crypto API 434
24.6 合作数据对象 434
第25章 增强性能和规模 435
25.1 扩大BizTalk Server规模 435
25.1.1 垂直扩大BizTalk Server规模 435
25.1.2 水平扩大BizTalk Server规模 441
25.2 性能优化 446
25.2.1 推荐的一般性能 446
25.2.2 体系结构的设计. 复查和测试 448
25.2.3 维护性能 452
第26章 Commerce Server和BizTalk Server的整合 453
26.1 Commerce Server概述 453
26.1.1 Commerce Server组件及开发平台 454
26.1.2 Commerce Server管理工具 455
26.1.3 Commerce Server体系结构 456
26.1.4 Commerce Server和BizTalk Server 460
26.2 配置Commerce Server 463
26.3 启动源服务器 463
26.3.1 为交易类配置源服务器 463
26.3.2 为交易购买订单配置源服务器 464
26.3.3 为源服务器导入所需要的文件 464
26.3.4 创建源和目的组织 464
26.3.5 在源服务器上创建文档定义 465
26.3.6 在源服务器上创建信封 466
26.3.7 在源服务器上创建消息端口 466
26.3.8 在源服务器上创建通道 467
26.4 启动目的服务器 467
26.4.1 配置目的服务器 467
26.4.2 为目的服务器拷贝所需的文件 467
26.4.3 在目的服务器创建源组织 468
26.4.4 在目的服务器创建文档定义 469
26.4.5 在目的服务器创建消息端口 469
26.4.6 在目的服务器创建通道 470
26.5 启动Catalog 470
第三篇 开发篇
第27章 提交文档 475
27.1 概述 475
27.1.1 递交 475
27.1.2 访问悬浮队列 476
27.1.3 路由 477
27.1.4 在接收功能中预处理文档 478
27.1.5 使用COM接口递交文档的步骤 478
27.2 递交文档参数 478
27.2.1 IBizTalkTrackData接口 479
27.2.2 IBTSCustomProcess接口 480
27.2.3 IBTSCustomProcessContext接口 482
27.2.4 IInterchange接口(C++) 485
27.3 阅读跟踪数据库 488
27.4 从远程客户提交文档 489
第28章 创建自定义组件 493
28.1 创建应用集成组件 493
28.1.1 管道集成组件 493
28.1.2 轻量级应用集成组件 494
28.1.3 注册集成组件 494
28.2 创建自定义组件 494
28.2.1 创建管道组件 494
28.2.2 使用SAP R/3 AIC 496
28.3 使用IBizTalkParserComponent接口 497
28.4 使用IBizTalkSerializerComponent接口 498
28.5 创建收据相关器组件 499
28.6 创建自定义组件的参数 500
28.6.1 IBizTalkAcknowledge接口(C++) 500
28.6.2 IBizTalkCorrelation接口 503
28.6.3 Ifunctoid接口(C++) 503
28.6.4 IBTSAppIntegration接口(C++) 506
28.6.5 IpipelineComponent接口(C++) 507
28.6.6 IpipelineComponentAdmin接口 509
28.6.7 IschemaImporterError接口(C++) 510
28.6.8 IschemaImporterErrorProvider接口(C++) 511
第29章 使用 BizTalk Orchestration 建立反向拍卖过程 513
29.1 简介 513
29.2 商务过程编制 514
29.2.1 为分析人员提供的过程可视化建模功能 514
29.2.2 为开发人员提供的实现绑定功能 515
29.2.3 过程执行和管理 517
29.3 实施反向拍卖 519
29.3.1 反向拍卖商务过程 520
29.3.2 反向拍卖的实现 521
29.3.3 定义 XML 规范 522
29.3.4 实现和绑定 Visual BASIC 组件 522
29.3.5 创建和绑定 MSMQ 队列 523
29.3.6 绑定循环计数器 524
29.3.7 配置数据流 524
29.3.8 运行反向拍卖 525
29.4 BizTalk Orchestration 的高级功能 527
第30章 关于BizTalk Server 2000的常见问题解答 529
附录A 使用BizTalk消息配置对象模型 537
A.1 IBizTalkBase接口 537
A.1.1 IBizTalkBase::Clear方法(C++) 538
A.1.2 IBizTalkBase::Create方法(C++) 538
A.1.3 IBizTalkBase::DateModified方法(C++) 539
A.1.4 IBizTalkBase::Handle属性(C++) 539
A.1.5 IBizTalkBase::Load方法(C++) 539
A.1.6 IBizTalkBase::LoadByName方法(C++) 539
A.1.7 IBizTalkBase::Name属性(C++) 540
A.1.8 IBizTalkBase::Remove方法(C++) 540
A.1.9 IBizTalkBase::Save方法(C++) 541
A.2 IBizTalkCertificateInfo接口(C++) 541
A.2.1 IBizTalkCertificateInfo::Name属性(C++) 542
A.2.2 IBizTalkCertificateInfo::Reference属性(C++) 542
A.2.3 IBizTalkCertificateInfo::Store属性(C++) 542
A.2.4 IBizTalkCertificateInfo::Usage属性(C++) 543
A.3 IBizTalkServiceWindowInfo接口 543
A.3.1 IBizTalkServiceWindowInfo::FromTime属性(C++) 544
A.3.2 IBizTalkServiceWindowInfo::IsEnabled属性(C++) 544
A.3.3 IBizTalkServiceWindowInfo::ToTime属性(C++) 545
A.4 IBizTalkTransportInfo接口(C++) 545
A.4.1 IBizTalkTransportInfo::Address属性(C++) 546
A.4.2 IBizTalkTransportInfo::Parameter属性(C++) 547
A.4.3 IBizTalkTransportInfo::Type属性(C++) 547
附录B 管理XLANG计划 549
B.1 IWFGroupAdmin接口(C++) 550
B.1.1 IWFGroupAdmin::Count属性(C++) 551
B.1.2 IWFGroupAdmin::FullyQualifiedName属性(C++) 551
B.1.3 IWFGroupAdmin::InstanceIsResident属性(C++) 552
B.1.4 IWFGroupAdmin::InstanceIsSuspended属性(C++) 552
B.1.5 IWFGroupAdmin::Name属性(C++) 553
B.1.6 IWFGroupAdmin::ResumeInstance方法(C++) 553
B.1.7 IWFGroupAdmin::Shutdown方法(C++) 553
B.1.8 IWFGroupAdmin::Startup方法(C++) 553
B.1.9 IWFGroupAdmin::SuspendInstance方法(C++) 554
B.1.10 IWFGroupAdmin::TerminateInstance方法(C++) 554
B.1.11 IWFGroupAdmin::UseFileDSN属性(C++) 554
B.2 IWFProxy接口 555
B.2.1 IWFProxy::FullyQualifiedName属性(C++) 555
B.2.2 IWFProxy::WorkflowInstance属性(C++) 556
B.3 IWFSystemAdmin接口(C++) 556
B.3.1 IWFSystemAdmin::Count属性(C++) 557
B.3.2 IWFSystemAdmin::FullyQualifiedName属性(C++) 557
B.3.3 IWFSystemAdmin::IsWorkflowHost属性(C++) 557
B.3.4 IWFSystemAdmin::Item属性(C++) 558
B.3.5 IWFSystemAdmin::ShutdownAll方法(C++) 558
B.3.6 IWFSystemAdmin::ShutdownApp方法(C++) 559
B.3.7 IWFSystemAdmin::StartUp方法(C++) 559
B.3.8 IWFSystemAdmin::TestAdminStatus方法(C++) 559
B.3.9 IWFSystemAdmin::UseFileDSN属性(C++) 560
B.4 IWFWorkflowInstance接口 560
B.4.1 IWFWorkflowInstance::CompletionStatus属性(C++) 562
B.4.2 IWFWorkflowInstance::FullPortName属性(C++) 562
B.4.3 IWFWorkflowInstance::FullyQualifiedName属性(C++) 562
B.4.4 IWFWorkflowInstance::InstanceId属性(C++) 563
B.4.5 IWFWorkflowInstance::IsCompleted属性(C++) 563
B.4.6 IWFWorkflowInstance::ModuleId属性(C++) 563
B.4.7 IWFWorkflowInstance::ModuleName属性(C++) 564
B.4.8 IWFWorkflowInstance::ParentInstanceID属性(C++) 564
B.4.9 IWFWorkflowInstance::Port属性(C++) 564
B.4.10 IWFWorkflowInstance::WaitForCompletion方法(C++) 565
B.5 BizTalk消息服务代码例程 565