多名来自Sun中国工程研究院的工程师们将用他们的视角,解读当今最为流行的开源应用服务器。\r\n GlassFish是一个以社区为基础,全面实现了Java EE 5各项标准并拥有众多独到特性的开源项目。本书介绍GlassFish及其作为Java EE平台的参考实现所拥有的诸多特性,内容涵盖GlassFish的构建和管理、Java EE平台上的各类应用开发技术(包括Servlet、JSP、JSF、AJAX、EJB 3.0和Web服务等)、GlassFish的独到特性及其实现代码的解读,并附带丰富的实例和代码讲解。
基础篇\r\n 第1章 Java EE5和GlassFish\r\n 第2章 开源和社区\r\n 第2章 安装和构建GlassFish\r\n应用篇\r\n 第4章 管理控制台\r\n 第5章 GlassFish命令行\r\n 第6章 Wed应用程序基础和Servlet\r\n 第7章 JSP编程 \r\n 第8章 JSF编程\r\n 第9章 AJAX技术\r\n 第10章 Wed服务\r\n 第11章 EJB3.0和JPA开发\r\n 第12章 GlassFish的安全性\r\n 第13章 国际化和本地化\r\n 第14章 Java EE应用性能调优\r\n开源篇\r\n 第15章 JMX在GlassFish中的应用\r\n 第16章 自管理和Call Flow\r\n 第17章 高性能的HTTP引擎\r\n 第18章 异步请求处理和服务器推送技术\r\n 第19章 EJB容器实现\r\n 第20章 内部持久性实现和Java DB\r\n结束语\r\n附录 参考资源\r\n参考文献
GlassFish开始于2005年6月,或者说开始于1999年6月,这取决于你如何看待它。
2005年6月Sun公司宣布将为Java EE 5的参考实现及其商业产品Sun Java System Application Server 9.0使用开放源代码许可(我们称之为GlassFish项目)。随着时间的推移, GlassFish已成为社区及其所构建的应用服务器的代称。在2006年5月,我们发布了Java EE 5最终的参考实现和GlassFish v1,以及有Sun公司商业支持的SJS AS 9.0。目前我们计划在两个月之内,即2007年9月,发布GlassFish v2(SJS AS 9.1)。
回到1999年6月,Sun将其Servlet实现贡献给Apache Software Foundation并且加入JServ用户组联盟,从而启动了Tomcat项目。Tomcat对行业产生了巨大的影响,它意味着Java更多地涉足服务器端应用并且在企业级应用领域逐步使用开源代码。如今,我和当时许多参与Tomcat创建的人正在为GlassFish社区工作,我们正在将自1999年6月以来所收获的经验教训贡献到GlassFish中去,我们希望整个社区能因此受益。在这个意义上,我们又可以说GlassFish开始于1999年6月。
GlassFish首先是一个社区,其所致力于发布的是开源应用服务器并将其作为Java EE的参考实现。这个应用服务器拥有所有同类商业软件中你所期望的特性:集群(Clustering)、高可靠性(High-availability)、高性能(近期通过了业界领先的SPECjAppServer 2004 benchmark测试)(见下图)、微软应用的互操作性、完善的管理特性和文档、商业支持和培训等。作为Java EE的参考实现,它是市场上第一个符合Java EE标准的实现。
GlassFish还提供了一个成功的开源项目期望拥有的各种特性:免费使用、紧密的用户交互及快速的响应、非常敏捷的开发模式、规范化的构建发布、与其他开源项目开放透明的集成、对所有流行的开源架构的支持、热情的社区支持……
拥有所有这些特性的关键是“社区的参与”,这也是为什么说这本书有超乎想象的重要性。
考察2007年以来GlassFish被采用的情况时世界各地的不同地区之间表现出一定的差异性。虽然只有几个月,但GlassFish应用的增长令人印象深刻,一些地区的增长明显快于其他地区。欧洲非常坚实,中国也提升很多——很大程度上要感谢使这本书产生的人们。中国与开源有着密切的关联,它应当体现出更多的下载和地理上更广泛的分布。
GlassFish应用的进一步增长将应当感谢本书和为之付出努力的人们。本书由GlassFish社区的成员完成。他们直接参与了开发或实际使用了GlassFish。本书将从GlassFish基础讲起,覆盖实践和社区的许多方面。作者都是Sun公司的职员,他们每日所使用和参与构建的就是GlassFish,我非常感谢他们的工作和对本书的贡献。
本书及由社区组织的其他活动将具有巨大的影响。这些影响可以通过GlassFish被采用的分布地图(http://beta.glassfish.java.net:81/maps)中看到。
我们相信GlassFish是最好的商业和开源世界的产品。我鼓励大家参与到社区中来,获取大量的机会。这些机会包括:使用最终的产品版本、对不同的里程碑(Milestone)产品进行测试、为社区的Wiki(在线协作)做出贡献、参与到大学和研究中心的研发当中、贡献代码修正和补丁等。
我们希望能在正在创建的各类草根(Grass-root)用户讨论组中见到你。
Eduardo Pelegri-Llopart
GlassFish项目总负责人
Distinguished Engineer
Sun Microsystems
2007年8月1日
Santa Clara, California, U.S.A.
http://blogs.sun.com/theaquarium
http://glassfish.java.net
GlassFish是一个以社区为基础,全面实现了Java EE 5各项标准并拥有众多独到特性的开源项目。正如GlassFish(玻璃鱼)名字所寓意的,象玻璃一样透明开放,象鱼一样自由自在,GlassFish项目正在把Java企业级开源应用推向前所未有的广度和深度。本书力图将这一技术尽快、尽可能全面地介绍给读者。
本书可以划分成3篇:基础篇、应用篇和开源篇,将由浅入深,由表及里地介绍GlassFish项目。其中基础篇将介绍Java EE的基础概念和GlassFish的构建方法,应用篇将介绍如何管理GlassFish和开发GlassFish平台上的应用,开源篇将选取GlassFish的特色技术,结合其代码实现加以介绍。GlassFish对Java EE 5中新规范的支持以及其自身众多的独到特性是贯穿全书的两个主要线索。
本书不是Java EE 5大全,而是选取Java EE5的新技术和GlassFish的独到特性重点加以介绍;本书不是GlassFish的在线帮助,而是在归纳和总结的基础上辅以实例帮助读者理解和把握GlassFish;本书不是开发指南,而是侧重于Java EE上的Web应用开发的新进展和GlassFish特有的支持,让大家体会Java EE给开发人员带来的新的感受;本书也不是源代码的javadoc,而是通过诠释代码来说明代码背后的设计思想和理念。
1. 读者对象
本书针对以下6类用户的特定需求提供有价值的参考。
(1) 在校师生和开源软件入门者(Java EE基本概念的讲解和相关资源介绍)。
(2) 开源社区成员(相关标准概况和技术趋势以及开源社区相关服务介绍)。
(3) 软件开发人员(讲解开发并部署各类应用到GlassFish的步骤和技巧)。
(4) 用户及维护人员(基于GlassFish应用中的典型问题研究)。
(5) 企业信息主管(CIO)(介绍最新动态和发展趋势,帮助进行项目选型)。
(6) 开源软件开发者(GlassFish架构及典型代码研读,为开源软件开发提供借鉴)。
2. 内容安排
(1) 基础篇(第1~3章)将概要介绍GlassFish的背景、关联技术和标准、开源社区及安装和构建。
第1章:Java EE 5和GlassFish。
第2章:开源和社区。
第3章:安装和构建GlassFish。
(2) 应用篇(第4~14章)将从应用GlassFish的角度来介绍GlassFish,包括如何管理GlassFish,如何开发基于GlassFish的应用并对这些应用进行优化和配置。
第4章:管理控制台。
第5章:GlassFish命令行。
第6章:Web应用程序基础和Servlet。
第7章:JSP编程。
第8章:JSF编程。
第9章:AJAX技术。
第10章:Web服务。
第11章:EJB 3.0和JPA开发。
第12章:GlassFish的安全性。
第13章:国际化和本地化。
第14章:Java EE应用性能调优。
(3) 开源篇(第15~20章)面向中高级开发人员和技术主管,更加注重从源代码的角度来介绍GlassFish技术,探讨GlassFish中的设计思想和实现技巧。
第15章:JMX在GlassFish中的应用。
第16章:自管理和CallFlow。
第17章:高性能的HTTP引擎——Grizzly。
第18章:异步请求处理和服务器推送技术。
第19章:EJB容器实现。
第20章:内部持久性实现和Java DB。
3. 参编作者
本书作者包括蒋健、王昱、黄健昌、李力、叶亮和颜曙光。其中,蒋健编写第1、2、3、4、5、10、15、16、20章;王昱编写第14、17、18章;黄健昌编写第11、19章;李力编写第9、10章;叶亮编写第2、6、7、8章;颜曙光编写第12、13章。
4. 致谢
这里要特别感谢Sun公司的欧阳庆庆(Qingqing Ouyang)——GlassFish中文博客“水族馆”的负责人,她为本书提供了许多建议并出色地组织了对本书的审阅。
本书由多位活跃在GlassFish社区开发第一线的技术专家审阅——Anissa Lam、Cheng Fang、张虹(Hong Zhang)、Jane Young、焦瑛(Dianne Jiao)、陈成威(Shing Wai Chan)、Kin-man Chung、冷林洁(Jie Lin Leng)、Yifeng Luo、Tony Zhang。他们的深刻见解、评论和建议使本书在各方面都得到了很大的提升。
Sun中国技术社区的蒋清野(John Jiang)为本书提供了多方面的资源和支持。Sun公司AGC部门的肖顺敏(Serena Xiao)和董清富(Simford Dong)阅读了本书的部分书稿并提供了宝贵的意见。在本书出版之际,我们向以上各位的支持致以最诚挚的感谢。
5. 本书的网站和联络信息
读者可以参阅Sun中国技术社区上的博客http://developers.sun.com.cn/blog/java/获得关于本书的最新信息。您的评论和建议可以通过邮箱glassfish_press@sun.com反馈给作者。
无封面