搜索


会员资源切换至【手机版】

切换本帖至【手机版】


开启左侧

精通EJB(第二版) Mastering Enterprise JavaBeans Second Edition 影印版[PDF]

[复制链接]
发表于 2021-8-16 00:21:31 | 显示全部楼层 |阅读模式

游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0


资源信息:



中文名


: 精通EJB(第二版)


原名


: Mastering Enterprise JavaBeans Second Edition


作者


: Ed Roman


译者


: 刘晓华


图书分类


: 软件


资源格式


: PDF


版本


: 影印版


出版社


: 电子工业出版社


书号


: ISBN:7505380532


发行时间


: 2002年10月


地区


: 大陆


语言


: 简体中文


概述


:




内容简介


  本书是关于EJB 2.0开发的经典书籍,是EJB开发者的必备参考书。全书共分为四篇,第一篇是对EJB编程的快速浏览,包括第1章到第3章,主要是针对EJB新手而介绍的基础知识,但是有一定开发经验的老手仍然会发现很多有用的东西。第二篇专门介绍EJB编程,包括第4章到第9章,本部分介绍了三种Bean:实体Bean、会话Bean和消息驱动Bean,讲述了编写每种类型的Bean所需要的基础知识,包括示例和详细的Bean的生命周期图表。第三篇是本书最令人兴奋的部分,包括第10章到第17章,主要讲述了高级EJB概念。第四篇是附录部分,包括附录A到附录E,是EJB主题的辅助部分,供读者参考。   本书非常适合于Java程序员、网站开发人员和系统分析员作为EJB开发的核心参考书。


作者简介


EdcRoman是世界上研究高端中间件技术的权威之一.他从一开始就积极参与SuncMicrosystems公司的EnterprisecBean解决方案,设计、建立、部署过很多不同的企业级应用,1包括构建和开发完整的应用服务器产品.平常他将大部分的时间用于更改和完善Sun公司的EJB规范,他是中间件邮件列表的固定投稿人,经常在与中间件有关的会议上演讲发言. Ed是Middleware公司(www.middleware-company.com)的CEO,此公司擅长于EJB、J2EE和基于XML的Web服务的培训和咨询.Middleware公司的使命是培训并辅助设计、开发和部署中间件解决方案.a现在您或者您的公司需要做出购买决策、进行EJB设计、将遗留系统同EJB集成、进行电子商务相关的部署或者使用其他的中间件吗?如果您需要帮助的话,那么Middleware公司能够成为有价值的资源. Ed也是TheServerSide.com的CEO,此网站是实际的J2EE社区网站.每天有数以千计的开发人员在TheServerSide上面共享EJB设计模式,了解最新的EJB方面的新闻,发布或者回答EJB开发方面的问题或者阅读文章.在您读完本书之后,您可以访问TheServerSide.com网站来获得最新的EJB方面的信息.TheServerSide.com是一个完全免费的致力于帮助EJB社区的网站. 最后一点,但并不是最不重要的一点,如果您希望涉足中间件领域的话,Ed始终在寻找希望应用最新技术进行开发的开发人员.您可以给Ed发送E-mail:edro@middleware-company.com.


译者简介


刘晓华,湖北宜昌人,十年程序研发经历,微软亚洲研究院研究员。曾任:清华同方知网公司项目经理,事业部总经理、公司副总经理,网易产品部技术顾问,全军数字图书馆建设委员会技术顾问。代表作:《精通MFC》、《精通.NET核心技术》、《UML和Visio建模》、《JSP应用开发详解(第二版)》、《精通JBuilder》《精通JBuilder 2006》


内容截图





目录


