图书介绍

精通EJB 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

精通EJB 第2版
  • (美)Ed Roman著;刘晓华等译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7505380532
  • 出版时间:2002
  • 标注页数:461页
  • 文件大小:26MB
  • 文件页数:482页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

精通EJB 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 概述3

第1章 概述3

1.1 EJB的形成动机3

1.2 分而置之的极点4

1.3 组件体系结构8

1.4 Enterprise JavaBeans(EJB)简介9

1.4.1 为什么用Java9

1.4.2 作为一种商务解决方案的EJB10

1.5 EJB社区11

1.5.1 Bean供应商12

1.5.2 应用系统组装商12

1.5.3 EJB系统部署员13

1.5.4 系统管理员13

1.5.5 容器和服务器供应商13

1.5.6 工具供应商14

1.5.7 角色小结14

1.6 Java 2平台企业版15

1.7 小结19

第2章 EJB基础21

2.1 Enterprise Bean21

2.2 分布式对象:EJB基础23

2.3 分布式对象和中间件24

2.3.1 显式的中间件24

2.3.2 隐式的中间件25

2.4 企业级Bean的组成部分26

2.4.1 Enterprise Bean类27

2.4.2 EJB对象27

2.4.3 Home对象32

2.4.4 本地接口34

2.4.5 部署描述36

2.4.6 供应商特有文件37

2.4.7 Ejb-jar文件37

2.4.8 术语小结38

2.5 小结39

第3章 编写您的第一个Bean41

3.1 怎样开发一个EJB组件41

3.2 远程接口42

3.3 本地接口43

3.4 Home接口44

3.5 本地Home接口44

3.6 Bean类46

3.7 部署描述49

3.8 与供应商相关的特定文件50

3.9 Ejb-jar文件50

3.10 部署Bean51

3.11 可选的EJB客户端的Jar文件51

3.12 理解怎样调用Bean52

3.13 运行系统55

3.13.1 服务器端输出56

3.13.2 客户端输出56

3.14 实现组件接口56

3.15 小结58

第二篇 3种Bean61

第4章 会话Bean介绍61

4.1 会话Bean的生命周期61

4.2 会话Bean子类型61

4.2.1 状态会话Bean62

4.2.2 无状态会话Bean62

4.3 状态会话Bean的特征63

4.3.1 对状态会话Bean实现调度池调度63

4.3.2 对话状态遵从的规则65

4.3.3 激活/钝化回调方法66

4.3.4 方法实现小结68

4.3.5 一个简单的状态会话Bean68

4.3.6 会话Bean的生命周期图表75

4.4 小结78

第5章 实体Bean介绍79

5.1 持久的概念79

5.1.1 Java对象序列化79

5.1.2 对象-关系型数据库映射80

5.1.3 对象数据库81

5.2 什么是实体Bean82

5.3 实体Bean的特征84

5.3.1 实体Bean可以幸免于故障84

5.3.2 实体Bean实例是一个对应到数据库中的视图85

5.3.3 几个实体Bean实例可能代表同一底层数据86

5.3.4 实体Bean实例可以被收集再利用87

5.3.5 保持实体Bean的两种方法89

5.3.6 实体Bean的创建和删除89

5.3.7 实体Bean可以被查找91

5.3.8 实体Bean可以不通过EJB被修改92

5.4 实体上下文92

5.4.1 getEJBLocalObject()/getEJBObject()93

5.4.2 getPrimaryKey()93

5.5 小结94

第6章 编写Bean管理的持久实体Bean95

6.1 实体Bean编程基础95

6.2 Bean管理持久的范例:一个银行账户100

6.2.1 Account.java101

6.2.2 AccountLocal.java102

6.2.3 AccountHome.java103

6.2.4 AccountLocalHome.java104

6.2.5 AccountPK.java105

6.2.6 AccountBean.java106

6.2.7 AccountException.java116

6.2.8 Client.java117

6.2.9 部署描述120

6.2.10 特定容器的部署描述121

6.2.11 建立数据库121

6.3 运行客户端程序121

6.3.1 服务器端的输出122

6.3.2 客户端的输出123

6.4 融会贯通:遍历BMP实体生命周期123

6.5 小结125

第7章 编写容器管理的持久实体Bean127

7.1 CMP实体Bean的特性127

7.1.1 被继承的实体Bean127

7.1.2 CMP实体Bean不包含声明字段128

7.1.3 CMP的get/set方法在子类中的定义129

