本书探讨了J2EE的BEA实现。全书共分为18章,每章分别对应于使用J2EE和WebLogic Server开发Web应用程序的各个阶段,并且都围绕特定的Java Enterprise技术来组织,包括模型-视图-控制器设计模式、JDBC数据库连接、远程方法调用、JMS、EJB、Java-Mail、单元测试、计划部署等。本书实践性很强,在对每种技术的讨论中都穿插了例子。最后,本书还讨论了创建一个在线拍卖站点的大型实例,很有实际应用价值。本书详细讨论了EJB,EJB目前是J2EE应用程序开发的主角。\r\n 本书是学习在WebLogic平台上开发J2EE应用程序的好教材,适合于广大企业应用开发人员阅读。无论是WebLogic的初学者,还是有经验的开发人员,都能从书中获益。\r\n
第1章 概述\r\n 1.1 WebLogic Server 和 J2EE \r\n 1.2 本书介绍的 J2EE 技术 \r\n 1.3 表示逻辑 \r\n 1.4 数据库和事务支持 \r\n 1.5 对象注册表和远程方法调用 \r\n 1.6 企业 JavaBean \r\n 1.7 Java 消息服务 \r\n 1.8 JavaMail \r\n 1.9 管理 \r\n 1.10 安全性 \r\n 1.11 WebLogic Server 的分布式部署支持 \r\n 1.12 WebLogic Server 8.1 \r\n第2章 表示逻辑 \r\n 2.1 表示逻辑 \r\n 2.2 servlet 简介 \r\n 2.3 Web 应用程序 \r\n 2.4 servlet 的最佳实践 \r\n 2.5 参考资料 \r\n第3章 高级 servlet 技术 \r\n 3.1 servlet 和 Web 会话 \r\n 3.2 烤制自己的“小甜饼” \r\n 3.3 过滤器 \r\n 3.4 使用包含 WebLogic Server 集群的 servlet \r\n 3.5 servlet 的最佳实践 \r\n 3.6 参考资料 \r\n 3.7 小结 \r\n第4章 使用 WebLogic Server JSP \r\n 4.1 使用 JSP 的原因 \r\n 4.2 集成 Java 代码和 JSP 标记 \r\n 4.3 JSP 基础 \r\n 4.4 定制标签 \r\n 4.5 参考资料 \r\n第5章 WebLogic Server JDBC 和 JTA \r\n 5.1 WebLogic Server JDBC \r\n 5.2 事务和 JTA \r\n 5.3 WebLogic Server 和分布式事务 \r\n 5.4 准备语句 \r\n 5.5 错误处理和 SQL 警告 \r\n 5.6 元数据 \r\n 5.7 高级 JDBC 特性 \r\n 5.8 JDBC 的最佳实践 \r\n 5.9 WebAuction 应用程序中的 JDBC 和事务 \r\n 5.10 小结 \r\n第6章 远程方法调用和分布式命名 \r\n 6.1 远程方法调用 \r\n 6.2 JNDI : Java 命名服务 \r\n 6.3 小结 \r\n 6.4 参考资料 \r\n第7章 使用 Java 消息服务进行企业消息传递 \r\n 7.1 JMS 的优点 \r\n 7.2 JMS 基础知识 \r\n 7.3 JMS 队列生产者 / 消费者示例 \r\n 7.4 JMS 消息 \r\n 7.5 消息类型 \r\n 7.6 JMS 和事务 \r\n 7.7 集群化 JMS \r\n 7.8 异常监听器 \r\n 7.9 使用多播 JMS \r\n 7.10 JMS 最佳实践 \r\n 7.11 小结 \r\n 7.12 参考资料 \r\n第8章 使用会话企业 JavaBean \r\n 8.1 企业 JavaBean 概述 \r\n 8.2 EJB 基础知识 \r\n 8.3 无状态会话 EJB \r\n 8.4 有状态会话 EJB \r\n 8.5 在会话 bean 中使用事务 \r\n 8.6 EJB 安全性 \r\n 8.7 EJB 环境 \r\n 8.8 EJB 引用 \r\n 8.9 资源管理器引用 \r\n 8.10 Handle \r\n 8.11 开发任务和 WebLogic Workshop \r\n 8.12 最佳实践 \r\n 8.13 小结 \r\n 8.14 参考资料 \r\n第9章 实体 EJB \r\n 9.1 实体 EJB 的基本原理 \r\n 9.2 实体 bean 的基础 \r\n 9.3 CMP 实体 bean 示例 \r\n 9.4 CMP \r\n 9.5 容器管理实体 bean 生命周期 \r\n 9.6 CMR 简介 \r\n 9.7 编写 CMP 查找程序的 EJB QL \r\n 9.8 BMP 实体 bean \r\n 9.9 编写实体 EJB 语句的高级主题 \r\n 9.10 实体 bean 继承和多态性 \r\n 9.11 实体 bean 和锁定 \r\n 9.12 使用只读实体 bean \r\n 9.13 将会话 bean 用做实体 bean 的包装器 \r\n 9.14 将 Java bean 用做值对象 \r\n 9.15 BMP 和 CMP \r\n 9.16 小结 \r\n 9.17 参考资料 \r\n第10章 使用消息驱动 EJB \r\n 10.1 消息驱动 EJB 基础 \r\n 10.2 消息驱动 EJB 示例 \r\n 10.3 MDB 和并发 \r\n 10.4 指定 JMS 连接工厂 \r\n 10.5 使用带有 MDB 的事务 \r\n 10.6 消息确认 \r\n 10.7 新客户示例 \r\n 10.8 使用 JMS 与企业系统通信 \r\n 10.9 消息驱动 EJB 的优点 \r\n 10.10 小结 \r\n 10.11 参考资料 \r\n第11章 使用 WebLogic Server JavaMail 连接 Internet 邮件 \r\n 11.1 关于电子邮件 \r\n 11.2 关于 JavaMail \r\n 11.3 使用 JavaMail 发送简单的电子邮件 \r\n 11.4 何处可以找到关于 JavaMail 和 Internet 邮件的更多信息 \r\n 11.5 JavaMail 最佳实践 \r\n第12章 管理 WebLogic Server 8.1 \r\n 12.1 JMX 概述 \r\n 12.2 WebLogic Server 管理 \r\n 12.3 WebLogic 管理工具 \r\n 12.4 应用程序部署 \r\n 12.5 WebLogic Service Performance Monitor \r\n 12.6 WebLogic 集群配置 \r\n 12.7 管理最佳实践 \r\n 12.8 小结 \r\n第13章 WebLogic Server 8.1 应用程序安全 \r\n 13.1 安全技术概述 \r\n 13.2 WebLogic 安全和 JAAS \r\n 13.3 WebLogic 安全服务提供程序 \r\n 13.4 内嵌 LDAP 服务器 \r\n 13.5 保护 WebLogic 资源 \r\n 13.6 WebLogic Server 8.1 和 SSL \r\n 13.7 WebLogic Server 8.1 安全和 Web 服务 \r\n 13.8 管理 WebLogic Server 8.1 安全 \r\n 13.9 WebLogic Server 安全的最佳实践 \r\n 13.10 小结 \r\n第14章 设计产品部署 \r\n 14.1 部署设计 \r\n 14.2 WebLogic JRockit \r\n 14.3 WebLogic 部署场景:案例分析 \r\n 14.4 客户端软件类型 \r\n 14.5 在 Web 部署中使用 DMZ 和防火墙 \r\n 14.6 集成 Web 部署和数据存储 \r\n 14.7 使用 WebLogic Server 集群 \r\n 14.8 Web 应用程序部署详解 \r\n 14.9 应用程序部署 \r\n 14.10 混合部署 \r\n 14.11 应用程序部署过程 \r\n 14.12 部署 WebLogic Server 的最佳实践 \r\n 14.13 小结 \r\n第15章 Web 拍卖设计目标 \r\n 15.1 应用程序架构 \r\n 15.2 装配应用程序组件: WebAuction \r\n 15.3 部署 WebAuction 应用程序 \r\n第16章 WebLogic Workshop \r\n 16.1 WebLogic Workshop IDE \r\n 16.2 WebLogic Workshop Project Model \r\n 16.3 WebLogic Workshop 对 Web 服务的支持 \r\n 16.4 控件框架 \r\n 16.5 小结 \r\n第17章 WebLogic Server 容量计划 \r\n 17.1 WebLogic JRockit \r\n 17.2 容量计划分析 \r\n 17.3 容量计划的方法学和标准 \r\n 17.4 容量计划最佳实践 \r\n第18章 WebLogic Platform 8.1 简介 \r\n 18.1 WebLogic Platform 组件 \r\n 18.2 WebLogic Workshop Platform Edition \r\n 18.3 WebLogic Integration \r\n 18.4 WebLogic Portal \r\n 18.5 WeBLogic Server 8.1 \r\n 18.6 WebLogic JRockit \r\n 18.7 WebLogic Platform 小结 \r\n附录 A Web 服务概述 \r\n A.1 标准 \r\n A.2 Workshop 的 Web 服务安全功能 \r\n A.3 同步和异步会话 \r\n A.4 Web 服务和 J2EE \r\n A.5 使用 WebLogic Workshop 构建 Web 服务 \r\n A.6 小结 \r\n A.7 参考资料 \r\n索引\r\n\r\n
BEA WebLogic Server是一种市场领先的应用服务器, 它提供了开发和利用服务器端业务逻辑的基本架构, 支持分布式编程模型. J2EE技术用于开发企业级多层分布式应用程序, 它为组件开发提供了广泛的支持, 同时也提供了丰富的开发工具和服务, 便于开发模块化的. 可重用的和平台独立的业务逻辑. 对J2EE 1. 3技术. Web服务和相关标准的实现, 使得WebkogicServer成为开发和部署基于Java的Web应用的事实上的工业标准.
在本书中, 读者将学习Sun Microsystem的J2EE在BEA WebLogic Server上的实现. 本书假定读者之前并不了解J2EE技术, 首先对J2EE规范和WebLogic Server实现进行了逐一介绍. 本书将引导读者循序渐进地构建完整的. 健壮的Web应用. 在对每一项技术的概念和最佳实践有了基本了解之后, 开发人员就可以开始设计一些主要的模块了, 比如用于构建服务器端逻辑的EJB, 或者用于构建用户界面的JSP. 在学完本书之后, 读者将能够构建用户界面的原型, 编码服务器端表示逻辑和JSP的代码, 实现数据库连接, 建立中心注册表, 提供JMS消息, 编码EJB, 甚至集成电子邮件功能, 等等.
全书共分为18章, 每章都自成体系, 便于读者学习和实践. 第1章告诉开发人员如何制作用户界面原型, 第2章至第4章介绍如何使用servlet和JSP来编码服务器端表示逻辑, 并详细解释了模型-视图-控制器(MVC)设计模式, 第5章讲述开发人员如何利用JDBC和事务来建立数据库连接, 第6章介绍开发人员如何为对象和方法名称建立中心注册表, 并为远程方法调用(或RMl)建立框架, 第7章介绍如何使用JMS协议建立面向中间件的消息层, 第8章至第10章详细讨论EJB, EJB是当今J2EE应用开发的主角, 第11章讨论如何使用JavaMail协议将应用程序连接到Internet邮件, 第12章讨论应用程序的可用性和可靠性, 第13章讨论应用程序和业务需要实现和实施的安全级别, 第14章介绍编译. 测试和部署完成的应用程序, 第15章整理和部署WebAuction应用程序, 第16章介绍Webkogic Workshop, 第17章讨论WebLogic Server容量计划, 第18章从总体上介绍如何在Webkogic Server 8. 1上构建Webkogic Platform, 附录A介绍Web服务.
本书结构清晰. 内容详尽. 例子丰富, 每章都讲述了一个独立的主题, 但章节之间又是一个有机的整体, 全书的例子紧密围绕着一个WebAuction应用程序展开. 本书第二版是第一版的修订和更新, 其中讨论的技术代表了Webkogic Platform和J2EE企业应用开发的最新技术. 本书是一本详细讲解如何在BEA WebLogic Server 8. 1上实现J2EE的好教程, 它非常适合于Webkogic初学者和Java开发新手, 对于有经验的开发人员也非常有参考价值. 本书将帮助读者构建满足业务需求的具有高可用性. 高可靠性的Web应用程序.
本书主要由谢俊. 王安鹏翻译, 参与翻译的人员还有赵岗善. 欧阳宇. 唐美艳. 沈金河等. 感谢BEA系统(中国)有限公司在翻译过程中对本书的关注和指导. 由于时间仓促, 加之译者水平有限, 错误和不当之处在所难免, 恳请广大读者给予批评指正.
Angela Yochem
UPS公司首席系统架构师,致力于大规模J2EE应用程序的快速实现。WebLogic Workshop 8.1顾问委员会委员,亚特兰大BEA 用户组成员。
David Carlson
自由程序员。职业生涯仅限于几家大公司,包括IBM、UPS和Interface,以及与人合作创建的Internet Consultancy Elemental Interactive。他广泛地使用WebLogic Server,在构建大规模应用程序方面也很有经验。
Tad Stephens
BEA系统有限公司的系统工程师。作为前WebLogic公司的一位员工,他有6年的WebLogic Server和相应的基于WebLogic产品的经验。专攻金融服务和电信部门的分布式计算技术应用程序。
●Webkogic Server概述
●如何使用本书
●系统要求和约定什么是BEA WebLogic Server
BEA Webkogic Server是一种市场领先的应用服务器, 用于企业级的. 多层次的. 完全分布式的应用. 对J2EEl. 3技术. Web服务和相关标准的实现, 使WebLogic Server成为开发和部署基于Java的Web应用程序的事实上的工业标准.
BEA WebLogic Server提供了对系统资源(如客户端和数据库连接)的高效使用. 它可以支持数百万用户的商业应用程序和每小时数十万次的请求. 同时, 它还支持服务器实例的集群, 以便获得可靠性. 可伸缩性和高性能. 它为各种客户端维护和管理应用程序逻辑和业务规则.
在本书中, 读者将了解Sun Microsystem公司的J2EE(Java 2 Enterprise Edition)的BEA实现. 前言和第1章介绍了许多首字母缩写词, 它们是J2EE技术的J2EE套件的一部分. 本书的其余章节详细介绍了许多这方面的技术. 假定读者在此之前不了解J2EE技术, 那么这里介绍J2EE术语好像没什么意义, 不过别担心, 本书的其余章节对J2EE规范和Webkosic Server实现进行了介绍. WebLoaic Platform概述
BEA的WebLogic Platform是一个完善的应用程序基础结构平台, 它能让开发人员轻松快捷地创建和集成企业应用程序. WebLogic Platform的设计目标是, 解决企业的端到端问题, 提供基于标准的架构来帮助用户创建. 测试和部署J2EE应用程序. 业务流程. 工作流. 消息应用程序. 企业门户. 贸易合作伙伴应用程序等.
WebLogic Platform由一套产品组成, 其中包括Webkogic Server. WebLogic Integration Server. Webkogic Portal Server. Webkogic Workshop和Weblogic JRocket JVM. 这些产品共享一个公共础结构和一些公用工具, 使WebLogic Platform成为创建和集成企业应用程序的一个极好选择.
第18章提供了对Webkogic Platform组件的概述, 并探讨了它们是如何彼此关联的. 如何使用本书
本书共18章, 每一章介绍使用J2EE和WebLogic Server开发基于Web的应用程序的一个阶段, 并且每一章都是围绕特定的Java Enterprise技术来组织的, 读者可以使用这些技术创建WebAuction应用程序的组件, 或者创建一个在线拍卖站点, 用它作为本书的核心示例集. EJB的讨论占用了三章的篇幅, EJB是J2EE应用程序开发的主角.
每一章都对一些问题进行了注释. 比如, 在应用程序整体设计中, 什么地方适合装配应用程序模块, 如何计划, 以获得高效实现, 示例实现的特定细节, 以及指导读者在自己的站点上实现类似组件的最佳实践的建议等.
企业Java API和相关的APl是J2EE规范的一部分, 本书大致是按照开发人员可能使用的顺序对它们进行讨论的. 不过, 书中描述和说明的每一项技术都独立于其他任何章节中包含的材料.
路线图
不管读者是一名有经验的Java开发人员, 还是一名新手, 我们都假定读者刚刚开始为一台应用服务器开发应用程序. 由于应用程序开发风格的不同, 每一章都是自成体系的. 读者可以按照最适合自己开发风格的顺序来阅读这些章节.
在对每一项技术的概念和最佳实践有了基本了解之后, 开发人员就可以开始设计一些主要模块, 比如用于服务器端逻辑的EJB, 或者用于用户界面的JSP.
本书各章节的顺序如下.
首先, 开发人员可以制作用户界面原型, 用servlet(见第2章和第3章)和JSP(见第4章)对服务器端表示逻辑进行编码. 这些章节详细解释了模型-视图-控制器(Model-View-Controller, MVC)设计模式.
在对应用程序行为有了基本了解之后, 开发人员就可以计划利用JDBC和事务来建立数据库连接(见第5章).
随着应用程序模块的出现, 开发人员要为对象和方法名建立中心注册表, 并为远程方法调用(Remote Method lnvocation, RMI)建立框架(见第6章).
为了确保在WebLogicSever集群上执行应用程序时获得高性能, 开发人员可以使用JMS协议建立面向中间件的消息层, 以便对正确的对象行为进行排序和管理(见第7章).
为了确保应用程序组件的独立性, 并最大程度地利用Webkogic Server容器的服务, 开发人员可以对EJB进行编码, EJB是应用程序功能的核心(见第8章. 第9章和第10章).
为了包含电子邮件功能, 开发人员可以使用JavaMail协议将应用程序连接到Internet邮件(见第11章).
在完成单元测试之后, 开发人员可以对完成的应用程序进行计划部署, 检测需要在部署应用程序时进行互操作的硬件和软件元素. WebLogic管理服务允许在生产环境中部署应用程序, 并允许监视这些环境, 以便检测企业质量(enterprise-quality)的可用性和可靠性(见第12章). 根据应用程序和业务的需要来实现和实施适当的安全级别也是有必要的(见第13章), 这一点可以通过Webkogic Server特性与J2EE安全功能的组合来实现.
在全面考察了部署设计. 方法学和工具之后, 开发人员就可以根据由多年经验得到的最佳实践和准则来编译. 测试和部署完成的应用程序(见第14章).
第15章中给出了一个用于回顾和部署的示例应用程序. BEA的统一开发环境(WebkogicWorkshop)为J2EE和Web服务程序设计员提供了一套易于使用的. 直观的服务(见第16章). 通过在完全的. 端到端的应用程序框架中添加用户表示层. 业务流程管理. 数据集成和后端办公(back-office)系统访问, 可以在WebLogic Server8. 1的功能上构建Webkogic Platform(见第18章).
附录A中将介绍Web服务. 系统需求
本书及配套光盘可以作为学习工具单独使用.
BEA WebLogic Server和其他BEA产品的完整文档可以从http://e-docs. bea. com获得.
支持的平台
BEA WebLogic Server的支持平台包括Windows 2000. Windows NT和UNIX系统等. 要获得支持平台的完整列表, 请参阅BEAWebkogic Server的数据表, 网址是WWW. bea. com/products/webLogic/server/datasheet. shtml.
光盘内容
开发示例应用程序所必需的WebLogicServer和其他软件都包含在本书的配套光盘中:
●Webkogic Server 8. 1的评估版.
●WebLogic ServerAdministration Framework.
●WebLogic Workshop.
●WebAuction应用程序的源代码.
●WebAuction应用程序数据. JSP. EJB. 构建脚本等.
开发人员可以使用PointBaseall-Java关系数据库(作为WebLogic Server产品套件的一部分包含在光盘中)来进行原型制作. Webkogic Server支持其他许多商业数据库, 其中包括来自Oracle. Sybase. Informix和IBM(DD2)的数据库.
支持的版本
书中测试用到的BEA Webkogic Server的版本包括:
●WebLagic Server 8. 1, Service Pack2.
●查看BEA的Web站点www. bea. com, 以获得有关J2EE技术最新支持版本的消息.
致谢
作者借此感谢BillWentworth. M. Denise Cook. Jack Zheng. Matt Quinlan. Naveen Narula. JameHolmes. Carl Sjogreen和Samir Kothari, 感谢他们为本书的出版所付出的时间和对本书各章节的仔细审阅.