第1部分 基础篇及学习目标
第1章 IBM WAS编程简介
1.1 WAS简介
1.2 IBM的WebSphere Application Server产品
1.2.1 WebSphere Application Server4.0版
1.2.2 WebSphere Application Server5.0版
1.3 本书内容简介
1.3.1 第1部分
1.3.2 第II部分
1.3.3 第III部分
1.3.4 第IV部分
1.3.5 第V部分
1.3.6 附录
1.4 WAS 5.0版的特别注意事项
1.5 实用程序脚本
1.6 Unicode字符.本地化和国际化
1.7 UNIX命令.shell.Perl和Lynx
1.7.1 在UNIX平台上编写WAS程序
1.7.2 使用Lynx
1.7.3 企业WAS编程中的Perl脚本
1.8 本书使用的应用程序
第2章 安装WAS储存库
2.1 安装数据库的基本原理
2.1.1 用作管理储存库的数据库
2.1.2 用作数据源的数据库
2.2 WAS和UDB的兼容性
2.3 UDB的二进制分布和基本安装
2.4 安装UDB组件
2.5 在AIX平台上安装UDB
2.6 通用UDB JDBC驱动程序类型分类
2.6.1 JDBC类型2:app驱动程序
2.6.2 JDBC类型3:net驱动程序
2.7 小结
第3章 设置开发环境的先决条件
3.1 HTTP月艮务器
3.1.1 安装HTTP服务器
3.1.2 启动/停止HTTP服务器
3.1.3 HTTP服务器日志文件
3.2 Java机
3.2.1 安装Java机
3.2.2 设置Java计算系统环境
3.3 Windows NT用户环境
3.3.1 Windows NT批处理命令刷新
3.3.2 设置Windows NT的用户环境
3.3.3 Windows NT的Shell解释程序
3.4 使用Java机
3.4.1 Hello World
3.4.2 使用Java程序包:简单观察
3.4.3 HelloURL示例
3.4.4 Hello World的CGI版本:Hello World.cgi
3.5 利用JDBC驱动器测试远程数据库连接
3.6 小结
第4章 在Linux.Windows NT和AIX平台上安装WAS
4.1 本书使用的约定
4.1.1 主目录约定
4.1.2 WAS进程约定
4.1.3 WebSphere域约定
4.2 产品相关性
4.3 要求
4.3.1 硬件要求
4.3.2 操作系统级要求
4.3.3 GUI接口相关性
4.3.4 数据库要求
4.4 预安装验证
4.4.1 成功的数据库连接
4.4.2 在WAS安装中加入HTTP Web服务器插件
4.4.3 Java机可用性
4.5 安装带有UDB配置储存库的WAS
4.6 取消prereq_checker
4.7 安装WAS AEs 4.0版
4.8 启动WAS和第一次安装
4.9 配置公共资源
4.10 设置JDBC驱动程序
4.11 虚拟主机
4.11.1 虚拟主机不是节点特有的
4.11.2 设置虚拟主机的理由
4.11.3 虚拟主机名解析
4.12 测试servlet:snoop
4.13 文件定位
4.14 设置WAS开发环境
4.14.1 设置命令
4.14.2 设置桌面
4.15 测试WAS安装的未在文档中记录的快捷方式
4.16 卸载产品
4.17 在多台计算机上复制安装
4.18 小结
第5章 定义WebSphere域
5.1 了解WebSphere区域
5.2 了解WebSphere域
5.2.1 WebSphere域的背景
5.2.2 WebSphere域的优点
5.2.3 定义WebSphere域名
5.2.4 管理WebSphere域
5.2.5 WebSphere域的结构
5.2.6 WAS使用的端口
5.3 比较WAS 3.5版和4.0版
5.3.1 取消Servlet转向器
5.3.2 取消增强的datasources.xml配置
5.3.3 WAS支持JSP Levels 1.0和1.1
5.3.4 EJB Level 1.1是WAS 4.0版惟一支持的标准
5.3.5 仅用于WAS 4.0版应用服务器的模型和克隆
5.4 小结
第6章 安装测试:WAS工具和示例
6.1 WAS系统工具
6.1.1 应用服务器启动/停止命令
6.1.2 WebSphere管理控制台
6.1.3 WebSphere控制程序:WSCP
6.1.4 DrAdmin:生成线程转储
6.1.5 企业应用程序存档文件(EAR)
6.2 WAS测试工具
6.3 剖析EAR示例文件:sampleApp.ear
6.4 Petstore示例
6.4.1 安装Petstore示例
6.4.2 手动更改
6.5 各种WAS工具
6.5.1 Log Analyzer
6.5.2 Resource Analyzer
6.6 小结
第II部分 Web开发人员必备的管理指南
第7章 利用Perl/WSCP进行WAS报表推断
7.1 WSCP简介
7.2 启动WSCP
7.2.1 WSCP属性文件
7.2.2 与WSCP进行的会话
7.3 WSCP和Tcl
7.4 在工作站上单独安装WSCP
7.5 WscpCommand界面
7.6 利用Perl/WSCP提取报表
7.6.1 从Perl运行WSCP
7.6.2 分析WSCP输出
7.7 WSCP消息代码
7.8 小结
第8章 WAS管理快速入门
9.1 启动.终止和测试WAS
9.1.1 启动WAS
9.1.2 终止WAS
9.t.3 启动/终止/测试HTTP服务器
9.1.4 测试WAS
9.2 检查WAS版本和发布级别/日期
9.3 日志文件和启动消息
9.3.1 查找WAS启动失败原因
9.3.2 设置日志文件格式
9.3.3 activity.log文件
9.4 处理WAS进程
9.4.1 WAS进程揭密
9.4.2 操作进程组
9.5 /etc/services端口
9.5.1 WAS默认使用的端口
9.5.2 调试默认端口
9.6 监控端口
9.7 管理性配置文件
9.8 WAS启动Java机
9.8.1 Java机参数调整
9.8.2 关闭JIT编译器
9.8.3 管理WAS储存库
9.9 公共管理实践
9.9.1 WAS快速诊断:调用showCfg
9.9.2 检查WAS数据库储存库
9.9.3 监控应用程序存档文件
9.9.4 保存WAS目录
9.9.5 在Windows NT平台中保存WAS目录
9.10 小结
第III部分 WAS编程
第9章 数据库的准备
9.1 简介
9.2 UNIX平台上的UDB授权
9.3 创建数据库
9.4 填充数据库
9.4.1 Java和JDBC
9.4.2 利用DBD::DB2模块
9.5 小结
第10章 在Java中访问数据库:DataAccessComponent
10.1 定义DataAccessComponent
10.2 检查DataAccessComponent的特性
10.2.1 DataAccessComponent中的文本替换
10.2.2 利用DataSet检索数据
10.2.3 检索EmpAccnt表和CliAccnt表中的数据
10.3 理解构建过程
10.3.1 创建Java包树
10.3.2 Java包的普通编译
10.3.3 集中编译.java程序:jall脚本
10.4 小结
第11章 在WAS中开发J2EE Web应用程序
11.1 加载J2EE Web应用程序
11.1.1 创建第一个J2EE树
11.1.2 创建Web应用程序
11.1.3 创建更完整的J2EE树
11.2 向已加载Web应用程序中添加新的Build脚本
11.3 了解j2tree脚本
11.4 小结
第12章 HTTP servlet编程
12.1 从CGI编程到Java servlet
12.1.1 利用DumpEnv servlet来转储CGI环境变量
12.1.2 利用DumpEnv servlet:service()方法
12.2 开发人员的servlet编程策略
12.2.1 了解HTTPD日志记录
12.2.2 WAS重定向到标准输入/输出
12.2.3 利用Lynx检查HTTP请求
12.2.4 利用svlbuild脚本重新编译servlet
12.2.5 将HTML内容转变为Java字符串
12.3 理解servlet编程需求
12.3.1 使用servlet显示HTML内容
12.3.2 利用servlet访问UDB
12.3.3 利用servlet显示文件内容
12.4 在出纳员/客户示例中使用servlet
12.4.1 出纳员登录servlet:LoginScreen
12.4.2 出纳员身份验证:TellerLogged
12.4.3 出纳员对客户账户的收支操作:CreditDebit
12.5 利用Iynx进行批处理
12.6 小结
第13章 Java Server Pages(JSP)
13.1 JSP编程:第一个示例
13.2 第二个示例:使用请求调度程序
13.3 servlet通信
13.3.1 servlet内部通信
13.3.2 servlet间通信
13.4 自定义标签:JSP标签库
13.5 自动进行JSP标签库编程
13.5.1 在Web应用程序描述符中注册标签库
13.5.2 JSP标签库编程的步骤总结
13.6 自定义标签库以显示典型消息
13.7 小结
第14章 WAS中的J2EE Web应用程序
14.1 IBM特有的部署描述符
14.1.1 IBM扩展文件
14.1.2 获取IBM扩展文件
14.1.3 使用EARExpander
14.1.4 IBM扩展属性总结
14.2 web.xml的WAS分析
14.3 小结
第15章 WAS中的类:加载顺序及可见性顺序
15.1 类路径和WAS的类加载器
15.1.1 类路径的树形层次结构
15.1.2 WAS启动类路径
15.1.3 向WAS启动类加载器中添加Jar存档文件
15.1.4 从servlet中获取应用程序类路径
15.2 初始化和重新加载servlet
15.3 模块可见性和类重新加载
15.3.1 模块可见性
15.3.2 模块可见性和重载模拟:Hey-Yo
15.4 热部署和动态重加载
15.5 小结
第16章 会话标识与HTTP协议
16.1 标识用户登录
16.2 获取mime header
16.3 cookie
16.3.1 CGI的cookie
16.3.2 通过HTTP Java servlet使用cookie
16.3.3 cookies的限制和命名约束
16.4 会话管理
16.4.1 使用JSESSIONID cookie标识会话
16.4.2 WAS会话标识符对CGI程序的可见性
16.5 SessionFairy
16.5.1 从会话标识符收集信息
16.5.2 生成SessionFairy.jsp
16.6 URL重写和隐式参数
16.6.1 URL重写
16.6.2 表单的隐式字段
16.7 小结
第17章 会话作用域和IBM会话持久性
17.1 检验会话作用域和类似性
17.1.1 理解会话作用域
17.1.2 理解会话类似性
17.2 检验会话持久性:安装.配置以及测试
17.2.1 安装和配置会话
17.2.2 在持续会话时使用WAS组件
17.2.3 测试会话持久性
17.3 编程考虑事项
17.3.1 串行化持久HTTP会话对象
17.3.2 使Logoff上的会话失效
17.3.3 提交持久会话中的更改
17.3.4 理解重新加载servlet或.jsp时的会话影响
17.3.5 写入持久性数据库:sync()
17.4 用Teller Login方案测试会话持久性
17.4.1 用浏览器检验Teller Login方案
17.4.2 用Lynx检验Teller Login方案
17.4.3 为一个Web容器使用多个会话
17.5 调整会话管理
17.6 考虑大于4K的页面
17.7 理解持久性背后的推理
17.8 小结
第18章 企业JavaBean编程
18.1 WASDG应用程序的企业JavaBean
18.2 将程序转化成会话Bean
18.3 用作会话Bean的数据访问组件:DataAccessComponentBean
18.4 扩展BeanBase来传递返回的对象
18.5 利用更大的Bean:MapRequest.set Operation()来优化EJB容器
18.6 调整Bean指定
18.7 部署EJB模块WasdgBeans.jar
18.7.1 生成EJB模块:WasdgBeans.jar
18.7.2 验证EJB模块
18.7.3 生成和注册企业应用程序:WasdgBeans.ear
18.7.4 用ejbdeploy.sh生成部署代码
18.8 测试EJB模块WasdgBeans.jar的Bean
18.8.1 安装WASDG应用程序
18.8.2 使用显式复制将EJB合并到WASDG开发树中
18.8.3 使用符号链接将EJB链接到WASDG开发树中
18.9 修改和校验EJB模块代码
18.10 测试方案
18.11 汇编EJB模块WasdgBeans.jar:使用AAT
18.11.1 使用AAT生成WasdgBean.jar
18.11.2 修改已汇编EJB模块的代码
18.12 小结
第19章 WAS中的Apache SOAP编程
19.1 部署SOAP应用程序:wasdgsoap.ear
19.1.1 Web应用程序soap.war
19.1.2 测试wasdgsoap.ear并阐明SOAP消息
19.1.3 卸载和安装wasdgsoap.ear
19.2 WAS使用的Apache SOAP部署描述符
19.3 用gensoap-ejb生成Apache SOAP部署描述符
19.4 传递参数,
19.4.1 在SOAP客户端限定名称:Qname
19.4.2 在SOAP部署描述符中指定类型映射
19.4.3 编写DataSetSerializer程序
19.4.4 将客户程序的QName()与其服务器映射相匹配
19.5 使用SOAP客户程序访问Bean
19.5.1 设置SOAP客户程序环境
19.5.2 测试SOAP客户程序
19.5.3 在Nutshell中调试SOAP客户程序
19.6 小结
第20章 安全编程基础:应用JAAS
20.1 安装JAAS
20.2 JAAS编程
20.3 一个JAAS示例: FetchFile和PrivilegedFetchFile
20.4 确保Teller安全登录和退出
20.4.1 JAAS支持的WASDG应用程序退出
20.4.2 分离开发人员的角色
20.5 JAAS前景
20.6 密码
20.7 小结
第21章 企业应用程序开发
21.1 使用make实用程序重新考虑创建过程
21.1.1 利用make实用程序编译代码
21.1.2 自动处理
21.1.3 BASE DEV的初始Makefile
21.1.4 创建并部署一个二合一脚本:AppBuild
21.2 并行开发:源代码控制.编译和测试
21.2.1 一个用户特有的开发树:holding树
21.2.2 在同一服务器上安装WebSphere域的多个实例
21.3 考虑并行编程人员的环境
21.4 文档规范
21.5 小结
第IV部分 应力测试.跟踪和调试
第22章 应力测试
22.1 HTTP请求的基本计时
22.2 编写应力测试器
22.2.1 对于HTTP方法的特殊考虑事项
22.2.2 分支并发用户的并发进程
22.2.3 在每个进程中重复发出多个请求
22.2.4 ZappUrl脚本
22.3 利用SharkUrl对WASDG应用程序进行应力测试
22.3.1 SharkUrl脚本预处理的文件
22.3.2 运行SharkUrl
22.3.3 生成并解释报表
22.3.4 嗅闻网络以评测WAS的性能
22.3.5 有关预处理include文件的最后说明
22.4 小结
第23章 编写异常处理程序.记录和调试
23.1 记录.跟踪和利用异常处理进行调试
23.2 记录信息:Log.log()
23.3 利用BundleManager捆绑信息
23.3.1 log.properties文件
23.3.2 考虑异常处理属性文件
23.4 异常处理
23.5 测试程序
23.6 IBM OLT和OLD
23.7 小结
第V部分 监控.调整和风险管理
第24章 用WASLED和WASMON监控WAS
24.1 监控目标
24.2 作为IED的组件消息编号
24.3 WASLED的安装和启动
24.3.1 第一个面板:用户输入面板
24.3.2 第二个面板:WASLED活动面板
24.3.3 第三个面板:WASMON活动面板
24.4 激活并连接WASMON服务器
24.5 监控WAS容器
24.6 过滤WAS事件并利用WASMON激发操作
24.7 通过e-mail发送警报
24.7.1 e-mail:标题对话框和发送e-mail按钮
24.7.2 过滤事件并向用户发送e-mail
24.7.3 触发脚本
24.8 利用逻辑警告指令进行条件监控
24.9 小结
第25章 监控并调整系统资源
25.1 为性能命令进行系统设置
25.1.1 AIX和Linux平台上的性能命令
25.1.2 在AIX平台上安装系统代理
25.1.3 Windows NT的要求
25.2 基本监控命令:ps.sar以及vmstat
25.2.1 利用ps命令监控进程
25.2.2 利用sar和vmstat监控内存和CPU
25.3 考虑Windows NT的内存使用情况
25.4 考虑Windows NT的网络使用情况
25.5 线程与进程
25.5.1 AIX平台上的线程信息统计
25.5.2 利用MrThread监控线程
25.6 利用MrTop监控Linux进程
25.7 考虑交换页面调度空间
25.8 考虑EJB缓存
25.9 考虑SESSION数据库的性能
25.10 小结
第26章 利用WASMON进行风险管理
26.1 利用WASMON进行风险管理
26.1.1 将WASMON设置为管理模式
26.1.2 将管理模式设为活动状态
26.2 利用管理模式获得假释
26.3 WASMON的四种内部变量类型
26.3.1 静态变量:s-var
26.3.2 布尔变量:b-var
26.3.3 差异变量:d-var
26.3.4 全局变量:g-var
26.4 准备内部变量
26.5 具有帮助程序的WASMON委托:wasmonhelper
26.6 在wasmon.conf中使用内部变量
26.7 关于WASMON帮助程序:wasmonhelper
26.8 理解差异变量:d-var
26.9 利用WASMON进行普通监控
26.10 利用WASLED/WASMON监控Web应用程序
26.11 运行WASMON的特殊考虑事项
26.12 小结
第VI部分 附录
附录A 检索信息和代码分布
A.1 必需的代码分布Web站点
A.2 安装分布代码
A.3 安装Gramercy Toolkit
A.3.1 设置GRAMERCY DIR环境变量
A.3.2 获取工具的版本号
A.4 安装WASLED/WASMON
A.5 本书在各学科中的应用
A.6 在WAS AEs下如何配置J2EE应用程序部署
附录B 备份与恢复
B.1 备份WAS配置数据
B.1.1 备份和恢复WAS AEs
B.1.2 备份WAS AE
B.1.3 恢复WAS AE
B.2 移植考虑事项
附录C 利用MrUnicode 解释Java 2的国际化
C.1 使用MrUnicode实现国际化和统一编码
C.2 显示有关转换器和字符集合的信息
C.3 Sun Microsystems和IBM在Java 2编码中的命名规则
C.4 用MrUnicode显示语言编码
附录D Gramercy Toolkit脚本和WASDG环境
D.1 检查WASDG环境
D.2 Gramercy Toolkit脚本
D.2.1 BwjSort
D.2.2 cpfl
D.2.3 modjar
附录E WASLED/WASMON快速参考
E.1 启动和配置WASMON
E.1.1 使用逻辑表达式
E.1.2 WASMON内部变量
E.2 快速监控方案
附录F 对于WAS 5.0版的支持
F.1 通过DTD判断WAS支持
F.2 WAS 5.0版本支持J2EE API2.3
F.3 重新考虑WAS 5.0版本的脚本