7.1.4 CMP实体Bean有一个抽象的持久化模式131

7.1.5 CMP实体Bean拥有查询语言132

7.1.6 CMP实体Bean可以包含ejbSelect()方法133

7.2 实现容器管理持久化的指导原则134

7.3 容器管理持久的范例:产品系列137

7.3.1 Product.java137

7.3.2 ProductLocal.java138

7.3.3 ProductHome.java139

7.3.4 ProductLocalHome.java140

7.3.5 ProductPK.java141

7.3.6 ProductBean.java142

7.3.7 部署描述145

7.3.8 容器相关的部署描述148

7.3.9 Client.java149

7.4 运行客户端程序151

7.5 CMP实体Bean的生命周期152

7.6 小结153

第8章 消息驱动Bean简介155

8.1 使用消息驱动Bean的动机155

8.2 Java消息服务156

8.2.1 消息机制的域157

8.2.2 Java消息服务API158

8.3 Java消息服务同EJB的集成162

8.4 开发消息驱动Bean164

8.4.1 语法164

8.4.2 一个简单示例程序166

8.5 高级概念171

8.6 消息驱动Bean的常见难点173

8.6.1 消息排序173

8.6.2 很少用到ejbRemove()调用174

8.6.3 如何将结果返回到消息发生者176

8.6.4 未来展望:异步方法调用179

8.7 小结180

第9章 给Bean增加功能181

9.1 从其他的Bean调用Bean181

9.1.1 默认的JNDI查找181

9.1.2 理解EJB引用182

9.2 资源库184

9.3 环境属性186

9.4 理解EJB的安全性187

9.4.1 安全第一步:验证188

9.4.2 安全第二步:授权196

9.4.3 安全性的传播203

9.5 理解EJB对象句柄204

9.6 小结206

第三篇 高级企业JavaBean概念209

第10章 事务209

10.1 事务产生的动机209

10.1.1 原子操作209

10.1.2 网络故障或机器故障210

10.1.3 多用户共享数据211

10.2 事务所带来的益处212

10.3 事务的模型214

10.3.1 平面式事务模型214

10.3.2 嵌套式事务模型215

10.3.3 其他事务模型216

10.4 事务在EJB组件中的应用217

10.4.1 后台事务系统的抽象分离217

10.4.2 声明型事务、编程型事务和客户端初始化事务217

10.4.3 选择事务的类型220

10.5 容器管理的事务221

10.6 EJB中的编程型事务227

10.6.1 CORBA的对象事务处理服务(OTS)227

10.6.2 Java事务处理服务(JTS)227

10.6.3 Java事务处理API(JTA)227

10.6.4 声明型事务和编程型事务的应用范例比较230

10.7 如何使用客户代码控制事务232

10.8 事务的隔离233

10.8.1 并发控制的需求233

10.8.2 隔离性与EJB的理论234

10.8.3 不当读取问题235

10.8.4 不可重复读取问题236

10.8.5 幻影读取问题237

10.8.6 事务隔离性的总结238

10.8.7 隔离性与EJB238

10.8.8 限制式和开放式并发控制239

10.9 分布式事务239

10.9.1 稳定性和两阶段提交协议240

10.9.2 事务的通信协议和事务上下文241

10.10 在EJB中设计事务会话241

10.11 小结243

第11章 BMP和CMP的关联245

11.1 BMP和CMP的区别245

11.2 基数性246

11.2.1 1:1关联247

11.2.2 1:N关联250

11.2.3 M:N关联254

11.3 方向性260

11.3.1 使用BMP实现方向性261

11.3.2 使用CMP实现方向性262

11.3.3 方向性不可以映射到数据库模式263

11.3.4 选择双向还是单向关联264

11.4 惰性载入(Lazy Loading)264

11.5 聚合-组合和级联删除265

11.6 关联和EJB-QL267

11.7 递归关联268

11.8 循环关联268

11.9 引用完整性269

11.10 小结272

第12章 持久化最优操作273

12.1 何时使用实体Bean273

12.1.1 控制273

12.1.2 参数传递的类比273

12.1.3 过程化(Procedural)与面向对象的对比274

12.1.4 高速缓存274

12.1.5 实施模式独立性275

12.1.6 易于使用275

12.1.7 移植275

12.1.8 快速应用开发275

12.2 选择CMP或是BMP276

12.2.1 代码简化和决速应用开发276

12.2.2 性能276

