《IBM WebSphere应用服务器程序设计》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)Bassem W.Jamaleddine著;朱毓斌,吴飞译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302075530
  • 页数:630 页
图书介绍:本书介绍开发和部署IBM WebSphere Application Server应用程序,WAS监控、调整和风险管理。

第Ⅰ部分 基础篇及学习目标 1

第1章 IBM WAS编程简介 1

1.1 WAS简介 1

目录 1

1.2 IBM的WebSphere Application Server产品 2

1.2.1 WebSphereApplication Server4.0版 2

1.2.2 WebSphere Application Server 5.0版 3

1.3 本书内容简介 3

1.3.1 第Ⅰ部分 3

1.3.2 第Ⅱ部分 4

1.3.3 第Ⅲ部分 4

1.3.4 第Ⅳ部分 5

1.3.6 附录 6

1.3.5 第Ⅴ部分 6

1.4 WAS 5.0 版的特别注意事项 7

1.5 实用程序脚本 7

1.6 Unicode 字符、本地化和国际化 8

1.7 UNIX命令、shell、Perl和Lynx 9

1.7.1 在UNIX平台上编写WAS程序 9

1.7.2 使用Lynx 10

1.7.3 企业WAS编程中的Perl脚本 10

1.8 本书使用的应用程序 12

第2章 安装WAS储存库 13

2.1 安装数据库的基本原理 13

2.1.1 用作管理储存库的数据库 13

2.3 UDB的二进制分布和基本安装 14

2.2 WAS和UDB的兼容性 14

2.1.2 用作数据源的数据库 14

2.4 安装UDB组件 16

2.5 在AIX平台上安装UDB 20

2.6 通用UDB JDBC驱动程序类型分类 23

2.6.1 JDBC类型2:app驱动程序 23

2.6.2 JDBC类型3:net驱动程序 24

2.7 小结 24

第3章 设置开发环境的先决条件 25

3.1 HTTP服务器 25

3.1.1 安装HTTP服务器 25

3.1.2 启动/停止HTTP服务器 28

3.1.3 HTTP服务器日志文件 29

3.2 Java机 30

3.2.1 安装Java机 31

3.2.2 设置Java计算系统环境 33

3.3 Windows NT用户环境 46

3.3.1 Windows NT批处理命令刷新 46

3.3.2 设置Windows NT的用户环境 47

3.3.3 Windows NT的Shell解释程序 48

3.4 使用Java机 49

3.4.1 Hello World 49

3.4.2 使用Java程序包:简单观察 50

3.4.3 HelloURL示例 53

3.4.4 Hello World的CGI版本:HelloWorld.cgi 54

3.5 利用JDBC驱动器测试远程数据库连接 55

3.6 小结 57

4.1 本书使用的约定 58

4.1.1 主目录约定 58

第4章 在Linux、Windows NT和AIX平台上安装WAS 58

4.1.2 WAS进程约定 60

4.1.3 WebSphere域约定 60

4.2 产品相关性 60

4.3 要求 61

4.3.1 硬件要求 61

4.3.2 操作系统级要求 61

4.3.3 GUI接口相关性 62

4.3.4 数据库要求 64

4.4 预安装验证 64

4.4.1 成功的数据库连接 65

4.4.2 在WAS安装中加入HTTP Web服务器插件 65

4.5 安装带有UDB配置储存库的WAS 66

4.4.3 Java机可用性 66

4.6 取消prereq checker 68

4.7 安装WAS AEs 4.0版 69

4.8 启动WAS和第一次安装 70

4.9 配置公共资源 71

4.10 设置JDBC驱动程序 72

4.11 虚拟主机 73

4.11.1 虚拟主机不是节点特有的 74

4.11.2 设置虚拟主机的理由 74

4.11.3 虚拟主机名解析 78

4.12 测试servlet:snoop 78

4.13 文件定位 80

4.14 设置WAS开发环境 81

4.14.1 设置命令 81

4.14.2 设置桌面 83

4.15 测试WAS安装的未在文档中记录的快捷方式 84

4.16 卸载产品 86

4.17 在多台计算机上复制安装 86

4.18 小结 86

第5章 定义WebSphere域 87

5.1 了解WebSplere区域 87

5.2 了解WebSphere域 88

5.2.1 WebSphere域的背景 89

5.2.2 WebSphere域的优点 90

5.2.3 定义WebSphere域名 93

