书籍详情
BITTER EJB(中文版)
作者:(美)塔特|译者
出版社:机械工业出版社
出版时间:2005-09-01
ISBN:9787111172499
定价:¥38.00
购买这本书可以去
内容简介
EJB作为J2EE应用开发的服务器端核心部分,以Java企业编程救星的面貌出现,堪称Java开发问题的解药,因此大受欢迎。它的复杂性一方面可以带来超强的能力,但同时混乱和困惑也如影随形。要想有效地利用EJB,有什么最佳途径呢?本书讨论了当今大家争论得如火如荼的话题。本书作者找出并解释了常见的EJB陷阱,并把这些陷阱提升为“反模式”。这些反模式可以帮助人们避免一些最重要的EJB问题,从持久存储到性能领域都有所涉及。如果能清楚地知道哪些事情不该做,将能更深刻地感受到书中所述最佳实践的意义所在。本书内容:■何时使用EJB以及何时不应使用EJB■管理会话状态■实体bean的替代方法■性能调优技术■XDoclet、Ant和JUnit最佳实践■避免各类bean的陷阱,包括消息驱动bean、实体bean、会话bean。[前言]我曾经向与我有多年交情的最要好的朋友MikeOehrtman谈起《BitterJava》中的冒险故事。实际上,书中起码一半以上的故事中都少不了他的身影。我问他有没有自己的故事可以拿出来,因为当时我们正在筹划另一本Bitter系列的书。他说可以贡献一些徒步旅行的故事。听了这话,我不禁大笑起来,并告诉他如果只是到处走走还称不上我所说的历险。Mike反驳说,“相信我,你会喜欢这个故事的。”那时我们背着背包在阿拉斯加旅行。一天我们来到Denali国家公园,在与守园人的交谈中,他告诉我们必须对旅行有所计划。这个公园有很好的监视系统,所以即使一路上没有看到其他的游客,守园人也能知道我们身在何处,误差不会超过两英里。我也算是个旅行老手了,所以看地图是不成问题的。我对旅行做了安排,带上地图,乘上一辆公共汽车就出发了,开始了在偏僻地方的旅行。这辆车上坐满了本地人,司机也是一个土生土长的阿拉斯加人。他的胡子可真长,甚至比坐在我旁边的Beth还有过之而无不及。在旅途中我们看到了数不胜数的野生动物:麋鹿、驼鹿,甚至还有一些野羊。只要你能想到的动物,我们都看到了。转过一个弯后,前面出现一条河,一头熊矗立在前方,这可不是去年我们在Smoky山脉见过的那种小棕熊。这是一头块头极大的灰熊。Beth拍了拍我的肩膀,示意我看车的另一边,我看到到处都是大块头的熊。我以前也不是没有见过大灰熊,但是一下子看到这么多确实是头一遭。车在穿过熊群的时候慢了下来。这样一来,我开始紧张了。我担心这些熊会不会向我们发动攻击,因为车厢里有的是食物。突然司机把车停了下来,我猜想是不是他也很害怕。不过,他只是坐着不动,这个时候我可真的开始冒汗了,怀疑是不是发动机出了故障?最后,司机转过头来向Beth和我问道:“不下吗?”这时我才恍然大悟。原来我们要在这一站下车。不错,此时此刻,我们必须置身于那么多的熊中间。我真的从来没有这么胆战心惊过。别人经常问我为什么能如此热衷于这样一种工作,在键盘前一坐就是十几个小时可谓是家常便饭。他们免不了将写作与污迹斑斑的键盘、满是灰尘的显示器和单调乏味的书桌关联起来。我见过熊,而且见过许许多多的熊。如果你致力于Java开发,我想你也一定遇到过许多你眼中的“熊”。首当其冲的要算是经济了。我是从2000年开始的经济衰退之初着手写作的。我曾写过《BitterJava》,并在这个领域一片混乱的时候开始从事顾问工作。作为Java行业根基的一些公司地位已经在动摇。Sun遇到了各种挑战,WebGain甚至销声匿迹。实力结构正在发生着变化。在写这本书时,Oracle买下了TopLink,这打破了对象持久存储市场的平衡局面。IBM则买下了Rational,这也极大地影响着它的发展。我的客户、读者和学生们还应当了解到另一只“熊”,这就是.NET。不论是对于客户还是Microsoft产品,我认为.NET都是一只货真价实的熊。我需要理解.NET在企业环境中可以做什么,它是否大到可以“吃掉”J2EE?它的“攻击”是否会影响到我的生活?迄今为止这一切还没有发生。不过,这只熊的存在却是毋庸置疑的,它还在一路吞噬着,成长壮大着。PetStore基准测评(在第1章中会谈到)使我切身感受到威胁的存在。一切都可能瞬息万变,我们只需要确保一点,那就是绝不能小看像Microsoft这样危险的竞争者。另一个让我真切感受到的“熊”是EJB,这可真是一只又大又肥的“熊”。这个行业为EJB提供了充足的“营养”。IBM、Sun、Oracle、BEA还有其他众多厂商都在大力扶持EJB。EJB是有“牙齿”的:我们最终肯定会看到一些商业EJB应用将大规模增长。而且EJB的精力也很旺盛:应用服务器市场的人气仍然很旺。我曾经多次远远地观望EJB,然后悄悄走开,担心这只“熊”会转向我,用它的利齿把我撕成碎片。EJB也确实可能会转过来面向你。EJB项目经常会失败,而且失败的频率着实让人震惊。这种失败的可能性也成为本书的一个谈资。如果你仔细研读过成功的模式和最佳实践,我想你可能算是一个不错的开发人员,但是如果你想更上一层楼,那么还必须了解技术的局限所在。勇敢地面对EJB,你一定会有所历练。这个过程会增长你的技艺,打开你的思路,但同时受伤也是在所难免的。幸运的是,还有一种更好的学习方法。《BitterJava》使我确信,从他人的错误中学习不仅很有意义,而且会有很高的效率。按前面故事的说法,在本书中,我和合作者们最后都下了车,真实地面对这些熊。并不是说对遇到的所有项目都推荐EJB,绝非如此。我们只是指出EJB有其一席之地,而且在适当的场合下这种“动物”可能会有超群的能力。所以,勇敢地下车吧,探察最大的熊所藏身的阴暗洞穴。我们要对EJB的危险和力量都了然于胸。
作者简介
BruceTate身为一个顾问,经常在学术会议上发表讲演,他着力推广和讲授有效的Java设计。
目录
前言
致谢
关于本书
第一部分 基础知识
第1章 取舍之苦
1.1 论战风暴
1.2 EJB反模式的历史
1.3 案例研究:PetStore基准测评
1.4 反模式:金榔头
1.5 小结:前瞻
1.6 本章中的反模式
第2章 代价之苦
2.1 层出不穷的争论
2.2 反模式:大锤打苍蝇
2.3 实体bean应另当别论
2.4 实体bean:两大进步
2.5 实体bean的深入探讨
2.6 小结
2.7 本章中的反模式
第3章 接口之苦
3.1 构建一个好接口
3.2 设计应用层
3.3 反模式:本地和远程接口并存
3.4 反模式:闯入厨房的顾客
3.5 反模式:定制DTO
3.6 小结
3.7 本章中的反模式
第二部分 会话和消息
第4章 会话之苦
4.1 线程和同步
4.2 处理异常
4.3 重复大数据集
4.4 高效地互操作
4.5 小结
4.6 本章中的反模式
第5章 会话状态之苦
5.1 谈谈会话状态
5.2 核心反模式:会话包袱
5.3 用有状态会话bean管理会话
5.4 用servlet管理会话
5.5 反模式:会话状态金榔头
5.6 小反模式:将有状态会话bean用作共享数据缓存
5.7 反模式:会话大杂烩
5.8 小反模式:会话抖动
5.9 小反模式:腐烂的会话垃圾
5.10 小结: 驯兽
5.11 本章中的反模式
第6章 消息之苦
6.1 JMS简介
6.2 一个早期反模式:胖消息
6.3 小反模式:瘦消息
6.4 一个订单处理系统雏形
6.5 反模式:XML作为银弹
6.6 反模式:消息拥堵
6.7 小反模式: 请求立即应答
6.8 使用消息驱动bean
6.9 反模式:自成一体的消费者
6.10 反模式:烫手的山芋
6.11 反模式:慢吞吞的食客
6.12 反模式:监听
6.13 反模式:事后才考虑性能
6.14 小结:获得消息
6.15 本章中的反模式
第三部分 EJB持久存储
第7章 实体之苦
第8章 选择之苦
第四部分 更宽泛的话题
第9章 调优之苦
第10章 构建之苦
第11章 苦乐参半的未来
附录
附录A Bitter传说
附录B Bitter基础
参考文献
致谢
关于本书
第一部分 基础知识
第1章 取舍之苦
1.1 论战风暴
1.2 EJB反模式的历史
1.3 案例研究:PetStore基准测评
1.4 反模式:金榔头
1.5 小结:前瞻
1.6 本章中的反模式
第2章 代价之苦
2.1 层出不穷的争论
2.2 反模式:大锤打苍蝇
2.3 实体bean应另当别论
2.4 实体bean:两大进步
2.5 实体bean的深入探讨
2.6 小结
2.7 本章中的反模式
第3章 接口之苦
3.1 构建一个好接口
3.2 设计应用层
3.3 反模式:本地和远程接口并存
3.4 反模式:闯入厨房的顾客
3.5 反模式:定制DTO
3.6 小结
3.7 本章中的反模式
第二部分 会话和消息
第4章 会话之苦
4.1 线程和同步
4.2 处理异常
4.3 重复大数据集
4.4 高效地互操作
4.5 小结
4.6 本章中的反模式
第5章 会话状态之苦
5.1 谈谈会话状态
5.2 核心反模式:会话包袱
5.3 用有状态会话bean管理会话
5.4 用servlet管理会话
5.5 反模式:会话状态金榔头
5.6 小反模式:将有状态会话bean用作共享数据缓存
5.7 反模式:会话大杂烩
5.8 小反模式:会话抖动
5.9 小反模式:腐烂的会话垃圾
5.10 小结: 驯兽
5.11 本章中的反模式
第6章 消息之苦
6.1 JMS简介
6.2 一个早期反模式:胖消息
6.3 小反模式:瘦消息
6.4 一个订单处理系统雏形
6.5 反模式:XML作为银弹
6.6 反模式:消息拥堵
6.7 小反模式: 请求立即应答
6.8 使用消息驱动bean
6.9 反模式:自成一体的消费者
6.10 反模式:烫手的山芋
6.11 反模式:慢吞吞的食客
6.12 反模式:监听
6.13 反模式:事后才考虑性能
6.14 小结:获得消息
6.15 本章中的反模式
第三部分 EJB持久存储
第7章 实体之苦
第8章 选择之苦
第四部分 更宽泛的话题
第9章 调优之苦
第10章 构建之苦
第11章 苦乐参半的未来
附录
附录A Bitter传说
附录B Bitter基础
参考文献
猜您喜欢