12.2.3 调试276

12.2.4 控制277

12.2.5 应用程序服务器和数据库独立性277

12.2.6 关联278

12.2.7 学习曲线和代价278

12.3 为实体Bean选择正确的粒度278

12.4 持久化的提示和技巧279

12.4.1 需要注意对象关系之间的阻抗不匹配279

12.4.2 硬代码SQL和软代码SQL280

12.4.3 何时使用存储过程280

12.4.4 规范化和反规范化282

12.4.5 使用EJB对象模型来驱动数据模型283

12.4.6 采用最好的数据设计方法283

12.4.7 使用代理键283

12.4.8 理解数据库升级所带来的影响284

12.4.9 记录EJB组件的版本284

12.4.10 使用遗留数据库设计285

12.4.11 随时间改变的模式289

12.4.12 处理大结果集290

12.5 小结291

第13章 EJB最优操作和性能优化293

13.1 何时使用状态Bean和无状态Bean293

13.2 何时使用消息或者RMI-IIOP294

13.3 如何使用负载规划保证响应时间296

13.4 如何使用EJB实现单实例297

13.5 交换实体Bean和会话Bean298

13.6 性能调整实体Bean299

13.7 选择本地接口或者远程接口300

13.8 如何调试EJB300

13.9 区分资源301

13.10 装配组件302

13.11 开发可复用组件303

13.12 何时在EJB中使用XML303

13.13 同EJB进行遗留集成304

13.14 小结306

第14章 集群服务307

14.1 大规模系统概述307

14.1.1 何谓大规模系统307

14.1.2 基本术语308

14.1.3 集群的区分309

14.2 实现集群的EJB312

14.2.1 如柯集群EJB组件312

14.2.2 幂等的概念313

14.2.3 无状态会话Bean的集群313

14.2.4 状态会话Bean的集群315

14.2.5 实体Bean的集群316

14.2.6 消息驱动Bean的集群318

14.3 其他EJB集群问题319

14.3.1 First Contact319

14.3.2 Initial Access Logic320

14.4 小结320

第15章 开始EJB项目321

15.1 确定商务需求321

15.2 确定J2EE是否适合您的项目321

15.3 确定EJB是否合适322

15.4 确定项目开发人员324

15.5 设计完整的对象模型325

15.6 实现单个垂直薄片(Vertical Slice)326

15.7 选择应用服务器327

15.8 划分开发小组327

15.9 投资开发工具329

15.10 投资标准建立方法329

15.11 小结330

第16章 选择EJB服务器331

16.1 J2EE 1.3商标331

16.2 可插入式JRE331

16.3 转换工具332

16.4 复杂映射332

16.5 第三方JDBC驱动程序的支持332

16.6 惰性载入332

16.7 延迟数据库写入332

16.8 可插入式持久化供应商333

16.9 内存中数据的缓存333

16.10 集成层次的支持333

16.11 可伸缩性333

16.12 高可用性334

16.13 安全性334

16.14 IDE集成334

16.15 UML编辑器的集成335

16.16 智能负载平衡335

16.17 无状态透明的失败转发335

16.18 集群336

16.19 Java管理扩展(JMX)336

16.20 管理支持336

16.21 热部署(Hot Deployment)336

16.22 实例组合337

16.23 自动EJB生成337

16.24 合理地关机337

16.25 实时部署337

16.26 分布式事务处理338

16.27 高级消息体系结构338

16.28 可选的EJB组件338

16.29 J2EE连接器体系结构(JCA)338

16.30 Web服务339

16.31 工作流程339

16.32 开放源代码340

16.33 专业化的服务340

16.34 非技术标准340

16.35 小结341

第17章 EJB-J2EE的集成:创建一个完整的应用343

17.1 商务问题343

17.2 最终网站预览344

17.3 技术需求346

17.3.1 商务逻辑层的对象模型346

17.3.2 产品347

17.3.3 顾客348

17.3.4 购物篮348

17.3.5 购物篮条目349

17.3.6 估价器349

17.3.7 订单349

17.3.8 订单条目350

17.3.9 订单处理器350

17.4 表达层的对象模型351

17.4.1 何谓Servlet351

17.4.2 何谓JavaServer Pages353

17.4.3 如何组合Servlet、JSP和EJB组件353

17.4.4 电子商务部署中的JSP355

17.5 示例代码356

17.6 小结361

第四篇 附录365

附录A RMI-IIOP和JNDI教程365

