资源大小: 12.29MB
发布时间: 2012-12-06
文件格式: pdf
下载次数: 3
分享到:

下载地址:

下载地址1
(本站为飞网专业下载站,域名:down.cfei.net)

资源简介:

中文名: 精通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章 概述 31.1 ejb的形成动机 31.2 分而置之的极点 41.3 组件体系结构 81.4 enterprise javabeans(ejb)简介 91.4.1 为什么用java 91.4.2 作为一种商务解决方案的ejb 101.5 ejb 社区 111.5.1 bean供应商 121.5.2 应用系统组装商 121.5.3 ejb系统部署员 131.5.4 系统管理员 131.5.5 容器和服务器供应商 131.5.6 工具供应商 141.5.7 角色小结 141.6 java 2平台企业版 151.7 小结 19第2章 ejb基础 212.1 enterprise bean 21.2.2 分布式对象:ejb基础 232.3 分布式对象和中间件 242.3.1 显式的中间件 242.3.2 隐式的中间件 252.4 企业级bean的组成部分 262.4.1 enterprise bean类 272.4.2 ejb对象 272.4.3 home对象 322.4.4 本地接口 342.4.5 部署描述 362.4.6 供应商特有文件 372.4.7 ejb-jar文件 372.4.8 术语小结 382.5 小结 39第3章 编写您的第一个bean 413.1 怎样开发一个ejb组件 413.2 远程接口 423.3 本地接口 433.4 home接口 443.5 本地home接口 443.6 bean类 463.7 部署描述 493.8 与供应商相关的特定文件 503.9 ejb-jar文件 503.10 部署bean 513.11 可选的ejb客户端的jar文件 513.12 理解怎样调用bean 523.13 运行系统 553.13.1 服务器端输出 563.13.2 客户端输出 563.14 实现组件接口 563.15 小结 58第二篇 3种bean第4章 会话bean介绍 614.1 会话bean的生命周期 614.2 会话bean子类型 614.2.1 状态会话bean 624.2.2 无状态会话bean 624.3 状态会话bean的特征 634.3.1 对状态会话bean实现调度池调度 634.3.2 对话状态遵从的规则 654.3.3 激活/钝化回调方法 664.3.4 方法实现小结 684.3.5 一个简单的状态会话bean 684.3.6 会话bean的生命周期图表 754.4 小结 78第5章 实体bean介绍 795.1 持久的概念 795.1.1 java对象序列化 795.1.2 对象–关系型数据库映射 805.1.3 对象数据库 815.2 什么是实体bean 825.3 实体bean的特征 845.3.1 实体bean可以幸免于故障 845.3.2 实体bean实例是一个对应到数据库中的视图 855.3.3 几个实体bean实例可能代表同一底层数据 865.3.4 实体bean实例可以被收集再利用 875.3.5 保持实体bean的两种方法 895.3.6 实体bean的创建和删除 895.3.7 实体bean可以被查找 915.3.8 实体bean可以不通过ejb被修改 925.4 实体上下文 925.4.1 getejblocalobject()/ getejbobject() 935.4.2 getprimarykey() 935.5 小结 94第6章 编写bean管理的持久实体bean 956.1 实体bean编程基础 956.2 bean管理持久的范例:一个银行账户 1006.2.1 account.java 1016.2.2 accountlocal.java 1026.2.3 accounthome.java 1036.2.4 accountlocalhome.java 1046.2.5 accountpk.java 1056.2.6 accountbean.java 1066.2.7 accountexception.java 1166.2.8 client.java 1176.2.9 部署描述 1206.2.10 特定容器的部署描述 1216.2.11 建立数据库 1216.3 运行客户端程序 1216.3.1 服务器端的输出 1226.3.2 客户端的输出 1236.4 融会贯通:遍历bmp实体生命周期 1236.5 小结 125第7章 编写容器管理的持久实体bean 1277.1 cmp实体bean的特性 1277.1.1 被继承的实体bean 1277.1.2 cmp实体bean不包含声明字段 1287.1.3 cmp 的get/set 方法在子类中的定义 1297.1.4 cmp实体bean有一个抽象的持久化模式 1317.1.5 cmp实体bean拥有查询语言 1327.1.6 cmp实体bean可以包含ejbselect()方法 1337.2 实现容器管理持久化的指导原则 1347.3 容器管理持久的范例:产品系列 1377.3.1 product.java 1377.3.2 productlocal.java 1387.3.3 producthome.java 1397.3.4 productlocalhome.java 1407.3.5 productpk.java 1417.3.6 productbean.java 1427.3.7 部署描述 1457.3.8 容器相关的部署描述 1487.3.9 client.java 1497.4 运行客户端程序 1517.5 cmp实体bean的生命周期 1527.6 小结 153第8章 消息驱动bean简介 1558.1 使用消息驱动bean的动机 1558.2 java消息服务 1568.2.1 消息机制的域 1578.2.2 java消息服务api 1588.3 java消息服务同ejb的集成 1628.4 开发消息驱动bean 1648.4.1 语法 1648.4.2 一个简单示例程序 1668.5 高级概念 1718.6 消息驱动bean的常见难点 1738.6.1 消息排序 1738.6.2 很少用到ejbremove()调用 1748.6.3 如何将结果返回到消息发生者 1768.6.4 未来展望:异步方法调用 1798.7 小结 180第9章 给bean增加功能 1819.1 从其他的bean调用bean 1819.1.1 默认的jndi查找 1819.1.2 理解ejb引用 1829.2 资源库 1849.3 环境属性 1869.4 理解ejb的安全性 1879.4.1 安全第一步:验证 1889.4.2 安全第二步:授权 1969.4.3 安全性的传播 2039.5 理解ejb对象句柄 2049.6 小结 206第三篇 高级企业javabean概念第10章 事务 20910.1 事务产生的动机 20910.1.1 原子操作 20910.1.2 网络故障或机器故障 21010.1.3 多用户共享数据 21110.2 事务所带来的益处 21210.3 事务的模型 21410.3.1 平面式事务模型 21410.3.2 嵌套式事务模型 21510.3.3 其他事务模型 21610.4 事务在ejb组件中的应用 21710.4.1 后台事务系统的抽象分离 21710.4.2 声明型事务、编程型事务和客户端初始化事务 21710.4.3 选择事务的类型 22010.5 容器管理的事务 22110.6 ejb中的编程型事务 22710.6.1 corba的对象事务处理服务(ots) 22710.6.2 java事务处理服务(jts) 22710.6.3 java事务处理api(jta) 22710.6.4 声明型事务和编程型事务的应用范例比较 23010.7 如何使用客户代码控制事务 23210.8 事务的隔离 23310.8.1 并发控制的需求 23310.8.2 隔离性与ejb的理论 23410.8.3 不当读取问题 23510.8.4 不可重复读取问题 23610.8.5 幻影读取问题 23710.8.6 事务隔离性的总结 23810.8.7 隔离性与ejb 23810.8.8 限制式和开放式并发控制 23910.9 分布式事务 23910.9.1 稳定性和两阶段提交协议 24010.9.2 事务的通信协议和事务上下文 24110.10 在ejb中设计事务会话 24110.11 小结 243第11章 bmp和cmp的关联 24511.1 bmp和cmp的区别 24511.2 基数性 24611.2.1 1:1 关联 24711.2.2 1:n关联 25011.2.3 m:n 关联 25411.3 方向性 26011.3.1 使用bmp实现方向性 26111.3.2 使用cmp实现方向性 26211.3.3 方向性不可以映射到数据库模式 26311.3.4 选择双向还是单向关联 26411.4 惰性载入(lazy loading) 26411.5 聚合–组合和级联删除 26511.6 关联和ejb-ql 26711.7 递归关联 26811.8 循环关联 26811.9 引用完整性 26911.10 小结 272第12章 持久化最优操作 27312.1 何时使用实体bean 27312.1.1 控制 27312.1.2 参数传递的类比 27312.1.3 过程化(procedural)与面向对象的对比 27412.1.4 高速缓存 27412.1.5 实施模式独立性 27512.1.6 易于使用 27512.1.7 移植 27512.1.8 快速应用开发 27512.2 选择cmp或是bmp 27612.2.1 代码简化和快速应用开发 27612.2.2 性能 27612.2.3 调试 27612.2.4 控制 27712.2.5 应用程序服务器和数据库独立性 27712.2.6 关联 27812.2.7 学习曲线和代价 27812.3 为实体bean选择正确的粒度 27812.4 持久化的提示和技巧 27912.4.1 需要注意对象关系之间的阻抗不匹配 27912.4.2 硬代码sql和软代码sql 28012.4.3 何时使用存储过程 28012.4.4 规范化和反规范化 28212.4.5 使用ejb对象模型来驱动数据模型 28312.4.6 采用最好的数据设计方法 28312.4.7 使用代理键 28312.4.8 理解数据库升级所带来的影响 28412.4.9 记录ejb组件的版本 28412.4.10 使用遗留数据库设计 28512.4.11 随时间改变的模式 28912.4.12 处理大结果集 29012.5 小结 291第13章 ejb最优操作和性能优化 29313.1 何时使用状态bean和无状态bean 29313.2 何时使用消息或者rmi-iiop 29413.3 如何使用负载规划保证响应时间 29613.4 如何使用ejb实现单实例 29713.5 交换实体bean和会话bean 29813.6 性能调整实体bean 29913.7 选择本地接口或者远程接口 30013.8 如何调试ejb 30013.9 区分资源 30113.10 装配组件 30213.11 开发可复用组件 30313.12 何时在ejb中使用xml 30313.13 同ejb进行遗留集成 30413.14 小结 306第14章 集群服务 30714.1 大规模系统概述 30714.1.1 何谓大规模系统 30714.1.2 基本术语 30814.1.3 集群的区分 30914.2 实现集群的ejb 31214.2.1 如何集群ejb组件 31214.2.2 幂等的概念 31314.2.3 无状态会话bean的集群 31314.2.4 状态会话bean的集群 31514.2.5 实体bean的集群 31614.2.6 消息驱动bean的集群 31814.3 其他ejb集群问题 31914.3.1 first contact 31914.3.2 initial access logic 32014.4 小结 320第15章 开始ejb项目 32115.1 确定商务需求 32115.2 确定j2ee是否适合您的项目 32115.3 确定ejb是否合适 32215.4 确定项目开发人员 32415.5 设计完整的对象模型 32515.6 实现单个垂直薄片(vertical slice) 32615.7 选择应用服务器 32715.8 划分开发小组 32715.9 投资开发工具 32915.10 投资标准建立方法 32915.11 小结 330第16章 选择ejb服务器 33116.1 j2ee 1.3 商标 33116.2 可插入式jre 33116.3 转换工具 33216.4 复杂映射 33216.5 第三方jdbc驱动程序的支持 33216.6 惰性载入 33216.7 延迟数据库写入 33216.8 可插入式持久化供应商 33316.9 内存中数据的缓存 33316.10 集成层次的支持 33316.11 可伸缩性 33316.12 高可用性 33416.13 安全性 33416.14 ide集成 33416.15 uml编辑器的集成 33516.16 智能负载平衡 33516.17 无状态透明的失败转发 33516.18 集群 33616.19 java管理扩展(jmx) 33616.20 管理支持 33616.21 热部署(hot deployment) 33616.22 实例组合 33716.23 自动ejb生成 33716.24 合理地关机 33716.25 实时部署 33716.26 分布式事务处理 33816.27 高级消息体系结构 33816.28 可选的ejb组件 33816.29 j2ee连接器体系结构(jca) 33816.30 web服务 33916.31 工作流程 33916.32 开放源代码 34016.33 专业化的服务 34016.34 非技术标准 34016.35 小结 341第17章 ejb-j2ee的集成:创建一个完整的应用 34317.1 商务问题 34317.2 最终网站预览 34417.3 技术需求 34617.3.1 商务逻辑层的对象模型 34617.3.2 产品 34717.3.3 顾客 34817.3.4 购物篮 34817.3.5 购物篮条目 34917.3.6 估价器 34917.3.7 订单 34917.3.8 订单条目 35017.3.9 订单处理器 35017.4 表达层的对象模型 35117.4.1 何谓servlet 35117.4.2 何谓javaserver pages 35317.4.3 如何组合servlet、jsp和ejb组件 35317.4.4 电子商务部署中的jsp 35517.5 示例代码 35617.6 小结 361第四篇 附 录附录a rmi-iiop和jndi教程 365a.1 java rmi-iiop 365a.1.1 远程方法调用 366a.1.2 远程接口 367a.1.3 远程对象实现 368a.1.4 根程序和程序框架 370a.2 对象序列化和参数传递 371a.2.1 值传递 371a.2.2 对象序列化 371a.2.3 序列化规则 372a.2.4 怎样标识暂态 373a.2.5 对象序列化和rmi-iiop 373a.3 java命名和目录接口(jndi) 376a.3.1 命名和目录服务器 376a.3.2 命名和目录的问题 378a.3.3 进入jndi 378a.3.4 jndi的优点 378a.3.5 jndi的结构体系 379a.3.6 jndi概念 380a.3.7 命名系统、命名空间和合成命名 381a.3.8 初始上下文生成库 382a.3.9 jndi编程 383a.4 rmi-iiop和jndi的集成 384a.4.1 将rmi-iiop服务器绑定到jndi 385a.4.2 使用jndi查询rmi-iiop服务器 386a.5 小结 387附录b corba协同工作 389b.1 何谓corba 389b.2 为何要关心corba 390b.3 理解corba是如何工作的 391b.4 omg的接口定义语言 392b.4.1 将omg idl映射成具体的语言 393b.4.2 corba静态调用 394b.5 corba提供的众多服务 395b.6 对rmi-iiop的需求 395b.6.1 rmi-corba协同工作的需求 395b.6.2 rmi与corba的结合 397b.6.3 解决rmi和corba之间的差别 398b.7 rmi与corba的协同工作综述 400b.7.1 带有corba对象实现的rmi-iiop客户 400b.7.2 带有rmi-iiop对象实现的corba客户 400b.7.3 rmi-iiop和corba的引导程序 401b.7.4 美好的前景:corba与ejb的结合 401b.7.5 不能从corba-ejb协同工作中获得 402b.7.6 范例代码 402b.8 小结 404附录c 部署描述符参考 405c.1 如何阅读dtd 405c.2 header和root元素 405c.3 定义会话bean 407c.4 定义实体bean 408c.4.1 [entity] 409c.4.2 [cmp-field] 410c.4.3 [query] 410c.4.4 [query-method] 410c.4.5 [method-params] 411c.5 定义消息驱动bean 411c.5.1 [message-driven] 411c.5.2 [message-driven-destination] 412c.6 定义环境属性 413c.7 定义ejb引用 413c.7.1 [ejb-ref] 414c.7.2 [ejb-local-ref] 415c.8 定义安全性 415c.8.1 [security-role-ref] 415c.8.2 [security-identity] 416c.8.3 [run-as] 416c.9 定义资源工厂 416c.9.1 [resource-ref] 417c.9.2 [resource-env-ref] 417c.10 定义关联 418c.10.1 [relationships] 419c.10.2 [ejb-relation] 419c.10.3 [ejb-relationship-role] 419c.10.4 [relationship-role- source] 420c.10.5 [cmr-field] 420c.10.6 定义装配描述符 420c.10.7 [assembly-descriptor] 421c.10.8 [security-role] 422c.10.9 [method-permission] 422c.10.10 [container-transaction] 422c.10.11 [exclude-list] 423c.10.12 [method] 423c.10.13 [method-params] 423附录d ejb查询语言 425d.1 概述 425d.1.1 一个简单示例 425d.1.2 关联的作用 427d.2 ejb-ql语法 427d.2.1 from语句 427d.2.2 where语句 429d.2.3 执行比较操作 431d.2.4 select语句 431d.2.5 真值表 434d.3 小结 435附录e ejb快速索引向导 437e.1 ejb api 索引 447e.1.1 ejbcontext 447e.1.2 ejbhome 448e.1.3 ejblocalhome 448e.1.4 ejblocalobject 449e.1.5 ejbmetadata 450e.1.6 ejbobject 450e.1.7 enterprisebean 451e.1.8 entitybean 451e.1.9 entitycontext 454e.1.10 handle 455e.1.11 homehandle 455e.1.12 messagedrivenbean 456e.1.13 messagedrivencontext 456e.1.14 sessionbean 456e.1.15 sessioncontext 458e.1.16 sessionsynchronization 458e.2 异常索引 459e.3 事务索引 460


飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。