出版时间:2010-6 出版社:清华大学出版社 作者:(美)袁俊涛(Yuan,M.J.)(美)欧夏利克(Orshalick,J.) 等著,杨明军,顾剑 译 页数:400
Tag标签:无
前言
JBoss Seam是一个功能强大的Web应用程序框架,Seam的英文含义是“缝合”,顾名思义,它是极具粘合力的技术缝合剂,能够将JSF、EJB3、Ajax以及jBPM等诸多技术缝合在一起。Seam的剑锋直指下一代的Web 2.0应用程序,而它所统一和集成的这些技术正是Web 2.0所必需的。Seam提供了多种不同粒度的上下文状态,其作用域涵盖从对话级别到业务流程级别,将程序员从HTTP Session状态管理方法的局限性中解脱出来。JBoss Seam属于一款集成框架,它为开发人员提供了大量开箱即用的组件,这样就为程序员免除了编写大量样板代码的烦恼。统一的编程模型、简单明晰的状态管理以及大量的现成组件,这些工具使得开发Web应用程序成为一件舒心的事情。 由Seam团队开发成员编写的本书深入阐述了Seam的核心概念、运行原理,并使用大量的示例加以诠释。无论是刚从事Java Web应用程序开发的新手,还是希望了解Java EE最新进展的老手,本书都非常适合。 本书主要由杨明军、顾剑翻译。Be Flying工作室负责人肖国尊负责本书译员的选定、翻译质量和进度的控制与管理。
内容概要
仅仅在初次发行的6个月之后,JBoss Seam就已经成为企业Java领域中最热门的框架,每个月都有超过一万次的下载。Seam将标准Java EE技术与几个非标准但有趣的技术整合成一个一致的、统一的编程模型。这些技术包括JSF、EJB3、JPA、Hibernate、Facelets、jBPM、JBoss Rules(Drools)、iText以及更多其他技术。Seam能够在几乎所有领先的Java应用服务器上运行,包括但不仅限于JBoss应用服务器和Tomcat。 本书是由来自Seam团队的开发人员撰写的第一本综合性指南。我们将带来有关Seam的最新信息,讲解它的设计背后的基本原理,并讨论Seam中的各种可选方法。根据我们的实践经验,本书还给出了有关如何使用Seam的提示和最佳实践。 当然,考虑到Seam正在快速改进的特点,本书将不停地奋力直追几乎每个月都发表的Seam新发行版本。本书内容涵盖Seam发行版本2.1.0。在可预见的未来,Seam的后续发行版本至少应该兼容2.1.0。为了满足希望始终站在最前沿的读者,我们在www.michaelyuan.com/blog和www.solufionsfit.com/blog上维护本书的博客,为您带来有关Seam的最新更新。请访问本书的博客!
作者简介
袁俊涛(Michael Juntao Yuan),是Ringful有限责任公司的创始人之一,这是一家开发电话语音RESTful APl和移动消息短信解决方案的公司。他为Seam项目贡献代码,并在WWW.michaelyuan.com/blog中撰写有关Seam的博客文章。Yuan曾经在Red Hat的JBoss部门担任过技术产品经理,并著有5本有关软件开发的书籍。 欧夏利克(Jacob Orshalick),是一位独立咨询师,拥有Focus IT Solutions有限责任公司。Jacob是Seam项目的活跃贡献者,他-直在其博客网站上撰写有关SeamgnJava EE技术的文章。 Thomas Heute,曾经是JBoss公司的JBoss Seam Framework的共同领导者,现在是JBoss Portal项目成员。他曾经在美国国家标准技术研究院和美国国家安全局从事高级研究工作。
书籍目录
第1部分 Seam入门 第1章 Seam的定义 1.1 集成和增强Java EE框架 1.2 能够理解ORM的Web框架 1.3 支持有状态的Web应用程序 1.4 为Web 2.0做好准备 1.5 通过双向依赖注入实现POJO服务 1.6 惯例优先原则 1.7 避免滥用XML 1.8 为方便测试而设计 1.9 优秀的工具支持 1.10 开始编写代码 第2章 Seam Hello World 第3章 推荐使用的JSF增强功能 第4章 无需EJB3的Seam 第5章 快速应用程序开发工具第II部分 简化有状态应用程序开发 第6章 Seam有状态框架简介 第7章 组件编程思想 第8章 对话 第9章 工作区和并发对话 第10章 嵌套对话 第11章 事务与持久化第III部 分整合Web与数据组件 第12章 验证输入数据 第13章 可单击数据表 第14章 利用事件解耦组件 第15章 可收藏网页 第16章 Seam CRUD应用程序框架 第17章 适当地处理错误 第18章 Seam安全框架第IV部分 Seam对AJAX的支持 第19章 自定义AJAX UI组件 第20章 让已有组件支持AJAX 第21章 在Seam中直接集成JavaScript第V部分 业务流程和规则 第22章 基于规则的安全框架 第23章 在Web应用程序中集成业务规则 第24章 管理业务流程 第25章 集成业务流程和规则第VI部分 Seam应用程序测试 第26章 单元测试 第27章 集成测试第VII部分 生产部署 第28章 使用生产数据库 第29章 Java EE 5.0部署 第30章 性能调整和集群第VIII部分 新兴技术 第31章 Web应用程序中周期性作业的调度 第32章 利用多层缓存提高可伸缩性 第33章 Seam对Groovy的支持 第34章 Web Beans简介附录
章节摘录
某个类的名称拼写错误而造成的运行时出错,是很难在运行时追踪到产生问题的根源的。缺乏合理的默认配置信息就会进一步把这个问题扩大化。实际上,在某些框架中,伪装成XML文件的样板代码差不多等同于甚至超过应用程序中实际可运行的Java代码数量。Java开发人员将这些XML文件称为“XML地狱”。 企业级Java.社区认识到了这个问题的严重性,并试图使用Java源代码中的注解替代XML文件。EJB3就是Java官方组织努力的结果,它提出了在企业级Java组件中使用注解。EJB3使得XML文件完全可选,这就朝着正确的方向迈进了一步。Seam将EJB3的注解信息添加进来,并对基于注解的编程模型进行扩展,将其扩展到整个Web应用程序。当然,XML对于配置数据来说并非完全都是坏事。Seam的设计人员意识到,XML最适合于指定Web应用程序的页面流,或者定义业务流程工作流。使用:XMlL文件可以集中精力管理整个应用程序的工作流,而不会将这些信息散落到各个Java源文件中。工作流的信息甚少和源代码相匹配,因此,XML文件不必要将已经存在于源代码中的信息再次复制到自身中。有关这方面主题的更多内容,请参阅第24.5节。 1.8 为方便测试而设计 Seam是基于方便测试的目的而设计的。所有的Seam组件都只是带有注解的POJO对象,因此很容易对Seam组件进行单元测试:只需要首先利用普通的Java关键字new创建POJO对象的实例,然后再运行测试框架(例如Unit或者TestNG)中的任意方法即可。如果需要对多个Seam组件之间的交互进行测试,那么可以首先将这些组件分别进行实例化,然后再手动建立它们之间的相互关系(即明确调用seRer方法,而不是依靠Seam的“依赖注入”特性)。第26章 将讲述如何为Seam应用程序建立单元测试,以及如何为测试用例模拟数据库服务。 Seam中的集成测试甚至可能比单元测试更为容易。在Seam测试框架中,可以通过编写一些简单的脚本来模拟Web用户交互,并对交互的结果进行测试。也可以在测试脚本中使用JSFEL(Expressionl,anguage,表达式语言)来引用Seam组件,就像在JSFWeb页面中所做的一样。类似于单元测试,也可以直接从JavaSE环境中的命令行直接运行集成测试,不需要专门为了运行这些测试而启动应用服务器。
图书封面
图书标签Tags
无
评论、评分、阅读与下载
Seam Framework Web开发宝典 PDF格式下载