精通EJB 第3版PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:(美)Ed Roman,(美)Rima Patel Sriganesh,(美)Gerald Brose著;罗时飞译
- 出 版 社:北京:电子工业出版社
- 出版年份:2005
- ISBN:7121016982
- 页数:602 页
第1篇 总述 1
第1章 概述 3
1.1 EJB产生背景 4
1.2 组件架构 6
1.3 终极无间——可重用服务 8
1.4 EJB介绍 9
1.4.2 业务层组件——EJB 10
1.4.1 钟情Java 10
1.5 EJB生态圈 12
1.5.3 EJB部署者 13
1.5.2 应用组装者 13
1.5.1 EJB组件提供者 13
1.5.6 工具供应商 14
1.5.5 容器和服务器提供商 14
1.5.4 系统管理员 14
1.5.7 角色 15
1.6 J2EE 16
1.7 小结 20
2.1 企业Bean 21
第2章 EJB基础 21
2.2 分布式对象——EJB的支撑 24
2.3.1 显式中间件 25
2.3 分布式对象和中间件 25
2.3.2 隐式中间件 26
2.4 EJB的组成部分 27
2.4.2 EJB对象 28
2.4.1 企业Bean的Bean类 28
2.4.3 Home接口 32
2.4.4 本地接口 34
2.4.5 部署描述符 36
2.4.7 Ejb-jar文件 37
2.4.6 供应商特定文件 37
2.4.8 术语集合 38
2.5 小结 39
3.1 如何开发EJB组件 41
第3章 开发第一个EJB组件 41
3.3 本地接口 43
3.2 远程接口 43
3.4 Home接口 44
3.5 本地Home接口 46
3.6 Bean类 47
3.7 部署描述符 50
3.9 Ejb-jar文件 51
3.8 供应商特定文件 51
3.11 可选的EJB客户端jar文件 52
3.10 部署EJB组件 52
3.12 如何调用EJB组件 53
3.14 实现组件接口 57
3.13 运行整个应用 57
3.15 小结 59
第2篇 EJB组件 61
4.1 会话Bean的生命周期 63
第4章 会话Bean介绍 63
4.2.2 无状态会话Bean 64
4.2.1 有状态会话Bean 64
4.2 会话Bean的子类型 64
4.3.1 实现实例池功能 66
4.3 有状态会话Bean的不同点 66
4.3.2 维护会话状态的规则 67
4.3.3 激活和挂起回调 68
4.3.5 一个简单的有状态会话Bean 71
4.3.4 方法实现小结 71
4.3.6 会话Bean的生命周期流程图 79
4.4 小结 81
5.1 Web服务概念 83
第5章 将会话Bean发布为Web服务 83
5.1.1 Web服务标准 85
5.1.2 XML文档和平台无关性 88
5.2 实现Web服务 89
5.2.1 JAX-RPC服务端点接口 90
5.2.3 打包和部署暴露Web服务的会话Bean 91
5.2.2 WSDL和XML/Java映射 91
5.3 实现Web服务客户 92
5.4 小结 94
6.1 持久化概念 95
第6章 实体Bean介绍 95
6.2 何为实体Bean 97
6.3.2 实体Bean实例是RDBMS视图 99
6.3.1 实体Bean在失败中幸免 99
6.3 实体Bean特点 99
6.3.4 池化实体Bean实例 101
6.3.3 不同实体Bean实例可能代表了同一RDBMS纪录 101
6.3.6 创建和删除实体Bean 104
6.3.5 持久化实体Bean的两种方式 104
6.3.7 能够查找实体Bean 106
6.4 实体上下文 107
6.3.8 不使用EJB也能够修改实体Bean持有的数据 107
6.4.2 getPrimaryKey() 108
6.4.1 getEJBLocalObject()和getEJBObject() 108
6.5 小结 109
7.1 实体Bean编程基础 111
第7章 开发Bean管理持久化实体Bean 111
7.2 Bean管理持久化实例——银行Account 116
7.2.1 Account.java 117
7.2.2 AccountLocal.java 118
7.2.3 AccountHome.java 119
7.2.4 AccountLocalHome.java 120
7.2.5 AccountPK.java 121
7.2.6 AccountBean.java 122
7.2.7 AccountException.java 133
7.2.8 Client.java 134
7.2.9 部署描述符 136
7.2.11 配置数据库 137
7.2.10 具体容器的部署描述符 137
7.3.1 服务器端输出 138
7.3 运行客户应用 138
7.4 BMP实体Bean的生命周期 139
7.3.2 客户端输出 139
7.5 小结 141
8.1.1 需要实现CMP实体Bean的子类 143
8.1 CMP实体Bean的特点 143
第8章 开发容器管理持久化实体Bean 143
8.1.3 CMP中的setter、getter方法定义在实体Bean子类中 145
8.1.2 CMP实体Bean不存在持久化域 145
8.1.4 CMP实体Bean存在抽象持久化模式 147
8.1.5 CMP实体Bean存在查询语言 148
8.1.6 CMP实体Bean可以存在ejbSelect()方法 149
8.2 CMP实体Bean组件的实现指南 150
8.3 CMP实例——产品系列 152
8.3.1 Product.java 153
8.3.2 ProductLocal.java 154
8.3.3 ProductHome.java 155
8.3.4 ProductLocalHome.java 156
8.3.5 ProductPK.java 157
8.3.6 ProductBean.java 158
8.3.7 部署描述符 162
8.3.8 具体容器的部署描述符 165
8.3.9 Client.java 166
8.5 CMP实体Bean的生命周期 168
8.4 运行客户应用 168
8.6 小结 169
第9章 消息驱动Bean介绍 171
9.1 使用消息驱动Bean的动机 172
9.2 Java消息服务 173
9.2.1 消息域 174
9.2.2 JMS API 175
9.3 集成JMS和EJB 178
9.4.1 语义 181
9.4 开发消息驱动Bean 181
9.4.2 一个简单实例 183
9.5 高级概念 187
9.6.2 错过调用ejbRemove() 190
9.6.1 消息顺序 190
9.6 基于JMS的消息驱动Bean陷阱 190
9.6.3 坏消息 191
9.6.4 如何将结果返回给消息生产者 193
9.6.5 异步方法调用 196
9.7 小结 197
10.1 从其他EJB中调用EJB 199
第10章 扩充EJB组件的功能 199
10.1.2 理解EJB引用 200
10.1.1 默认JNDI查找 200
10.2 资源工厂 202
10.3 环境属性 204
10.4 理解Handle 206
10.5 小结 207
第3篇 高级EJB概念 209
11.1 何时使用EJB 211
第11章 EJB最佳实践 211
11.2 如何选用同EJB协同工作的Web应用框架 213
11.3 在EJB项目中实施MDD 215
11.4 在EJB项目中实施极限编程 216
11.5.1 EJB单元测试 218
11.5 测试EJB 218
11.5.2 借助于框架完成EJB的单元测试 219
11.6.3 Web服务 221
11.6.2 远程对象调用 221
11.6 如何在EJB中实现客户端回调功能 221
11.6.1 JMS 221
11.8.1 AOP 222
11.8 在EJB项目中考虑使用AOP技术 222
11.7 选用Servlet或无状态会话Bean作为服务Endpoint 222
11.8.2 何时在EJB应用中使用AOP 223
11.9 反射、动态代理和EJB 224
11.10 将EJB部署到不同应用服务器 225
11.11 调试EJB 226
11.12 EJB中的继承和代码复用 227
11.13 在EJB中实现Singleton 228
11.14 何时在EJB中使用XML 229
11.15 选择消息或RMI-IIOP的时机 230
11.16 小结 232
第12章 事务 233
12.1.1 原子操作 234
12.1 使用事务的动机 234
12.1.3 多用户共享数据 235
12.1.2 网络或机器失败 235
12.2 事务带来的优势 236
12.3 事务模型 238
12.3.1 平面事务 239
12.3.2 嵌入式事务 240
12.4.1 底层事务系统抽象 241
12.4 事务在EJB中的使用 241
12.3.3 其他事务模型 241
12.4.2 声明式、编程式及客户发起的事务 242
12.4.3 选择事务风格 244
12.5 容器管理事务 246
12.6 EJB中的编程式事务 251
12.6.3 Java事务API 252
12.6.2 Java事务服务 252
12.6.1 CORBA对象事务服务 252
12.6.4 声明式和编程式事务示例 254
12.7 客户代码使用事务 256
12.8.1 并发控制的必要性 257
12.8 事务隔离 257
12.8.2 脏读问题 258
12.8.4 幻影读问题 260
12.8.3 不可重复读问题 260
12.8.6 隔离和EJB 261
12.8.5 事务隔离小结 261
12.9 分布式事务 262
12.8.7 悲观和乐观并发控制 262
12.9.1 持久性和2PC协议 263
12.9.2 事务通信协议和事务上下文 264
12.10 设计EJB中的事务会话 265
12.11 J2EE活动服务和扩展事务 267
12.12 小结 268
第13章 安全性 269
13.1.1 侵害、弱点和风险 270
13.1 介绍 270
13.1.2 控制 271
13.2 Web应用的安全性 272
13.2.1 Web应用的认证 273
13.2.3 机密性和集成性 274
13.2.2 授权 274
13.3.1 EJB应用的认证 275
13.3 理解EJB安全性 275
13.3.2 EJB中的授权 284
13.3.3 安全性传播 291
13.4.2 CSIv2 293
13.4.1 基于SSL的IIOP 293
13.4 安全性互操作 293
13.5 Web服务中的安全性 295
13.5.1 端对端的安全性 296
13.5.2 XML数字签名和XML加密 297
13.5.3 SAML 299
13.5.4 WS-Security 300
13.6 小结 302
14.1 任务调度 303
第14章 EJB Timer 303
14.2 EJB和任务调度 304
14.3.1 Timer服务API 305
14.3 EJB Timer服务 305
14.3.2 EJB同Timer服务的交互 308
14.4.1 CleanDayLimitOrdersEJB的远程接口 309
14.4 Timer实例——CleanDayLimitOrdersEJB 309
14.4.2 CleanDayLimitOrdersEJB的Bean类 310
14.4.4 CleanDayLimitOrdersEJB的部署描述符 312
14.4.3 CleanDayLimitOrdersEJB的Home接口 312
14.4.5 CleanDayLimitOrdersEJB的客户 313
14.4.6 运行客户 314
14.5 EJB Timer服务的优缺点 315
14.6 小结 316
第15章 BMP和CMP关系 317
15.2 基数 318
15.1 CMP和BMP的区别 318
15.2.1 1∶1关系 319
15.2.2 1∶N关系 323
15.2.3 M∶N关系 326
15.3.1 实现BMP中的方向 333
15.3 方向 333
15.3.2 实现CMP中的方向 334
15.3.3 方向可能不会反映到数据库模式 336
15.4 延迟装载 337
15.3.4 使用双向还是单向 337
15.5 聚合和合成关系、级联删除 338
15.7 递归关系 340
15.6 关系和EJB-QL 340
15.8 循环关系 341
15.9 引用完整性 342
15.10 小结 345
16.1 实体Bean同其他持久化机制比较 347
第16章 持久化最佳实践 347
16.1.2 获取数据 348
16.1.1 控制 348
16.1.5 实施模式独立性 349
16.1.4 缓存 349
16.1.3 过程式与面向对象(OO)的对比 349
16.1.7 RAD 350
16.1.6 移植 350
16.2.3 Bug 351
16.2.2 性能 351
16.2 选择BMP还是CMP 351
16.2.1 代码简化和RAD 351
16.2.5 应用服务器和数据库独立性 352
16.2.4 控制 352
16.3 为实体Bean选择合适的粒度 353
16.2.7 学习曲线和代价 353
16.2.6 关系 353
16.4.2 硬编码和软编码SQL 354
16.4.1 注意O/R间的矛盾 354
16.4 持久化提示和技巧 354
16.4.3 何时使用存储过程 355
16.4.4 规范化和反规范化 357
16.4.6 遵循优秀的数据设计过程 358
16.4.5 使用EJB对象模型驱动数据模型 358
16.4.7 使用代理主键 359
16.4.9 版本化EJB组件 360
16.4.8 理解数据库更新操作带来的影响 360
16.4.10 使用遗留数据库设计 361
16.4.11 处理大结果集 366
16.5 小结 367
17.1 研究集成的必要性 369
第17章 EJB集成 369
17.2 EJB和集成 370
17.3.1 引入J2EE连接器的理由 371
17.3 J2EE连接器架构 371
17.3.2 资源适配器同J2EE组件交互 373
17.3.2 资源适配器同应用服务器交互 374
17.4 J2EE连接器API 375
17.4.2 javax.resource.cci包 376
17.4.1 javax.resource包 376
17.4.3 javax.resource.spi包 378
17.4.4 javax.resource.spi.endpoint包 379
17.4.6 javax.resource.spi.work包 380
17.4.5 javax.resource.spi.security包 380
17.5.1 生命周期管理 381
17.5 系统契约 381
17.5.2 连接管理 382
17.5.3 安全性管理 384
17.5.4 事务管理 386
17.5.5 工作管理 390
17.5.6 外来消息管理 391
17.6 连接器实例——OutboundLoanRA 392
17.6.1 实例架构 393
17.6.2 JavaLoanApp.java 394
17.6.4 OutboundLoanRA 395
17.6.3 LoadApp.dll 395
17.6.5 LoanRatesEJB 414
17.6.7 运行客户 417
17.6.6 LoanRatesClient 417
17.6.8 扩展OutboundLoanRA 419
17.7.2 何时使用J2EE连接器 420
17.7.1 何时使用JMS和基于JMS的MDB 420
17.7 集成最佳实践——使用合适的技术 420
17.8 小结 421
17.7.3 何时使用Java Web服务 421
18.1 提前关注 423
第18章 EJB性能调优 423
18.2 从性能角度看待有状态对无状态 424
18.3 如何借助于容量规划来保证响应时间 426
18.4 使用会话外观改善性能 427
18.5 选择本地接口还是远程接口 428
18.6 区分资源 429
18.8 有状态会话Bean调优 430
18.7 无状态会话Bean调优 430
18.9 实体Bean调优 431
18.10 MDB调优 435
18.11 Java虚拟机调优 436
18.12 其他调优技巧 437
18.13 正确选用EJB服务器 438
18.14 小结 439
19.1 大型系统概述 441
第19章 群集 441
19.1.1 何为大型系统 442
19.1.2 基本术语 443
19.1.3 区分群集 444
19.2.1 如何群集EJB 447
19.2 装备群集EJB 447
19.2.2 幂等性概念 448
19.2.3 群集无状态会话Bean 449
19.2.4 群集有状态会话Bean 451
19.2.5 群集实体Bean 452
19.3.1 初次接触 455
19.3 其他EJB群集问题 455
19.2.6 群集MDB 455
19.4 小结 456
19.3.2 初始访问逻辑 456
20.1 确定业务需求 457
第20章 正确启动EJB项目 457
20.2 J2EE是否适合项目 458
20.4 设计完整的对象模型 461
20.3 确定项目成员 461
20.5 实现单个垂直切片 462
20.6 选择应用服务器 463
20.7 划分团队 464
20.10 小结 466
20.9 采用标准构建过程 466
20.8 工具投资 466
第21章 选择EJB服务器 467
21.5 第三方JDBC驱动支持 468
21.4 复杂映射 468
21.1 J2EE标准兼容性 468
21.2 插入式JRE 468
21.3 转换工具 468
21.9 基于内存的数据缓存 469
21.8 插入式持久化提供商 469
21.6 延迟装载 469
21.7 延迟数据库写入 469
21.13 安全性 470
21.12 高可用性 470
21.10 集成层支持 470
21.11 伸缩性 470
21.14 IDE集成 471
21.18 群集 472
21.17 透明地进行无状态容错 472
21.15 UML编辑器集成 472
21.16 智能负载均衡 472
21.22 实例池 473
21.21 热部署 473
21.19 Java管理扩展(JMX) 473
21.20 管理支持 473
21.26 实时部署 474
21.25 分布式事务 474
21.23 自动生成EJB组件 474
21.24 完全关机 474
21.30 工作流 475
21.29 Web服务 475
21.27 高端消息架构 475
21.28 可选的EJB组件 475
21.32 专业化服务 476
21.31 Open Source 476
21.34 小结 477
21.33 技术之外的考虑 477
22.1 业务问题 479
第22章 EJB-J2EE集成——构建完整的应用 479
22.2 预览最终网站 480
22.3 技术需求 483
22.3.1 业务逻辑层 484
22.3.2 前端表示层 489
22.4 示例代码 493
22.5 小结 501
附录A RMI-IIOP和JNDI教程 503
A.1.1 远程方法调用 504
A.1 Java RMI-IIOP 504
A.1.2 远程接口 506
A.1.4 远程对象实现 507
A.1.5 存根和骨架 508
A.2.2 对象序列化 510
A.2.1 传值 510
A.2 对象序列化和参数传递 510
A.2.3 何时使用transient关键字 512
A.2.4 对象序列化和RMI-IIOP 512
A.2.5 Java命名和目录接口 514
A.2.6 命名和目录服务 514
A.2.7 命名和目录存在的问题 516
A.2.8 进入JNDI 516
A.2.9 JNDI的优势 517
A.2.10 JNDI架构 517
A.2.11 JNDI概念 518
A.2.12 JNDI编程 521
A.3 集成RMI-IIOP和JNDI 523
A.3.1 将RMI-IIOP服务器绑定到JNDI 524
A.3.2 借助于JNDI查找RMI-IIOP服务器 524
A.4 小结 525
B.1 何谓CORBA 527
附录B CORBA互操作 527
B.2 关注CORBA的意义 528
B.3 理解CORBA工作机理 529
B.4 OMG接口定义语言 530
B.5 OMG IDL映射到具体语言 532
B.6 CORBA提供的服务 533
B.7 引入RMI-IIOP的必要性 534
B.7.1 实现RMI与CORBA互操作的必要性 534
B.7.2 合并CORBA与RMI 535
B.8 集成RMI和CORBA的过程 538
B.8.1 RMI-IIOP客户同CORBA对象实现 538
B.8.2 CORBA客户同RMI-IIOP对象实现 539
B.8.3 借助于RMI-IIOP和CORBA引导 539
B.9.1 CORBA-EJB互操作的局限性 540
B.9.2 示例代码 540
B.9 宏伟蓝图——集成CORBA和EJB 540
B.10 小结 542
附录C 部署描述符参考指南 543
C.1 如何阅读XML Schema 543
C.2 头和根元素 544
C.3 定义会话Bean 545
C.4 定义实体Bean 546
C.5 定义消息驱动Bean 549
C.6 定义Timer Bean 551
C.7 定义J2EEWeb服务 551
C.8 定义环境属性 553
C.9 定义EJB引用 553
C.10 定义安全性 555
C.11 定义资源工厂 556
C.12 定义关系 558
C.13 定义〈assembly-descriptor〉 560
附录D EJB查询语言(EJB-QL) 565
D.1 EJB-QL概述 565
D.1.1 简单实例 566
D.1.2 关系的威力 567
D.2 EJB-QL语法 567
D.2.1 FROM从句 568
D.2.2 WHERE从句 569
D.2.3 SELECT从句 571
D.2.4 使用聚合函数 574
D.2.5 ORDER BY从句 574
D.2.6 Boolean表 575
D.3 小结 576
附录E EJB快速参考指南 579
E.1 会话Bean流程图 579
E.1.2 无状态会话Bean流程图 580
E.1.2 有状态会话Bean流程图 581
E.2 实体Bean流程图 583
E.3 EJB API参考 586
E.3.1 EJBContext 586
E.3.2 EJBHome 587
E.3.3 EJBLocalHome 588
E.3.4 EJBLocalObject 588
E.3.5 EJBMetaData 589
E.3.6 EJBObject 589
E.3.7 EnterpriseBean 590
E.3.8 EntityBean 590
E.3.9 EntityContext 593
E.3.11 HomeHandle 594
E.3.12 MessageDrivenBean 594
E.3.10 Handle 594
E.3.13 MessageDrivenContext 595
E.3.14 SessionBean 595
E.3.15 SessionContext 596
E.3.16 SessionSynchronization 597
E.3.17 TimedObject 597
E.3.18 Timer 598
E.3.19 TimerHandle 598
E.3.20 TimerService 599
E.4 异常参考 600
E.5 事务参考 601
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《新手养花从入门到精通》徐帮学编 2019
- 《C语言从入门到精通》王征,李晓波著 2020
- 《可爱Q版技法从入门到精通》石头编著 2019
- 《WPS Office办公应用从入门到精通》IT新时代教育 2018
- 《行政管理实操从入门到精通》任康磊著 2020
- 《C#从入门到精通 第5版》(中国)明日科技 2019
- 《VRay渲染器及项目实战从入门到精通》沙旭,徐虹,乐美青编著 2019
- 《AutoCAD 2020从入门到精通 中文版》CADCAMCAE技术联盟 2019
- 《UGNX12入门、精通与实战 中文版》周敏 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017