A.1 Java RMI-IIOP365

A.1.1 远程方法调用366

A.1.2 远程接口367

A.1.3 远程对象实现368

A.1.4 根程序和程序框架370

A.2 对象序列化和参数传递371

A.2.1 值传递371

A.2.2 对象序列化371

A.2.3 序列化规则372

A.2.4 怎样标识暂态373

A.2.5 对象序列化和RMI-IIOP373

A.3 Java命名和目录接口(JNDI)376

A.3.1 命名和目录服务器376

A.3.2 命名和目录的问题378

A.3.3 进入JNDI378

A.3.4 JNDI的优点378

A.3.5 JNDI的结构体系379

A.3.6 JNDI概念380

A.3.7 命名系统、命名空间和合成命名381

A.3.8 初始上下文生成库382

A.3.9 JNDI编程383

A.4 RMI-IIOP和JNDI的集成384

A.4.1 将RMI-II0P服务器绑定到JNDI385

A.4.2 使用JNDI查询RMI-IIOP服务器386

A.5 小结387

附录B CORBA协同工作389

B.1 何谓CORBA389

B.2 为何要关心CORBA390

B.3 理解CORBA是如何工作的391

B.4 OMG的接口定义语言392

B.4.1 将OMG IDL映射成具体的语言393

B.4.2 CORBA静态调用394

B.5 CORBA提供的众多服务395

B.6 对RMI-IIOP的需求395

B.6.1 RMI-CORBA协同工作的需求395

B.6.2 RMI与CORBA的结合397

B.6.3 解决RMI和CORBA之间的差别398

B.7 RMI与CORBA的协同工作综述400

B.7.1 带有CORBA对象实现的RMI-IIOP客户400

B.7.2 带有RMI-IIOP对象实现的CORBA客户400

B.7.3 RMI-IIOP和CORBA的引导程序401

B.7.4 美好的前景:CORBA与EJB的结合401

B.7.5 不能从CORBA-EJB协同工作中获得402

B.7.6 范例代码402

B.8 小结404

附录C 部署描述符参考405

C.1 如何阅读DTD405

C.2 Header和Root元素405

C.3 定义会话Bean407

C.4 定义实体Bean408

C.4.1 <entity>409

C.4.2 <cmp-field>410

C.4.3 <query>410

C.4.4 <query-method>410

C.4.5 <method-params>411

C.5 定义消息驱动Bean411

C.5.1 <message-driven>411

C.5.2 <message-driven-destination>412

C.6 定义环境属性413

C.7 定义EJB引用413

C.7.1 <ejb-ref>414

C.7.2 <ejb-local-ref>415

C.8 定义安全性415

C.8.1 <security-role-ref>415

C.8.2 <security-identity>416

C.8.3 <run-as>416

C.9 定义资源工厂416

C.9.1 <resource-ref>417

C.9.2 <resource-env-ref>417

C.10 定义关联418

C.10.1 <relationships>419

C.10.2 <ejb-relation>419

C.10.3 <ejb-relationship-role>419

C.10.4 <relationship-role-source>420

C.10.5 <cmr-field>420

C.10.6 定义装配描述符420

C.10.7 <assembly-descriptor>421

C.10.8 <security-role>422

C.10.9 <method-permission>422

C.10.10 <container-transaction>422

C.10.11 <exclude-list>423

C.10.12 <method>423

C.10.13 <method-params>423

附录D EJB查询语言425

D.1 概述425

D.1.1 一个简单示例425

D.1.2 关联的作用427

D.2 EJB-QL语法427

D.2.1 FROM语句427

D.2.2 WHERE语句429

D.2.3 执行比较操作431

D.2.4 SELECT语句431

D.2.5 真值表434

D.3 小结435

附录E EJB快速索引向导437

E.1 EJB API索引447

E.1.1 EJBContext447

E.1.2 EJBHome448

E.1.3 EJBLocalHome448

E.1.4 EJBLocalObject449

E.1.5 EJBMetaData450

E.1.6 EJBObject450

E.1.7 EnterpriseBean451

E.1.8 EntityBean451

E.1.9 EntityContext454

E.1.10 Handle455

E.1.11 HomeHandle455

E.1.12 MessageDrivenBean456

E.1.13 MessageDrivenContext456

E.1.14 SessionBean456

E.1.15 SessionContext458

E.1.16 SessionSynchronization458

E.2 异常索引459

E.3 事务索引460

热门推荐