第1章 Oracle9i应用服务器概述 1
1.1 为什么使用Oracle9i应用服务器 1
1.2 层次模型 3
1.2.1 双层计算模型 3
1.2.2 三层计算模型 3
1.3 Oracle9iAS的体系结构 4
1.3.1 HTTP Listener层 5
1.3.3 应用层 6
1.3.2 Oracle9iAS层 6
1.4 使用Oracle9iAS 7
1.4.1 创建应用 7
1.4.2 开发应用 8
1.4.3 配置应用 9
1.4.4 为应用跟踪文档 9
1.5 Oracle9iAS新特性 11
1.5.1 Internet应用 11
1.5.4 无线 12
1.5.2 Java支持 12
1.5.3 门户 12
1.5.5 高速缓存 13
1.5.6 商务智能 13
1.5.7 集成 14
1.5.8 管理 14
第2章 oracLe9i应用服务器管理概述 17
2.1 Oracle9iAS管理概述 17
2.2 一些基本概念和基本操作 18
2.2.1 简介 18
2.2.2 Oracle9iAS框架 19
2.2.3 客户数据库 21
2.2.4 示例应用服务器企业版 22
2.2.5 设计应用服务器 24
2.2.6 安装应用服务器 25
2.2.8 管理应用服务器的实体 36
2.2.7 安装后的任务 36
2.2.9 重新配置应用服务器 37
2.3 管理工具 37
2.3.1 Oracle企业管理器Web站点 38
2.3.2 Oracle企业管理器控制台 39
2.4 配置Oracle9iAS 39
2.4.1 配置Oracle数据库缓存 39
2.4.2 配置Oracle Internet文件系统 41
2.4.3 配置Oracle Portal 47
2.4.4 配置Oracle管理服务器 50
2.4.5 配置Oracle数据库 54
2.4.6 配置HTTP服务器、OC4J和Web Cache 55
第3章 启动和停止应用服务器 59
3.1 启动、停止和重新启动应用服务器实例 59
3.2 启动、停止和重新启动组件 60
3.3 启动和停止启动框架 61
3.4 启动和停止应用服务器企业版 62
第4章 管理站点和程序 63
4.1 Oracle Application ServerManager窗口 63
4.2 OAS Manager侦听器 64
4.2.1 节点管理侦听器 64
4.2.2 管理效用侦听器 65
4.3 访问站点管理器 65
4.4 配置用户的网络站点上的节点 66
4.5 管理Oracle APPlicationServer WRB程序 68
4.6 监控Oracle应用服务器程序 69
第5章 管理和配置 71
HTTP Listeners 71
5.1 管理HTTP Listeners 71
5.1.1 添加新的Listener 72
5.1.2 启动Listener 74
5.2 配置HTTP Listener 74
5.2.1 配置网络参数 74
5.2.2 配置服务器参数 76
5.2.3 配置用户和组参数 77
5.2.4 配置目录映射 78
5.2.5 配置语言扩展 79
5.2.6 配置MIME类型 79
5.2.7 配置编码扩展 80
5.2.8 SSL CA Roots 80
5.2.9 安全 81
5.3 管理多重地址和端口 82
5.3.1 双重端口号码和IP地址 82
5.3.2 管理多端口 Listeners 82
5.4 使用第三方的Listeners 83
第6章 安全管理 85
6.1 安全概述 85
6.2 配置Oracle9iAS单签名 90
6.2.1 配置Oracle9iAS单签名的安全特征 90
6.2.2 启动SSL的单签名服务器 90
6.2.3 配置Oracle9iAS数字证书单签名 91
6.2.4 启动timeout 93
6.2.5 启动IP检查 94
6.2.6 管理密码方针 95
第7章 注册第三方HTTP服务器 97
7.1 注册网景服务器 97
7.1.1 用OAS功能页手动注册网景服务器 97
7.1.2 启动、终止和设置网景服务器 98
7.1.3 注册过程中发生的变化 98
7.2.1 启动Microsoft Internet Information Server(IIS) 99
7.2 注册Microsoft Internet Information Server 99
7.2.2 认证 102
7.3 建立和注册Apache Servers 103
7.3.1 建立Apache Server 103
7.3.2 使用OAS工具注册Apache Server 104
7.3.3 启动、关闭和配置Apache Server 105
7.3.4 用Apache Server运行EJB Cartridge 105
8.1 部署J2EE应用 107
第8章 部署应用 107
8.2 从部署错误中恢复 111
8.3 清除部署的J2EE应用 112
第9章 管理EJB、ECO/Java和CORBA 113
9.1 概述 113
9.1.1 基于Cartridge的应用程序 113
9.1.2 ECO/Java和EJB应用程序 114
9.2 应用软件配置标识 115
9.3 添加和设置应用软件 116
9.3.1 添加应用程序 116
9.3.2 配置应用程序 119
9.3.3 窗体配置 119
9.4 管理应用程序 124
10.1.1 Cartridge名称 129
10.1.2 Cartridge的目录结构 129
10.1 应用程序与Cartridge包 129
第10章 Cartridge管理 129
10.1.3 注册文件 131
10.1.4 管理实体 131
10.2 编写注册文件 131
10.2.1 注册文件概述 131
10.2.2 注册文件结构 132
10.2.4 注册文件实例 133
10.2.3 导航树设置 133
10.3 编写Cartridge管理实体 134
10.3.1 管理实体完成的功能 134
10.3.2 复制Cartridge管理HTML表单 135
10.3.3 管理实体实例 135
10.3.4 创建一个配置实体 141
10.4 配置路标 142
10.5 添加Cartridge 142
10.5.1 在添加应用程序的时候添加Cartridge 142
10.5.2 添加一个C-Web Cartridge 143
10.5.3 添加JServlet或JSP Cartridge 144
10.5.4 添加JWeb Cartridge 145
10.5.5 添加LiveHTML Cartridge 146
10.5.6 添加Perl Cartridge 146
10.5.7 添加PL/SQL Cartridge 147
10.6 配置Cartridge 148
10.6.1 显示Cartridge配置窗体 148
10.6.2 配置调整参数 148
10.6.3 配置虚拟路径 149
10.6.4 配置C Cartridge参数 150
10.6.5 配置JWeb Cartridge参数 151
10.6.6 配置LiveHTML Cartridge参数 152
10.6.7 配置Perl Cartridge参数 152
10.6.8 配置PL/SQL Cartridge参数 152
10.7 配置ECO/Java和EJB组件 153
10.8.2 stateless模态 154
10.8.1 stateful模式 154
10.8 高级配置主题 154
第11章 日志处理 155
11.1 设置日志特征 155
11.1.1 访问日志窗体 155
11.1.2 一般的日志设置 156
11.1.3 设置系统日志 156
11.1.4 日志特征设置 157
11.1.5 设置Cartridge细节参数 158
11.1.6 设置XLF Logging 159
11.2 安装工具 161
11.2.1 安装前的工作 161
11.2.2 任务一:安装Logger Tables 161
11.2.4 任务三:安装Log Analyzer 163
11.2.5 任务四:安装数据库浏览器 163
11.2.6 任务五:授予DAD用户权利 164
11.3 使用Log Analyzer 164
11.3.1 上传日志文件到数据库 165
11.3.2 查看日志 166
11.3.3 运行Log Reports 167
11.3.4 修改当前的用户报告 171
11.3.5 运行当前用户报告 172
11.4 疑难问题解答 173
第12章 事务处理 175
12.1 事务概述 175
12.1.1 什么是事务 175
12.1.2 什么时候使用事务服务 176
12.1.3 事务的种类 176
12.2 事务包含的组件 177
12.3 管理用户的OTS环境 178
12.3.1 启动OTS实体 178
12.3.2 停止OTS实体 178
12.3.3 删除和浏览事务实体 178
13.1 灾难恢复组件 181
第13章 Oracle9i应用服务器的灾难恢复 181
13.2 故障恢复体系结构 182
13.3 故障协议 183
13.4 ORB 183
13.5 配置ORB常用参数 184
第14章 Oracle9i应用服务器性能优化与调试 187
14.1 概述 187
14.1.1 什么是性能调试 187
14.1.2 相关设置与评估方法 190
14.1.3 负载平衡 191
14.2 设计高性能的应用程序 191
14.2.1 基于Java的应用 191
14.2.2 PL/SQL应用 210
14.3 规模与配置 211
第15章 Oracle9i应用服务器应用开发概述 213
15.1 Oracle9iAS应用环境 213
15.1.1 Oracle9iAS中的应用开发和部署 213
15.1.2 Oracle9iAS的J2EE容器 215
15.1.3 Oracle9iXML开发工具包 219
15.1.4 Oracle9iAS Forms Services 219
15.1.5 Oracle9iHTTP服务器 220
15.2 Oracle9iAS无线开发和部署概述 222
15.3 Oracle9iAS Web Cache概述 224
15.4 Oracle9iAS应用开发示例 225
15.4.1 应用设计 227
15.4.2 实现商业逻辑 229
15.4.3 创建呈现页 243
15.4.4 客户和商业逻辑对象之间的交换 245
15.5 Oracle9iAS集成概述 254
第16章 Oracle9i Internet文件系统开发 255
16.1 Oracle9i Internet文件系统概述 255
16.2 Oracle9iFS构件 256
16.3.1 Oracle9iFS管理器 258
16.3 管理工具 258
16.3.2 Oracle9iFS企业管理器控制台 266
16.3.3 Oracle9iFS配置向导 267
16.3.4 Web接口 267
16.3.5 命令行工具 267
16.3.6 XML配置文件 268
16.3.7 导入/导出工具 268
16.4 面向对象的文件系统 269
16.3.8 仪表盘 269
16.5 API概述 270
16.5.1 Oracle iFS Java API概述 270
16.5.2 LibraryObject类 271
16.5.3 oracle.ifs.beans类层次 271
16.5.4 PublicObject类 273
16.5.5 Document和Folde类 274
16.5.6 Security类 275
16.5.7 Session类 276
16.5.9 Server类 277
16.5.8 Tie类 277
16.6 使用文档 278
16.6.1 文档如何存储在知识库中 278
16.6.2 连接到知识库 278
16.6.3 创建新的文档 279
16.6.4 将文档放于文件夹 279
16.6.5 使用属性 280
16.6.6 搜索文档 281
16.7.1 创建自定义类概述 282
16.6.7 示例代码:Hello World 282
16.7 创建自定义类 282
16.7.2 创建Type定义文件 283
16.7.3 使用Compound属性 284
16.7.4 装载自定义Type定义 286
16.7.5 创建实例类Bean 286
16.7.6 创建文档实例 288
16.8.3 使用ClassSelectionParser 289
16.8.2 使用标准编译器 289
16.8 使用编译器 289
16.8.1 编译器概述 289
16.8.4 XML编译 291
16.8.5 使用自定义编译器 291
16.8.6 编写编译器应用 291
16.8.7 自定义编译器概述 292
16.8.8 代码示例:定义编译器 292
16.9 使用呈递器 296
16.9.1 什么是呈递器 296
16.9.2 使用标准呈递器 297
16.9.3 呈递器应用概述 298
16.10 使用JSP 305
16.10.1 使用JSP显示文档 305
16.10.2 使用JSP实现应用 305
16.10.3 运行示例保险表单应用 305
16.11.1 什么是代理 316
16.11 使用代理 316
16.11.2 代理如何工作 317
16.11.3 事件代理的类和方法 317
16.11.4 编写事件代理 318
16.11.5 使用ServerManager注册代理 318
16.11.6 事件代理示例 319
第17章 XML开发 325
17.1 XML概述 325
17.1.1 对象持久化所面临的问题 325
17.1.2 用XML格式存储数据对象 326
17.1.3 串行化解决方案 326
17.2 Oracle9iXML的支持 327
17.2.1 Oracle9i Native XML数据库特性 327
17.2.2 XMLType数据类型 327
17.2.3 索引XMLType列 336
17.2.4 使用Java访问XMLType 337
17.2.5 DBMS_XMLGEN 342
17.2.6 SYS_XMLGEN 354
17.2.7 SYS_XMLAGG 357
17.2.8 TABLE函数 361
17.3 Oracle XML应用建模 363
17.3.1 XML数据存储 363
17.3.2 生成XML 363
17.3.3 合成XML 363
17.3.4 使用混合XML存储方法 363
17.3.5 转换生成的XML 364
17.3.6 设计数据交互应用时应考虑的问题 365
17.3.7 在应用之间发送XML文档 366
17.3.8 装载XML到数据库中 366
17.3.9 内容和文档管理 368
17.4 发布XSQL页 370
17.4.1 XSQL页发布框架概述 370
17.4.2 XSQL页基本特性 372
17.4.3 设置和使用XSQL 376
17.4.4 ALL XSQL页功能概述 377
17.4.5 XSQL Servlet示例 386
17.4.6 XSQL页高级主题 400
第18章 OracJe9iAS Web Cache 407
18.1 Web Cache概述 407
18.1.1 Caching的问题 409
18.1.2 关于Web站点性能问题的解决方案 409
18.1.3 Web Cache工作流程 410
18.1.4 Oracle Web Cache新特征 411
18.2 Oracle Web Cache内容 415
18.2.1 组装Oracle Web Cache 415
18.2.2 请求和相应头域 415
18.2.3 Cache更新和性能保证 416
18.2.4 动态产生的缓存内容 417
18.2.5 内容集结和部分网页缓存 422
18.3 使用Oracle Web Cache 425
18.3.1 缓存应用Web服务器的内容 426
18.3.2 缓存HTTPS请求的内容 427
18.3.3 在应用Web服务器之间的装载平衡 429
18.3.4 Web站点的加速部分 430
18.3.5 在FailOver对中使用Oracle Web Cache服务器 431
18.3.6 防火墙协同 432
18.3.7 在分布式网络中开发Oracle Web Cache服务器 434
18.3.8 Oracle Web Cache管理器 435
第19章 Oracle Forms Service 439
19.1 Oracle Forms简介 439
19.1.1 Oracle Forms Developer 439
19.1.2 Oracle Forms Services 440
19.1.3 应用软件框架 440
19.2 使用Oracle Forms Developer构建丰富的Java应用程序 440
19.2.1 利用Oracle Forms Developer实现RAD开发 440
19.2.2 创建丰富的、可扩展的用户界面 441
19.2.4 与Oracle Designer集成 442
19.2.3 与Oracle9i紧密集成 442
19.2.5 扩展Oracle应用软件 443
19.3 利用Oracle Forms Services发布可扩展的互联网应用软件 443
19.3.1 优化的、通用的Java客户端 443
19.3.2 在任何网络上的高性能 444
19.3.3 无线可伸缩性 445
19.3.4 开放式访问互联网标准——利用Java与XML 445
19.4 保护用户的资源 446
19.5 配置Forms服务器 446
19.5.1 配置用户的Web服务器 446
19.5.2 自定义环境变量 447
19.5.3 Forms服务器启动参数描述 447
19.5.4 自定义配置文件 448
19.5.5 启动HTTPS连接模型 452
第20章 CORBA应用开发 455
20.1 CORBA概述 455
20.1.1 什么是CORBA 456
20.1.2 基于分布式对象计算的CORBA 458
20.1.3 CORBA的结构 459
20.2 创建CORBA应用程序 462
20.2.1 创建第一个CORBA应用程序 462
20.2.2 接口定义语言(Interface Definition Language,IDL) 471
20.2.3 激活ORBs和服务器对象 477
20.2.4 调试技术 477
20.3 配置IIOP应用程序 479
20.3.1 概述 479
20.3.2 Oracle9i默认配置的数据库模板 480
20.3.3 高级配置 481
20.4 CORBA高级编程 509
20.4.1 使用SQLJ 509
20.4.2 执行CORBA回调 510
20.4.3 使用IFR检索接口 512
20.4.5 从Applets中调用CORBA对象 515
20.4.4 使用CORBA层机制 515
20.5 CORBA开发实例 518
20.5.1 TTC 518
20,5.2 init方法 522
20.5.3 Java小程序 523
第21章 LiveHTML和Perl应用开发实例 535
21.1 LiveHTML Cartridge概述 535
21.1.3 Web应用对象 536
21.1.4 IDL-to-Perl编译器 536
21.1.2 嵌入的脚本 536
21.1.1 Server-Side Includes(SSI) 536
21.1.5 进程流 537
21.2 添加和调用应用 537
21.2.1 添加LiveHTML应用 537
21.2.2 把Cartridge添加到存在的应用中 539
21.2.3 配置LiveHTML应用 540
21.3.1 SSI命令 541
21.3 使用Server-Side Includes 541
21.3.2 SSI实例 543
21.4 编写脚本 544
21.4.1 脚本的扩展名 545
21.4.2 启动脚本特征 545
21.4.3 嵌入脚本 545
21.4.4 在脚本中使用CORBA对象 547
21.4.5 脚本实例 548
21.5 使用Web应用对象开发 549
21.5.1 Web应用对象概述 549
21.5.2 使用Web应用对象编写脚本 550
21.6 Perl Cartridge概述 557
21.6.1 Perl Cartridge如何提高性能 557
21.6.2 使用$ORAWEB_HOME/../cartx/common/perl安装用户主要的Perl 557
21.6.3 Perl标准版的变更 558
21.7 创建Perl应用 558
21.7.2 创建Perl应用和相关的组件 559
21.7.1 编写Perl脚本 559
21.7.3 重载 560
21.7.4 创建一个HTML网页调用Perl脚本 560
21.8 添加和调用Perl应用 561
21.8.1 添加Perl应用 561
21.8.2 添加Cartridge到存在的应用中 562
21.8.3 配置Perl应用 563
21.8.4 Cartridge实例处理的请求数 564
21.8.5 配置Cartridge 564
21.8.6 调用Perl Cartridge 565
21.9 编写Perl脚本 565
21.9.1 自定义cgi-lib.pl库 565
21.9.2 变量的范围 566
21.9.3 命名冲突 567
21.9.6 预装载模型——持续数据库连接 568
21.9.5 DBI和DBD:Oracle模型 568
21.9.4 系统资源 568
21.9.7 测试Perl脚本 570
21.9.8 Perl模型 570
21.9.9 开发Perl的扩展模型 572
21.10 疑难解答 573
第22章 Oracle9iAS Servlet开发 575
22.1 Servlet概述 575
22.1.1 Servlet概述 575
22.1.2 JServlet的优点 576
22.1.3 Servlet和Servlet容器 577
22.1.4 请求对象、响应对象和过滤器 577
22.1.5 一个Servlet实例 578
22.2 Servlet开发 579
22.2.1 调用Servlet 580
22.2.2 Servlet装载和初始化 581
22.2.3 Servlet会话 582
22.2.4 在Servlet中使用JDBC 584
22.2.5 EJB调用 587
22.3 开发和配置 594
22.3.1 应用程序集结 595
22.3.2 应用程序的开发 596
22.4 Servlet过滤器 598
第23章 Oracle9i EJB 607
23.1 企业JavaBean 607
23.2 Oracle9i EJB 608
23.2.1 激活EJB 608
23.2.2 创建EJB 609
23.2.3 实现Bean 611
23.2.4 开发客户应用 613
23.2.5 部署EJB 614
23.3 CMP实体Bean 618
23.4 BMP实体Bean 623
23.4.1 实现ejbCreate方法 624
23.4.2 实现ejbFindByPrimaryKey方法 626
23.4.3 实现finder其他方法 626
23.4.4 实现ejbStore方法 627
23.4.5 实现ejbLoad方法 627
23.4.6 实现ejbPassivate方法 628
23.4.7 实现ejbActivate方法 628
23.4.8 实现ejbRemove方法 628
23.5 消息驱动Bean 629
23.6 EJB应用 632
23.6.1 基本示例 632
23.6.2 SQLJ示例 638
第24章 Oracle9i无线开发 643
24.1 无线开发概述 643
24.1.1 Oracle的全面无线解决方案 643
24.1.2 无线电子商务应用程序套件 645
24.1.3 Oracle9iAS Wireless体系结构 646
24.2.1 创建适配器 647
24.2 Oracle9i无线开发 647
24.2.2 创建转换器 648
24.2.3 重绑无线版本个性化端口 648
24.2.4 Runtime API 648
24.2.5 数据模型API 649
24.2.6 位置API 649
24.2.7 无线版本的XML 649
24.3 创建适配器 649
24.3.1 什么是无线适配器 650
24.3.2 创建适配器 650
24.3.3 管理Arguments 653
24.3.4 把适配器导入到Repository中 655
24.3.5 创建适配器实例 656
24.4 创建和管理转换器 659
24.4.1 转换器概述 659
24.4.2 创建转换器 660
24.4.3 使用Service Designer管理转换器 665
24.4.4 测试转换器 669
24.4.5 使用转换器测试工具 669
24.5 重新绑定个性化端口 671
24.5.1 个性化端口概述 671
24.5.2 命名协定的网页 671
24.5.3 JavaServer Pages结构 672
24.5.4 自定义层次 673
24.6 使用个性化端口API 675
24.6.1 个性化端口API概述 675
24.6.2 个性化端口API类 675
24.6.3 会话流 676
24.7 使用Runtime API 678
24.7.1 Runtime API概述 678
24.7.2 Runtime核心 679
24.7.3 事件和Listener 681
24.7.5 Runtime API实例 682
24.7.4 Hooks 682
24.8 使用数据模型API 684
24.8.1 数据模型API概述 684
24.8.2 类的层次 685
24.8.3 使用数据模型API的适配器 686
24.9 使用位置API 687
24.9.1 位置API概述 687
24.9.2 管理位置应用程序APIs 687
24.10 无线版本中的XML 690
24.10.1 为什么要使用XML 690
24.10.2 Oracle XML Parser 691
24.10.3 无线版本XML格式 691
24.10.4 Adapter Result Format 692
24.10.5 Simple Result格式 693
第25章 构建在线B2B应用实例 695
25.1 在线B2B应用实例概述 695
25.1.2 主要组件 696
25.1.1 为什么使用AQ 696
25.1.3 运行在线B2B应用程序的任务 697
25.2 建立数据库模式 699
25.2.1 创建与建立零售商和供应商模式 700
25.2.2 创建AQ环境和队列表 705
25.2.3 创建包含XSL Stylesheet表的Broker模式 706
25.2.4 清除用户环境和重新运行应用程序 709
25.3.1 Retailer-Supplier事务 712
25.3 数据交换流 712
25.4 运行XML应用程序的详细步骤 714
25.4.1 步骤1 714
25.4.2 步骤2 722
25.4.3 步骤3 723
25.4.4 步骤4 740
25.4.5 步骤5 742
25.4.6 步骤6 743
25.4.7 步骤7 745
25.4.8 步骤8 746