5.2.4 管理WebSphere域 94

5.2.5 WebSphere域的结构 97

5.2.6 WAS使用的端口 99

5.3.1 取消Servlet转向器 100

5.3 比较WAS 3.5版和4.0版 100

5.3.2 取消增强的datasources.xml配置 101

5.3.3 WAS支持JSP Levels 1.0和1.1 101

5.3.4 EJB Level1.1是WAS 4.0版惟一支持的标准 102

5.3.5 仅用于WAS 4.0版应用服务器的模型和克隆 102

5.4 小结 103

第6章 安装测试:WAS工具和示例 104

6.1 WAS系统工具 104

6.1.1 应用服务器启动/停止命令 104

6.1.2 WebSphere管理控制台 105

6.1.3 WebSphere控制程序:WSCP 105

6.1.4 DrAdmin:生成线程转储 106

6.1.5 企业应用程序存档文件(EAR) 106

6.2 WAS测试工具 110

6.3 剖析EAR示例文件:sampleApp.ear 113

6.4.1 安装Petstore示例 116

6.4 Petstore示例 116

6.4.2 手动更改 123

6.5 各种WAS工具 124

6.5.1 Log Analyzer 124

6.5.2 Resource Analyzer 125

6.6 小结 128

第Ⅱ部分 Web开发人员必备的管理指南 129

第7章 利用Perl/WSCP进行WAS报表推断 129

7.1 WSCP简介 129

7.2 启动WSCP 130

7.2.1 WSCP属性文件 131

7.2.2 与WSCP进行的会话 132

7.3 WSCP和Tcl 133

7.5 WscpCommand界面 135

7.4 在工作站上单独安装WSCP 135

7.6 利用Perl/WSCP提取报表 136

7.6.1 从Perl运行WSCP 137

7.6.2 分析WSCP输出 138

7.7 WSCP消息代码 145

7.8 小结 145

第8章 WAS管理快速入门 146

8.1 启动、终止和测试WAS 146

8.1.1 启动WAS 146

8.1.2 终止WAS 147

8.1.3 启动/终止/测试HTTP服务器 148

8.1.4 测试WAS 148

8.2 检查WAS版本和发布级别/日期 151

8.3.1 查找WAS启动失败原因 153

8.3 日志文件和启动消息 153

8.3.2 设置日志文件格式 154

8.3.3 activity.log文件 156

8.4 处理WAS进程 158

8.4.1 WAS进程揭密 158

8.4.2 操作进程组 160

8.5 /etc/services端口 160

8.5.1 WAS默认使用的端口 161

8.5.2 调试默认端口 161

8.6 监控端口 162

8.7 管理性配置文件 164

8.8 WAS启动Java机 166

8.8.1 Java机参数调整 166

8.8.3 管理WAS储存库 167

8.8.2 关闭JIT编译器 167

8.9 公共管理实践 169

8.9.1 WAS快速诊断:调用showCfg 169

8.9.2 检查WAS数据库储存库 170

8.9.3 监控应用程序存档文件 170

8.9.4 保存WAS目录 171

8.9.5 在WindowsNT平台中保存WAS目录 171

8.10 小结 172

第Ⅲ部分 WAS编程 173

第9章 数据库的准备 173

9.1 简介 173

9.2 UNIX平台上的UDB授权 173

9.3 创建数据库 174

9.4.1 Java和JDBC 177

9.4 填充数据库 177

9.4.2 利用DBD::DB2模块 181

9.5 小结 189

第10章 在Java中访问数据库:DataAccessComponent 190

10.1 定义DataAccessComponent 190

10.2 检查DataAccessComponent的特性 195

10.2.1 DataAccessComponent中的文本替换 195

10.2.2 利用DataSet检索数据 196

10.2.3 检索EmpAccnt表和CliAccnt表中的数据 198

10.3 理解构建过程 203

10.3.1 创建Java包树 204

10.3.2 Java包的普通编译 204

10.3.3 集中编译java程序:jall脚本 204

10.4 小结 205

11.1.1 创建第一个J2EE树 206

第11章 在WAS中开发J2EE Web应用程序 206

11.1 加载J2EE Web应用程序 206

11.1.2 创建Web应用程序 209

11.1.3 创建更完整的J2EE树 217

11.2 向已加载Web应用程序中添加新的Build脚本 218

11.3 了解j2tree脚本 220

11.4 小结 223

