Expert One-on-One J2EE Development without EJB中文版

[美] Rod Johnson

出版时间

2005-08-31

ISBN

9787121016844

评分

★★★★★

标签

web编程

书籍介绍

乍一看这本书的名字,Expert one on one J2EE development without EJB并没有给人带来太冲击。毕竟关于J2EE的书太多了,而without EJB看上去有点象是故意挑衅EJB的感觉。一本J2EE的书怎么可能会给人带来信念或思维的冲击呢?但是它做到了,它不仅使自己变成了不朽的经典,也使Rod Johnson成为了我最近一年的新偶像。

                        --xiecc

  你的J2EE项目是否耗费了你太多的时间?它们是否难以调试?它们是否效率不彰?也许你还在使用传统的J2EE方案,然而这种主案太过复杂,而且并非真正面向对象。这里的很多问题都与EJB有关:EJB是一种复杂的技术,但它没有兑现自己曾经的承诺。

  在这本实战手册中,你将看到另一种截然不同的方案:没有EJB,却可以创建质量更高的应用程序,所需的时间和成本则更低。你将学会如何充分利用各种实用的技巧和工具,包括时下流行的Spring框架和Hibernate两个开源工具。你将看到如何高效地解决企业级应用的核心问题,例如事务管理、持久化、远程调用和web设计。你将了解这种新的方案给可测试性、性能和可伸缩性带来怎样的影响,并亲身体验轻量级架构如何大幅降低项目开发所需的时间和工作量。

  自从servlet、EJB、JSP等J2EE技术发布之初,本书作者Rod Johnson就一直在使用这些技术,他对于这些技术的优劣利弊了如指掌。现在,通过这本书,你将可以面对面地分享他的专家经验。

  你将从本书学到……

  如何针对自己的应用程序找到最简单、最易维护的架构;在不使用EJB的情况下有效地管理事务;如何利用AOP和loC解决企业级软件开发中的常见问题;web层设计,以web层在设计良好的J2EE应用中的地位;J2EE应用中最有效的数据访问技术,包括JDBC、Hibernate和JDO;如何利用开源产品提升生产率、减少编码量;如何从设计层面上改善性能和可伸缩性。

  “传统的J2EE设计思路尤其是EJB日益让架构师和开发者们灰心丧气,我这本书正是为这些人而写的。本书将告诉读者,如何从现在开始用更清晰、更高效的方案去替代EJB,并开始迈向web应用的新时代。”

  这本书拥有一大堆“看点”。譬如说,它的作者Rod Johnson拥有10年编写Java程序的经验,目前是Servlet和JDO 2.0两个JSR专家组的成员;再譬如说,书中着力介绍的Spring、Hibernate、WebWork等都是时下流行的开源框架,IoC、AOP之类都是时下流行的概念词汇。而最大的看点就赫然摆在这本书的封面上:“without EJB”。我们曾经在无数的书籍和文章中看到,EJB是J2EE的核心技术之一;而Rod Johnson的这本书竟然宣称,绝大多数的J2EE应用根本不需要EJB。这种近乎挑衅的姿态令任何一个负责的J2EE架构师很难不萌生一探究竟的念头——不论你是打算赞同他还是打算驳斥他。

  但所有这些尽皆不是本书最大的价值所在。选择一种架构、一种技术的依据是什么?Rod Johnson认为,应该是基于实践的证据、来自历史项目或亲自试验的经验,而不是任何形式的偶像崇拜或者门户之见。书中谈到了企业应用方方面面的问题和解决办法,而这些方案无一不是这种“循证方法”的产物。除了把这些方案交给读者,Rod Johnson通过这本书希望传达的、更为重要的信息正是“循证”的工作方式——那原本就应该是程序员的工作方式。

AI导读
核心看点
  • 本书深入剖析传统J2EE架构的复杂性弊端,特别是EJB技术在实际开发中带来的高成本、低效率及难以调试等问题。作者Rod Johnson通过对比分析,论证了为何放弃EJB能显著提升开发生产率,并倡导基于实践证据的架构选择,拒绝盲目追随技术潮流。
  • 详细阐述轻量级J2EE开发方案,重点介绍如何利用Spring框架和Hibernate等开源工具解决企业级应用中的事务管理、持久化、远程调用及Web设计等核心问题。书中提供了大量实战案例,展示如何在不依赖重型容器的情况下构建高质量、可维护的应用系统。
  • 强调测试驱动开发的重要性,指出测试应贯穿整个开发生命周期,而非事后补救。同时深入探讨AOP(面向切面编程)和IoC(控制反转)等设计模式在企业级软件开发中的应用,帮助读者理解如何通过简单性红利降低系统复杂度,提升代码的可测试性与安全性。
适合谁读
  • 具备一定J2EE开发经验,但深受EJB复杂性困扰,希望寻求更高效、简洁架构方案的资深Java开发者。本书不适合初学者,读者需对J2EE规范、EJB机制及XML配置有深入理解,才能体会作者对传统架构批判的深刻意义。
  • 正在学习或研究Spring框架、Hibernate等开源技术,希望从底层原理理解这些工具如何替代传统EJB功能的开发者。通过本书,读者可以系统掌握轻量级架构的设计思想,提升构建企业级应用的能力,避免陷入技术陷阱。
  • 对软件架构设计、设计模式及软件工程伦理感兴趣的程序员。书中关于简单性、复杂性代价及循证架构的讨论,不仅限于技术实现,更涉及工程思维的提升,适合希望从架构师视角审视项目全生命周期、提升代码质量的技术管理者阅读。