: 第一篇 概 述 第1章 概述 3 1.1 ejb的形成动机 3 1.2 分而置之的极点 4 1.3 组件体系结构 8 1.4 enterprise javabeans(ejb)简介 9 1.4.1 为什么用java 9 1.4.2 作为一种商务解决方案的ejb 10 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 bean 21 .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章 编写您的第一个bean 41 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 部署bean 51 3.11 可选的ejb客户端的jar文件 51 3.12 理解怎样调用bean 52 3.13 运行系统 55 3.13.1 服务器端输出 56 3.13.2 客户端输出 56 3.14 实现组件接口 56 3.15 小结 58 第二篇 3种bean 第4章 会话bean介绍 61 4.1 会话bean的生命周期 61 4.2 会话bean子类型 61 4.2.1 状态会话bean 62 4.2.2 无状态会话bean 62 4.3 状态会话bean的特征 63 4.3.1 对状态会话bean实现调度池调度 63 4.3.2 对话状态遵从的规则 65 4.3.3 激活/钝化回调方法 66 4.3.4 方法实现小结 68 4.3.5 一个简单的状态会话bean 68 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 什么是实体bean 82 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管理的持久实体bean 95 6.1 实体bean编程基础 95 6.2 bean管理持久的范例:一个银行账户 100 6.2.1 account.java 101 6.2.2 accountlocal.java 102 6.2.3 accounthome.java 103 6.2.4 accountlocalhome.java 104 6.2.5 accountpk.java 105 6.2.6 accountbean.java 106 6.2.7 accountexception.java 116 6.2.8 client.java 117 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章 编写容器管理的持久实体bean 127 7.1 cmp实体bean的特性 127 7.1.1 被继承的实体bean 127 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.java 137 7.3.2 productlocal.java 138 7.3.3 producthome.java 139 7.3.4 productlocalhome.java 140 7.3.5 productpk.java 141 7.3.6 productbean.java 142 7.3.7 部署描述 145 7.3.8 容器相关的部署描述 148 7.3.9 client.java 149 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消息服务api 158 8.3 java消息服务同ejb的集成 162 8.4 开发消息驱动bean 164 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调用bean 181 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概念 第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 隔离性与ejb 238 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-ql 267 11.7 递归关联 268 11.8 循环关联 268 11.9 引用完整性 269 11.10 小结 272 第12章 持久化最优操作 273 12.1 何时使用实体bean 273 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或是bmp 276 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和软代码sql 280 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和无状态bean 293 13.2 何时使用消息或者rmi-iiop 294 13.3 如何使用负载规划保证响应时间 296 13.4 如何使用ejb实现单实例 297 13.5 交换实体bean和会话bean 298 13.6 性能调整实体bean 299 13.7 选择本地接口或者远程接口 300 13.8 如何调试ejb 300 13.9 区分资源 301 13.10 装配组件 302 13.11 开发可复用组件 303 13.12 何时在ejb中使用xml 303 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 实现集群的ejb 312 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 contact 319 14.3.2 initial access logic 320 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 可插入式jre 331 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 何谓servlet 351 17.4.2 何谓javaserver pages 353 17.4.3 如何组合servlet、jsp和ejb组件 353 17.4.4 电子商务部署中的jsp 355 17.5 示例代码 356 17.6 小结 361 第四篇 附 录 附录a rmi-iiop和jndi教程 365 a.1 java rmi-iiop 365 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-iiop 373 a.3 java命名和目录接口(jndi) 376 a.3.1 命名和目录服务器 376 a.3.2 命名和目录的问题 378 a.3.3 进入jndi 378 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-iiop服务器绑定到jndi 385 a.4.2 使用jndi查询rmi-iiop服务器 386 a.5 小结 387 附录b corba协同工作 389 b.1 何谓corba 389 b.2 为何要关心corba 390 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 如何阅读dtd 405 c.2 header和root元素 405 c.3 定义会话bean 407 c.4 定义实体bean 408 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 定义消息驱动bean 411 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 ejbcontext 447 e.1.2 ejbhome 448 e.1.3 ejblocalhome 448 e.1.4 ejblocalobject 449 e.1.5 ejbmetadata 450 e.1.6 ejbobject 450 e.1.7 enterprisebean 451 e.1.8 entitybean 451 e.1.9 entitycontext 454 e.1.10 handle 455 e.1.11 homehandle 455 e.1.12 messagedrivenbean 456 e.1.13 messagedrivencontext 456 e.1.14 sessionbean 456 e.1.15 sessioncontext 458 e.1.16 sessionsynchronization 458 e.2 异常索引 459 e.3 事务索引 460

主题推广




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

切换至【手机版】| 主站| Archiver|

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

|网站地图

GMT+8, 2026-6-18 07:52 , Processed in 0.852050 second(s), 121 queries .

 

快速回复 返回顶部 返回列表