第12章 HTTP servlet编程 225

12.1 从CGI编程到Java servlet 225

12.1.1 利用DumpEnv servlet来转储CGI环境变量 227

12.1.2 利用DumpEnv servlet:service()方法 229

12.2 开发人员的servlet编程策略 229

12.2.1 了解HTTPD日志记录 229

12.2.3 利用Lynx检查HTTP请求 230

12.2.2 WAS重定向到标准输入/输出 230

12.2.4 利用svlbuild脚本重新编译servlet 231

12.2.5 将HTML内容转变为Java字符串 231

12.3 理解servlet编程需求 232

12.3.1 使用servlet显示HTML内容 233

12.3.2 利用servlet访问UDB 233

12.3.3 利用servlet显示文件内容 239

12.4 在出纳员/客户示例中使用servlet 245

12.4.1 出纳员登录servlet:LoginScreen 245

12.4.2 出纳员身份验证:TellerLogged 249

12.4.3 出纳员对客户账户的收支操作:CreditDebit 251

12.5 利用Lynx进行批处理 257

12.6 小结 258

第13章 Java Server Pages(JSP) 259

13.1 JSP编程:第一个示例 260

13.2 第二个示例:使用请求调度程序 263

13.3 servlet通信 266

13.3.1 servlet内部通信 266

13.3.2 servlet间通信 267

13.4 自定义标签:JSP标签库 267

13.5 自动进行JSP标签库编程 270

13.5.1 在Web应用程序描述符中注册标签库 272

13.5.2 JSP标签库编程的步骤总结 273

13.6 自定义标签库以显示典型消息 273

13.7 小结 276

第14章 WAS中的J2EE Web应用程序 277

14.1 IBM特有的部署描述符 277

14.1.1 IBM扩展文件 277

14.1.2 获取IBM扩展文件 280

14.1.4 IBM扩展属性总结 285

14.1.3 使用EARExpander 285

14.2 web.xml的WAS分析 286

14.3 小结 289

第15章 WAS中的类:加载顺序及可见性顺序 290

15.1 类路径和WAS的类加载器 290

15.1.1 类路径的树形层次结构 291

15.1.2 WAS启动类路径 293

15.1.3 向WAS启动类加载器中添加Jar存档文件 294

15.1.4 从servlet中获取应用程序类路径 295

15.2 初始化和重新加载servlet 296

15.3 模块可见性和类重新加载 297

15.3.1 模块可见性 298

15.3.2 模块可见性和重载模拟:Hey-Yo 300

15.4 热部署和动态重加载 307

15.5 小结 311

第16章 会话标识与HTTP协议 313

16.1 标识用户登录 313

16.2 获取mime_header 314

16.3 cookie 315

16.3.1 CGI的cookie 315

16.3.2 通过HTTP Java servlet使用cookie 319

16.3.3 cookies的限制和命名约束 327

16.4 会话管理 327

16.4.1 使用JSESSIONID cookie标识会话 328

16.4.2 WAS会话标识符对CGI程序的可见性 335

16.5 SessionFairy 337

16.5.1 从会话标识符收集信息 337

16.5.2 生成SessionFairy.jsp 340

16.6 URL重写和隐式参数 344

16.6.1 URL重写 344

16.6.2 表单的隐式字段 346

16.7 小结 347

第17章 会话作用域和IBM会话持久性 348

17.1 检验会话作用域和类似性 348

17.1.1 理解会话作用域 348

17.1.2 理解会话类似性 349

17.2 检验会话持久性:安装、配置以及测试 350

17.2.1 安装和配置会话 350

17.2.2 在持续会话时使用WAS组件 355

17.2.3 测试会话持久性 355

17.3.1 串行化持久HTTP会话对象 358

17.3 编程考虑事项 358

17.3.2 使Logoff上的会话失效 359

17.3.3 提交持久会话中的更改 360

17.3.4 理解重新加载servlet或jsp时的会话影响 361

17.3.5 写入持久性数据库:sync() 361

17.4 用Teller Login方案测试会话持久性 361

17.4.1 用浏览器检验Teller Login方案 361

17.4.2 用Lynx检验Teller Login方案 365

17.4.3 为一个Web容器使用多个会话 368

17.5 调整会话管理 368

17.6 考虑大于4K的页面 370

17.7 理解持久性背后的推理 371

17.8 小结 372

第18章 企业JavaBean编程 373

