出版时间:2010-7 出版社:科学出版社 作者:(美)巴西亚 等编著,叶斌 译 页数:386 译者:叶斌
Tag标签:无
前言
两年前,我有幸与一位毕业不久的年轻同事一起工作,我们在同一个项目组中分别负责同一个产品的不同模块.这两个模块共同用到了一些需要写到数据库中的数据,我们打算用Hiberrlate来实现数据的持久功能。一天,我正准备就这些数据的数据库模式和持久方式与这位同事详细地讨论一番,没想到他却不以为然:“这样的做法太腐朽了!”我有些诧异于他的反应,不过我明白,这里他用“腐朽”一词的意思是说,把很多时间和精力用在数据库模式的设计和持久方式的考虑上.在现在来说,已经是一种过时的做法了。显然,事实并非如此,可是,是什么原因能够让一个对软件的设计和开发抱有极大热忱的年轻人有如此的想法呢?我想,本书中的一句话可以回答这个问题,这句话是这样说的:不学习历史的人注定要重复历史。在这个问题上,本书可以告诉我们.我的这位同事至少步入了两个误区:一是认为,依赖卜tiberrlate自身就能够解决所有的数据库模式和领域模型之间的阻抗失配问题;二是认为,随着持久性机制的成熟,软件的设计者和开发者无需再花费更多的时间来处理数据持久和数据库模式方面的问题了。那么,在现代的软件设计和开发过程中,我们在数据的持久性方面应该持什么样的一种观念呢7本书不仅就这一问题作出了解答,而且传授了选择持久性机制和实现数据持久过程的最佳做法。本书由IBM的5位专家共同撰写,他们都是IBMSoftwareServ’IcesforWebSphere(ISSW)部门的成员.有着丰富的技术实践经验,他们把多年来在工作中的心得体会汇集在一起,使得本书拥有了自己独特的视角。他们在提出问题时,从自己工作中的实际出发,分析问题对企业应用的影响,在选择问题的解决方法时,则详细说明如何根据实际的情况来权衡,然后作出取舍,而且还针对读者可能会作出的决定,提出了自己的忠告。所以,由于作者本身所从事的工作的关系,本书在实践方面具有很强的指导性和针对性,这也是作者的本意所在。
内容概要
本书由IBM的5位资深专家合著而成,全书分为两部分。第1部为第1~4章,第1~3章分别讲述了持久化技术的发展历史、高层需求对选择持久化技术的影响以及如何根据企业应用的需求来设计持久数据的模式,第4章介绍了一种比较不同持久化技术的方法并给出一份调查问卷。第2部分为第5~10章,从技术背景、架构概况、编程模型、ORM功能支持、调优选项和公共范例开发6方面详细地介绍了JDBC、iBATIS、Hibernate、Open.JPA和puteQuery这5种持久性框架,并就实践过程中可能遇到的问题给出各种建议,以供读者参考。 本书内容丰富,紧跟技术前进的步伐,非常适合.Java开发人员学习使用,同时也是项日经理、系统架构师以及测试人员深入学习Java企业开发知识的必备参考书。
作者简介
作者:(美国)巴西亚(Roland Barcia) (美国)Geoffrey Hambrick (美国)Kyle Brown 译者:叶斌巴西亚(Roland Barcia),高级技术研究人员,IBM Software Service for WebSphere的Web 2.0首席架构师,已发表了40多篇关于JavaⅢ持久性、Ajax、REST、JavaServer Faces以及消息传递技术等方面的文章和论文,在各种平台的中间件系统实施方面积累了1 0年的经验。Geoffrey Hambrick,IBM Software Services for WebSphere Enablement Team的杰出工程师,分布式对象技术领域的先驱者,参与制定各种标准,是IBM developerWorks。专栏the EJB Advocate的作家。Kyle Brown,IBM Software Services and SuPpo rt的杰出工程师,曾与人合著过多本畅销书,其中包括Java Programming with IBM WebSphere and Enterprise Integration Patterns——书。Kyle是模式方面的知名专家,担任PLOP(Pattern Languages of Programs)会议的前任主席。Robert Peterson,IBM Software Service for WebSphere的高级管理顾问,往返于世界各地,为未来的IBM软件系统实施战略性和概念性的验证项目。他出版了大量的技术书籍和论文,经常在各种会议上发表演讲,拥有多项企业系统的美国专利。Kulvir Singh Bhogal,IBM Software Service for WebSphere的高级管理顾问,主管制定和实施WebSphere为中心的SOA解决方案。他在很多技术领域中申请了共100多项专利,在JavaPro Manazine,lBM developerWorks, O'Reilly Media,Java Developer's Journal等多家出版刊物撰写文章。
书籍目录
第1部分 持久性的一个问题 第1章 对象关系映射简史 1.1 对象关系阻抗失配 1.2 Java史前课程 1.2.1 Delphi 1.2.2 Rogue Wave DBTools.h++ 1.2.3 NeXT DbKit 1.2.4 TopLink for Smalltalk 1.2.5 IBM ObjectExtender 1.3 第一代Java解决方案 1.3.1 JDBC 1.0和2.0 1.3.2 Java的TopLink 1.3.3 EJB 1.0 1.3.4 VisualAge Persistence Builder 1.3.5 EJB 2.0 1.4 开源及下一代 1.4.1 Hibernate 1.4.2 iBAIS 1.5 吸收对象数据库的反主流文化 1.5.1 ODMG 1.5.2 JDO 1.5.3 JPA 1.6 面向服务架构及之后 1.6.1 信息作为服务 1.6.2 pureQuery和ProjectZero 1.7 小结 1.8 参考文献 第2章 高层需求和持久性 第3章 设计持久对象服务 第4章 如何评估可选项第2部分 同型比较 第5章 JDBC 第6章 Apachei BATIS 第7章 Hibernate Core 第8章 Apache OpenJPA 第9章 pureQuery和ProjectZero 第10章 将理论付诸实践附录A 安装公共范例
章节摘录
插图:但是,依靠开源社区有存在风险,尤其是那些“一人”项目,或者是支持项目的社区突然消失这类情况。现实情形是,当一种新的方法赢取了社区的人心时,许多看似受欢迎的标准就逐渐消亡了。例如,已经有了两个版本的实体Enterprise JavaBeans组件为应用程序提供ORM框架,但不幸的是,“压错了宝”会导致在企业级持久性方法上的支持者的大量流失2.2.4 供应商、许可协议和支持衡量活跃社区的另一个基准是,该技术是否有市场?特别是,有多少供应商提供(和支持)这一框架?对于参与某一特定技术的供应商或者开源社区来说,通常的情况是“人越多,越开心”,因为没有人希望被锁定到一个单一来源或者(也许更糟的)不受支持的框架上。背后有大软件厂商可以依靠的、提供“收费的技术支持”的开源社区通常要比其他社区做得更好。例如,JBoss拥有Hibernate,BEA支持Open JPA——当细想是充满活力的社区吸引了供应商还是刚好反过来这一问题的时候,我们就处于一个典型的考虑鸡和蛋谁先谁后的处境中。无论如何,这些社区绝对是强大的、活跃的社区。大部分的持久性技术或遵循商业许可协议,或遵循开源的许可协议。使用了商业软件许可协议的,用户需要支付费用来获得软件的使用授权。许可协议定义了一些条款和条件,在这些条款和条件的规定下,用户可以或者不可以使用这一软件。例如,一些商业数据库软件许可协议规定了运行它们的机器的处理器数量。至关重要的是,企业必须密切留意他们已经接受的许可协议,因为违反这些协议的代价相当的高。如果持久性技术由商业公司支持,则需要考虑该商业提供者是否对提供的支持进行收费。还有,必须考虑(即使可能性微乎其微)这个商业提供者停止运营的可能性。许多企业往往基于问责制而选择商业公司,如果在持久性框架中存在错误,企业通常希望立刻有人来修复。使用一些开源解决方案,对代码的修复和更新的要求有可能因为很少或者根本没有责任追究规定而显得“仁慈”一些。因此,企业必须寄希望于他们自己的开发人员能够修正任何错误,或者有开源社区的成员能够解决手边的问题。然而,如果没有把所做的改动放回原先的源代码中,这种许可协议可能会限制你做出这种改动。
编辑推荐
《IBM最佳实践:Java企业级持久化技术指南》:搜索关键词“Java和关系型数据库”可返回许多链接,这些文章大都在谈如何设计数据库,或者如何使用API来创建示例程序,涉及为关系数据存储选择持久性机制的资料非常少,但这往往是开发中面临的重要问题。《IBM最佳实践:Java企业级持久化技术指南》由IBM五位经验丰富的架构师共同撰写,总结他们多年来在工作中的心得体会,整理了JDBC、iBATIS、Hibernate、Java Persistence API和pure Ouery等持久层技术的典型应用案例,让开发者在分析、设计、构建、测试、部署、运营和维护阶段都可以进行参考。与IBM5位专家经验丰富的架构师名对面交流从理论到实践深入学习JDBC、iBATIS、Hibermate Core、OpenJPA和pureQuery等待持久化技术掌握过硬而实用的Java技术成为软件企业所需的技术专才
图书封面
图书标签Tags
无
评论、评分、阅读与下载