读前提醒
  • 阅读前需具备扎实的Java基础及J2EE规范知识,特别是EJB 2.x的实际使用经验。若未接触过EJB的复杂配置与开发痛点,可能无法理解作者批判的力度及替代方案的价值。建议结合Spring官方文档或相关教程辅助阅读,以验证书中提到的技术实现细节。
  • 本书观点具有强烈的时代背景,反映了早期J2EE社区对EJB的反思。读者应保持客观批判态度,理解当前EJB 3.x及Jakarta EE已吸收大量轻量级特性,书中部分技术对比已不适用。重点应汲取其倡导的简单性原则、测试优先及循证架构的工程思想,而非拘泥于具体技术栈的对立。
  • 书中涉及大量架构模式对比及底层原理分析,内容晦涩且翻译质量参差不齐,阅读难度较大。建议不要试图一次性通读,而应针对特定章节(如事务管理、持久化策略)进行深入研究。遇到难以理解的概念,务必查阅英文原版或相关技术社区讨论,以确保准确理解作者意图。
读者共识
  • 本书被视为Java企业级开发领域的经典之作,对推动Spring框架普及及轻量级架构发展具有里程碑意义。尽管部分技术细节已过时,但其倡导的简单性、可测试性及循证架构理念至今仍具极高指导价值,被众多资深开发者奉为架构思维启蒙书,值得反复研读。
  • 读者普遍认为本书难度较高,不适合初学者或仅使用SSH等框架进行简单开发的程序员。许多评论指出,缺乏EJB实战经验或深厚技术功底的人难以读懂此书,甚至可能产生误解。因此,它仅推荐给有丰富J2EE开发经验、希望深入理解架构本质及提升工程素养的资深人士。
  • 尽管部分读者对翻译质量提出批评,认为存在语句不通顺或术语不准的问题,但依然认可其核心内容的价值。大家一致认为,书中对EJB复杂性的批判及对轻量级方案的论证极具洞察力,能够引发对软件工程中复杂性代价的深刻反思,是提升架构设计能力的重要参考资料。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "Testing should occur throughout the development lifecycle. Testing should never be an afterthought. Integrating testing into the development process brings many benefits."
  • "It's impossible for testing to guarantee that a program is correct. However, testing can provide a high level of confidence that a program does what we expect of it."
  • "It is important to recognize the limitations of testing - testing won't always expose concurrency issues. Testing is no substitute for careful thought before writing code; testing can never catch all bugs."
  • "Remember to use test failures to improve error messages and handling. If a test fails, and it wasn't immediately obvious what went wrong, try first to make the problem obvious (through improved error handling and messages) and then to fix it."
  • "任何一个从事 J2EE 应用开发的程序员或多或少都曾有过这样的感觉:这个世界充斥着形形色色的概念和“大词”,如同一个幽深广袤的魔法森林般令人晕头转向,不知道该追随这位导师还是该信奉那个门派。这时,Rod Johnson 发出振聋发聩的一呼:尔等不必向泥胎偶像顶礼膜拜,圣灵正在尔等自身——这就是他在书中一直倡导的“循证架构”。选择一种架构、和种技术的依据是什么?Rod Johnson 认为,应该是基于实践的证据、来自历史项目或亲自试验的经验,而不是任何形式的偶像崇拜或者门户之见。书中谈到了企业应用方方面面的问题和解决办法,而这些方案无一不是这种“循证方法”的产物。除了把这些方案交给读者,Rod "
目录
第1章 为什么要“j2ee without ejb”
聚光灯下的ejb
j2ee还剩什么?
站在十字路口的j2ee
前行的路

显示全部
用户评论
扫了一边。
本来在5分档次的,可惜翻译得太烂。瑕不掩瑜。
现在读过来,AOP是一大亮点。很好
我司也要抛弃ejb了
过了那个 spring pk j2ee 的时间,读起来感觉不大。
书中的很多技术都已经作古,但是作者的思想和精神永存,通过spring一直在延续
虽然是旧书,了解spring核心思想与框架由来必备
在当时是引起轰动的一本书,理性分析了EE真正的应用场景有哪些,以及在EE不合适的场景,还有哪些可能的技术选择。 虽然书中有的工具已经过时,但即使在今天,它也是一本值得读的书。无论从技术团队的构成方式,测试的准则,设计模式的应用放到现在观点还是正确的。而且作者思路严谨,对自己观点的举例充分,章节组织也很连贯,读起来很顺畅。 书中的 interfaces21 就是 spring的前身,spring 本身就是一个奇迹。它神奇在,没有特别的算法,都是设计模式的应用,却能击垮了官僚的j2ee。这本书中提到了 jdbctemplate mvc context 等几个包的构建思路。算是 spring 0.9版本。个人觉得这是最有价值的部分。
一周目; 读得半懂不懂, 书摘做了一堆; 05 年的书, 算是考古项目了. 作者是 Spring 之父. Spring 算是从 EJB 的废墟上诞生的吧, 作者花了150 页(整章, 不算后面其他)吐槽 EJB. 表面上是本 Spring 的书, 实际还写了 事务, 持久化, RMI, WebMVC, TDD 等领域的东西, 虽然不很详细, 虽然讲的难懂, 但是思路很清晰, 拓宽了我的视野, 能感觉到到一个顶级架构师对企业级应用的深刻理解, 在实践中的摸爬滚打, 以及对 EJB 的怨气. 我愿意打满分, 是一本值得多读的书. 4 星是因为, 对 分布式 的理解, 感觉有些过时了, 其他还好.
一本比较老的技术书籍,主要涉及企业开发中EJB的弊端以及被被IOC,AOP等技术集合的轻量级框架代替。 J2EE主要是针对多层Web服务开发提供规范、协议等支持,包含Servlet/EJB/JDBC等,而EJB规范主要针对事务,安全,bean管理的组件。 其中AOP以及与其他技术的结合部分讲的和清晰。其他部分在框架和工具方面由于比较老没有看。
收藏