18.1 WASDG应用程序的企业JavaBean 374

18.2 将程序转化成会话Bean 382

18.3 用作会话Bean的数据访问组件DataAccessComponentBean 385

18.4 扩展BeanBase来传递返回的对象 388

18.5 利用更大的Bean:MapRequest.set Operation()来优化EJB容器 389

18.6 调整Bean指定 395

18.7 部署EJB模块WasdgBeansjar 396

18.7.1 生成EJB模块:WasdgBeans.jar 396

18.7.2 验证EJB模块 397

18.7.3 生成和注册企业应用程序:WasdgBeans.ear 398

18.7.4 用ejbdeploy.sh生成部署代码 402

18.8 测试EJB模块WasdgBeans.jar的Bean 403

18.8.1 安装WASDG应用程序 404

18.8.2 使用显式复制将EJB合并到WASDG开发树中 404

18.8.3 使用符号链接将EJB链接到WASDG开发树中 405

18.9 修改和校验EJB模块代码 406

18.10 测试方案 407

18.11 汇编EJB模块WasdgBeans.jar:使用AAT 409

18.11.1 使用AAT生成WasdgBean.jar 410

18.11.2 修改已汇编EJB模块的代码 410

18.12 小结 411

第19章 WAS中的Apache SOAP编程 412

19.1 部署SOAP应用程序:wasdgsoap.ear 412

19.1.1 Web应用程序soap.war 414

19.1.2 测试wasdgsoap.ear并阐明SOAP消息 416

19.1.3 卸载和安装wasdgsoap.ear 417

19.2 WAS使用的Apache SOAP部署描述符 417

19.3 用gensoap-ejb生成Apache SOAP部署描述符 419

19.4 传递参数 422

19.4.1 在SOAP客户端限定名称:Qname 423

19.4.2 在SOAP部署描述符中指定类型映射 424

19.4.3 编写DataSetSerializer程序 425

19.4.4 将客户程序的QName()与其服务器映射相匹配 429

19.5 使用SOAP客户程序访问Bean 430

19.5.1 设置SOAP客户程序环境 430

19.5.2 测试SOAP客户程序 431

19.5.3 在Nutshell中调试SOAP客户程序 432

19.6 小结 432

第20章 安全编程基础:应用JAAS 433

20.1 安装JAAS 433

20.2 JAAS编程 435

20.3 一个JAAS示例:FetchFile和PrivilegedFetchFile 435

20.4 确保Teller安全登录和退出 450

20.4.2 分离开发人员的角色 451

20.4.1 JAAS支持的WASDG应用程序退出 451

20.5 JAAS前景 459

20.6 密码 460

20.7 小结 467

第21章 企业应用程序开发 468

21.1 使用make实用程序重新考虑创建过程 469

21.1.1 利用make实用程序编译代码 470

21.1.2 自动处理 471

21.1.3 BASE DEV的初始Makefile. 475

21.1.4 创建并部署一个二合一脚本:AppBuild 480

21.2 并行开发:源代码控制、编译和测试 481

21.2.1 一个用户特有的开发树:holding树 481

21.2.2 在同一服务器上安装WebSphere域的多个实例 484

21.3 考虑并行编程人员的环境 487

21.4 文档规范 490

21.5 小结 491

第Ⅳ部分 应力测试、跟踪和调试 492

第22章 应力测试 492

22.1 HTTP请求的基本计时 492

22.2 编写应力测试器 494

22.2.1 对于HTTP方法的特殊考虑事项 495

22.2.2 分支并发用户的并发进程 495

22.2.3 在每个进程中重复发出多个请求 496

22.2.4 ZappUrl脚本 496

22.3 利用SharkUrl对WASDG应用程序进行应力测试 503

22.3.1 SharkUrl脚本预处理的文件 503

22.3.2 运行SharkUrl 505

22.3.3 生成并解释报表 507

22.3.4 嗅闻网络以评测WAS的性能 510

22.3.5 有关预处理include文件的最后说明 512

22.4 小结 512

第23章 编写异常处理程序、记录和调试 514

23.1 记录、跟踪和利用异常处理进行调试 514

23.2 记录信息:Log.log() 516

23.3 利用BundleManager捆绑信息 521

23.3.1 log.properties文件 524

23.3.2 考虑异常处理属性文件 524

23.4 异常处理 526

23.5 测试程序 532

23.6 IBM OLT和OLD 533

23.7 小结 534

24.2 作为LED的组件消息编号 535

24.1 监控目标 535

第24章 用WASLED和WASMON监控WAS 535

第Ⅴ部分 监控、调整和风险管理 535

24.3 WASLED的安装和启动 537

24.3.1 第一个面板:用户输入面板 539

24.3.2 第二个面板:WASLED活动面板 540

24.3.3 第三个面板:WASMON活动面板 541

24.4 激活并连接WASMON服务器 541

24.5 监控WAS容器 542

24.6 过滤WAS事件并利用WASMON激发操作 542

24.7 通过e-mail发送警报 546

24.7.1 e-mail:标题对话框和发送email按钮 546

24.7.2 过滤事件并向用户发送e-mail 547

24.7.3 触发脚本 547

24.8 利用逻辑警告指令进行条件监控 549

24.9 小结 550

第25章 监控并调整系统资源 552

25.1 为性能命令进行系统设置 552

25.1.1 AIX和Linux平台上的性能命令 552

25.1.2 在AIX平台上安装系统代理 553

25.1.3 Windows NT的要求 553

25.2 基本监控命令:ps、sar以及vmstat 553

25.2.1 利用ps命令监控进程 554

25.2.2 利用sar和vmstat监控内存和CPU 556

25.3 考虑Windows NT的内存使用情况 558

25.4 考虑Windows NT的网络使用情况 560

25.5 线程与进程 563

25.5.1 AIX平台上的线程信息统计 563

25.5.2 利用MrThread监控线程 565

25.6 利用MrTop监控Linux进程 568

25.8 考虑EJB缓存 570

25.7 考虑交换页面调度空间 570

25.9 考虑SESSION数据库的性能 572

25.10 小结 574

第26章 利用WASMON进行风险管理 575

26.1 利用WASMON进行风险管理 576

26.1.1 将WASMON设置为管理模式 576

26.1.2 将管理模式设为活动状态 578

26.2 利用管理模式获得假释 579

26.3 WASMON的四种内部变量类型 585

26.3.1 静态变量:s-var 586

26.3.2 布尔变量:b-var 587

26.3.3 差异变量:d-var 588

26.4 准备内部变量 589

26.3.4 全局变量:gvar 589

26.5 具有帮助程序的WASMON委托:wasmonhelper 590

26.6 在wasmon.conf中使用内部变量 592

26.7 关于WASMON帮助程序:wasmonhelper 594

26.8 理解差异变量:dvar 595

26.9 利用WASMON进行普通监控 595

26.10 利用WASLED/WASMON监控Web应用程序 596

26.11 运行WASMON的特殊考虑事项 598

26.12 小结 598

第Ⅵ部分 附录 600

附录A 检索信息和代码分布 600

A.1 必需的代码分布Web站点 600

A.2 安装分布代码 602

A.3 安装Gramercy Toolkit 602

A.4 安装WASLED/WASMON 603

A.3.2 获取工具的版本号 603

A.3.1 设置GRAMERCY DIR环境变量 603

A.5 本书在各学科中的应用 604

A.6 在WAS AEs下如何配置J2EE应用程序部署 604

附录B 备份与恢复 605

B.1 备份WAS配置数据 605

B.1.1 备份和恢复WAS AEs 605

B.1.2 备份WAS AE 606

B.1.3 恢复WAS AE 606

B.2 移植考虑事项 607

附录C 利用MrUnicode解释Java 2的国际化 609

C.1 使用MrUnicode实现国际化和统一编码 609

C.2 显示有关转换器和字符集合的信息 612

C.3 Sun Microsystems和IBM在Java 2编码中的命名规则 613

C.4 用MrUnicode显示语言编码 614

D.1 检查WASDG环境 616

附录D Gramercy Tooldit脚本和WASDG环境 616

D.2 Gramercy Toolkit脚本 618

D.2.1 BwjSort 618

D.2.2 cpfl 619

D.2.3 modjar 619

附录E WASLED/WASMON快速参考 620

E.1 启动和配置WASMON 620

E.1.1 使用逻辑表达式 622

E.1.2 WASMON内部变量 623

E.2 快速监控方案 625

附录F 对于WAS 5.0版的支持 627

F.1 通过DTD判断WAS支持 627

F.2 WAS 5.0版本支持J2EE API 2.3 629

F.3 重新考虑WAS 5.0版本的脚本 629