书籍详情
使用WebSphere Studio Application Developer开发EJB 2.0
作者:(美)IBM公司著;邢文娟等译;邢文娟译
出版社:清华大学出版社
出版时间:2004-11-01
ISBN:9787302097730
定价:¥64.00
购买这本书可以去
内容简介
本书是IBM红宝书系列之一,详细阐述了有效地利用WebSphereStudioApplicationDeveloper,基于EnterpriseJavaBeans(EJB)体系结构开发应用程序,以及将这些应用程序部署到WebSphereApplicationServer。全书基于一个简单的银行应用程序,使用基础的关系数据库,提供了相关的示例。本书的第I部分,将EJB作为Java2EnterpriseEdition(J2EE)的一部分,内容涵盖了基本概念和体系结构。特别指出了EJB2.0规范中引入的新功能,例如,对于容器管理的持久性entitybean和message-drivenbean的增强功能。同时也针对EJB的成功实现提出了最佳实践指导方针。本书的第II部分,介绍银行应用程序示例并使用WebSphereStudioApplicationDeveloper实现了entitybean、sessionbean和message-drivenbean。同时还实现了finder方法、不同的映射策略和使用EJB的简单客户端。最后,描述了如何将EJB应用程序部署到WebSphereApplicationServer。译者序本书是IBM红宝书系列之一,是IBM针对使用WebSphereStudioApplicationDeveloper开发基于EJB体系结构的应用程序的权威指导。本书译成中文,得以与国内关注Java架构的众多技术人员见面。EJB是服务器端组件的体系结构,它是JAVA分布式应用程序的基础。EJB组件模型简化了业务组件的开发。由于提供了系统级服务的自动支持,例如:事务、安全、数据库连通性,EJB服务器降低了企业组件开发的复杂度,从而使开发者能集中精力于业务逻辑的开发。WebSphereStudioApplicationDeveloper(本书中简称为ApplicationDeveloper)是基于EclipseWorkbench开发的WebSphereStudio家族系列产品中的一员,是为专业的Java和J2EE应用开发者设计的。本红皮书主要针对如何有效地使用ApplicationDeveloper来开发基于EJB体系结构的应用程序,并介绍了如何将这样的应用程序部署到WebSphereApplicationServer上。本书包括完整的案例开发,并穿插一些最佳实践,使读者得到丰富的实践经验。本书由国际技术支持组织(SanJose中心)的来自世界各地的多位专家们编写完成。他们是美国加利福尼亚州圣何塞IBM国际技术支持组织的盯咨询专家UeliWahli,比利时IBM的一位IT架构师WouterDenayer,IBM德国全球服务机构的IT咨询专家LarsSchunk,伊利诺斯州芝加哥IBMGlobalAMSDeliveryGroup的IT架构师DeborahShaddon,以及在瑞士IBM工作的MartinWeis。他们都是业界中的专家,在相关领域有多年的工作经验。以下人员参与了本书的翻译:邢文娟,周昀,李磊,毛艳,曹翼飞,李轩,王洋,王建峰,朱晓雪,付仲凯。所有译者都为保证本书的质量尽了最大的努力。但由于时间仓促,书中难免存在不足之处,希望能得到读者的批评与指正。如果您有意见,欢迎与我们联系:vivianxing@gmail.com。期望得到您的反馈!邢文娟周昀李磊2004年于北京前言本书主要针对如何有效地使用WebSphereStudioApplicationDeveloper来开发基于EnterpriseJavaBeans(EJB)体系结构的应用程序,以及将此类应用程序部署到WebSphereApplicationServer上提供了详细的信息。贯穿本书,我们提供了一些基于一个简单的带有底层关系型数据库的banking应用程序的例子*在第1部分,介绍了作为Java2EnterpriseEdition(J2EE)的一个组成部分的EJB,涉及了它的基本概念和体系结构。我们特别指出了随EJB2.0规范而引入的一些新功能,例如关于容器管理的持久性entitybean和message-drivenbean的增强的功能。我们还为成功实现EJB提供了最佳实践指导。在第Ⅱ部分,介绍了banking应用程序示例,并使用WebSphereStudioApplicationDeveloper来实现entitybean、sessionbean和message-drivenbean。我们还实现了finder方法、不同的映射策略以及使用EJB的简单客户端。最后,还对如何将EJB应用程序部署到WebSphereApplicationServer进行了描述。欢迎提出任何意见您的意见对于我们的工作十分重要!我们希望本书能为读者提供尽可能多的帮助。请将您对这本红皮书或其他红皮书的意见通过以下方式发送给我们。使用下述网页的在线Contactus中的红皮书评论表。ibm.com/redbooks以电子邮件的形式将您的意见发送到redbook@us.ibm.com邮寄信件,把您的意见邮寄到IBMCorporation,InternationalTechnicalSupportOrganizationDept.QXXEBuilding80-E2650HarryRoadSanJose,California95120-6099
作者简介
暂缺《使用WebSphere Studio Application Developer开发EJB 2.0》作者简介
目录
第I部分 EJB体系结构和概念
第1章 Enterprise JavaBeans概述
1.1 服务器端组件的体系结构
1.1.1 背景
1.2 为什么使用EJB
1.2.1 对象分布
1.2.2 可移植的面向组件的体系结构
1.2.3 对象持久性
1.2.4 独立于数据库模式
1.2.5 事务管理
1.2.6 多数据源的事务功能
1.2.7 中间层体系结构
1.2.8 多种客户端类型访问共享数据
1.2.9 并发读取和更新共享数据访问
1.2.10 方法级别的对象安全性
1.2.11 使用多服务器解决吞吐量和可用性问题
1.2.12 与CORBA集成
1.2.13 开发角色
1.3 J2EE
1.3.1 J2EE服务概要
1.3.2 Java servlet和JavaServer Page(JSP)
1.3.3 Enterprise JavaBeans(EJB)
1.3.4 JDBC
1.3.5 Java远程方法调用与RMI-IIOP
1.3.6 Java命名和目录接口(JNDI)
1.3.7 Java消息服务(JMS)
1.3.8 Java Mail
1.3.9 Java Activation Framework(JAF)
1.3.10 Java事务API(JTA)和Java事务服务(JTS)
1.3.11 Java IDL
1.3.12 J2EE体系结构概述
1.3.13 IBM产品和J2EE
1.4 EJB规范
1.4.1 EJB 1.0
1.4.2 EJB 1.1
1.4.3 EJB 2.0
1.4.4 EJB的限制概要
1.5 EJB 2.0概览
1.5.1 本地接口
1.5.2 容器管理的持久性(CMP)
1.5.3 容器管理的关系(CMR)
1.5.4 EJB查询语言
1.5.5 EJB home方法
1.5.6 消息驱动bean
1.5.7 依赖性值类(Dependent value class)
1.6 对历史的简短回顾
1.6.1 分布式面向组件应用程序
1.6.2 CORBA概览
1.6.3 RMI概览
1.6.4 RMI over IIOP
1.6.5 从CORBA到EJB
1.6.6 Enterprise JavaBeans
1.6.7 EJB与CORBA协同工作
1.7 采用EJB技术
1.8 端到端企业应用开发
1.8.1 应用服务器市场分析
1.8.2 重用或开发
1.8.3 开发
1.8.4 部署
1.9 小结
第2章 EJB体系结构及概念
2.1 简介
2.2 EJB角色
2.3 EJB框架组件
2.3.1 EJB服务器
2.3.2 EJB容器
2.3.3 EJB组件(真正的EJB)
2.3.4 EJB接口以及EJB bean
2.3.5 EJB部署描述符
2.3.6 EJB客户端视图
2.3.7 客户端EJB交互
2.4 远程和本地接口的比较
2.5 回顾bean-container contract
2.6 EJB框架小结
2.7 Enterprise bean的类型:回顾
2.7.1 Bean类型分类回顾
2.7.2 EJB类型的附加细目
2.8 EJB开发和部署过程
2.8.1 EJB开发
2.8.2 EJB部署
2.9 开发一个EJB:示例应用程序
2.9.1 为EJB建模
2.9.2 寻找候选EJB
2.9.3 应用程序概念
2.9.4 ITSO银行模型
2.10 小结
第3章 Entity Bean
3.1 简介
3.2 Entity bean的概念
3.2.1 Entity bean类型
3.2.2 容器管理的持久性(CMP)
3.2.3 Bean管理持久性entity bean
3.2.4 选择CMP或BMP
3.2.5 bean之选择与否
3.2.6 Bean识别——主键
3.2.7 Entity bean结构
3.3 Bean-container contract
3.3.1 实例池
3.3.2 Entity bean的状态
3.4 Entity bean的生命周期
3.4.1 生命周期——创建entity bean
3.4.2 生命周期——查找存在的entity bean
3.4.3 生命周期——使用entity bean
3.4.4 生命周期——删除entity bean
3.5 抽象持久性模式映射
3.5.1 持久性字段
3.5.2 创建持久性代码
3.6 开发entity bean:Customer
3.6.1 构建entity bean
3.6.2 扩展的customer entity需求
3.6.3 构建本地组件接口
3.6.4 主键类
3.6.5 构建本地home接口
3.6.6 构建bean类
3.6.7 构建BMP entity bean
3.6.8 部署描述符
3.7 Entity bean设计和构造的最佳实践
3.8 Entity bean的客户端视图
3.8.1 查找bean home
3.8.2 Bean生命周期的客户端视图
3.9 小结
第4章 高级Entity bean:关系、继承、定制查询
4.1 介绍
4.2 EJB容器管理关系(CMR)
4.2.1 重新介绍银行模型
4.2.2 EJB 2.0与CMR
4.2.3 关系术语
4.2.4 关系类型
4.2.5 EJB2.0关系
4.2.6 在部署描述符中声明关系
4.2.7 CMR编程模型
4.2.8 在关系中EJB的角色和责任
4.2.9 EJB 2.0关系问题
4.3 EJB继承
4.3.1 银行示例
4.3.2 继承概览
4.3.3 对于继承模型的映射模式
4.3.4 实现EJB继承
4.3.5 继承的部署描述符
4.4 EJB定制查询方法
4.4.1 定制查询方法的定义
4.4.2 CMP entity bean finder方法和select方法的定义
4.4.3 生命周期序列——查询方法
4.4.4 添加查询方法到bean类
4.5 EJB查询语言(EJB QL)
4.5.1 抽象持久性模式
4.5.2 Bean和部署描述符映射
4.5.3 EJB QL语法
4.5.4 WebSphere的EJB QL扩展
4.5.5 WebSphere企业扩展
4.5.6 动态查询简介
4.6 Entity bean开发的高级概念
4.6.1 关系数据库映射
4.6.2 扩展banking entity需求
4.6.3 Entity bean结构
4.6.4 部署描述符更新
4.6.5 查询语言示例
4.6.6 Home方法
4.7 Entity bean最佳设计和构造实践
4.8 高级entity bean概念的客户端视图
4.8.1 关系编程
4.8.2 继承编程
4.8.3 使用客户finder方法
4.9 小结
第5章 Session bean
5.1 简介
5.2 Session bean的概念
5.2.1 Sessinn bean的类型
5.2.2 Stateless session bean
5.2.3 Stateful Session bean
5.2.4 选择stateful session bean或stateless session bean
5.2.5 Session bean类型结构
5.3 Bean-container合同
5.3.1 Session bean的状态
5.4 Session bean的生命周期顺序
5.4.1 Stateless session bean的生命周期
5.4.2 Stateful session bean生命周期
5.5 开发session bean
5.5.1 创建session bean
5.5.2 扩展在线银行的需求
5.5.3 构建远程组件接口
5.5.4 创建远程home接口
5.5.5 创建bean类
5.5.6 部署描述符
5.6 设计和构建Session bean的最佳实践
5.7 Session bean的客户端视图
5.7.1 查找bean home
5.7.2 Session bean生命周期的客户端视图
5.8 小结
第6章 Message-driven bean
6.1 简介
6.1.1 异步消息
6.1.2 JMS和JMS提供者的角色
6.1.3 Message-driven bean简介
6.2 Java消息服务的概念
6.2.1 JMS消息模型
6.2.2 Message-driven bean和消息模型
6.2.3 JMS组件
6.2.4 JMS管理对象
6.2.5 JMS交互的示例
6.2.6 消息
6.3 Message-driven bean的概念
6.3.1 扩展JMS模型到MDB
6.3.2 Message-driven bean的结构
6.3.3 无home或组件接口
6.3.4 回调方法
6.3.5 Bean-container contract
6.4 开发message-driven bean
6.4.1 构建message-driven bean
6.4.2 扩展在线银行的需求
6.4.3 设计消息的有效载荷
6.4.4 什么是应答
6.4.5 构建MDB bean类
6.4.6 部署描述符
6.5 MDB客户端编程
6.5.1 相关性标识(Correlation ID)
6.5.2 消息类型
6.5.3 超时
6.6 Message-driven bean交互模式
6.6.1 消息交互
6.6.2 即发即弃(Fire-and-forget)
6.6.3 即发即行(Fire-and-forwad)
6.6.4 准同步请求/应答(pseudo-synchronous reyuest/reply)
6.6.5 异步请求/应答(Asynchronous request/reply)
6.6.6 发布和订阅模式
6.7 message-driven bean最佳实践
6.8 小结
第7章 EJB客户端
7.1 客户端类型
7.1.1 Session bean
7.1.2 Servlet
7.1.3 应用程序客户端
7.2 如何访问EJB
7.2.1 Home接口
7.2.2 基本编程规则
7.2.3 获得一个初始命名上下文
7.2.4 从初始上下文中查找EJB home
7.2.5 使用EJB home
7.2.6 操作EJB引用
7.2.7 跟踪关系
7.2.8 Finder方法
7.2.9 继承
7.2.10 EJB客户端应用程序示例
7.2.11 编程限制
7.3 使用access bean
7.4 对entity bean使用session facade
7.4.1 Facade session bean
7.4.2 Fagade session设计
7.4.3 为session facade使用access bean
7.5 客户端比较
7.5.1 直接访问
7.5.2 Access bean
7.5.3 Facade bean
7.5.4 方法的摘要说明
7.5.5 选择哪一类客户端
7.6 Home工厂模式
7.6.1 结构
7.6.2 实现
7.6.3 应用程序示例:现代home工厂
7.7 小结
第8章 补充概念:事务、异常、安全
8.1 简介
8.2 事务
8.2.1 事务示例:银行转账
8.2.2 事务的ACID特性
8.2.3 Java事务服务(JTS)
8.2.4 J2EE中的事务支持
8.2.5 EJB事务划分
8.2.6 Bean管理事务(BMT)
8.2.7 容器管理事务(CMT)
8.2.8 在事务中管理数据访问
8.2.9 数据库锁策略
8.2.10 隔离级别
8.2.11 JDBC中的隔离级别
8.2.12 资源访问意向
8.2.13 事务性编程考虑因素
8.2.14 事务与messagedriven bean
8.2.15 会话同步接口
8.2.16 使用事务的指导方针
8.2.17 关于应用程序事务编程的指导方针
8.3 EJB异常处理
8.3.1 Checked和unchecked异吊
8.3.2 异常与EJB
8.3.3 程序异常
8.3.4 EJB标准程序异常
8.3.5 Bean处理程序异常
8.3.6 标准EJB程序异常的增强
8.3.7 系统异常
8.3.8 EJB系统异常的解释
8.3.9 Bean对系统异常的处理
8.3.10 异常的客户端视图
8.3.11 Message-bean的异常处理
8.4 安全性
8.4.1 EJB安全性的目标
8.4.2 安全性体系结构概述
8.4.3 WebSphere安全层
8.4.4 EJB安全性细节
8.4.5 最佳实践:授权策略矩阵
8.4.6 联系一切
8.5 小结
第II部分 使用Application Developer开发测试EJB
第9章 WebSphere Studio Application Developer
9.1 WebSphere Studio Application Developer
9.2 WebSphere Studio Workbench
9.2.1 工作区
9.2.2 用户接口
9.3 Workbench窗口
9.4 透视图和视图
9.4.1 透视图基础
9.4.2 视图和编辑器
9.4.3 定制透视图
9.4.4 New图标
9.4.5 Web透视图
9.4.6 Java透视图
9.4.7 J2EE透视图
9.4.8 Data透视图
9.4.9 XML透视图
9.4.10 Server透视图
9.4.11 Debug透视图
9.4.12 CVS Repository Exploring透视图
9.4.13 帮助信息
9.4.14 内存考虑事项
9.5 项目
9.5.1 Java项目
9.5.2 EAR项目
9.5.3 Web项目
9.5.4 Struts
9.5.5 EJB项目
9.5.6 服务器项目
9.6 服务器
9.6.1 服务器配置
9.6.2 启动和停止服务器
9.6.3 远程服务器
9.6.4 Agent Controller
9.7 EJB开发环境
第10章 应用程序示例的介绍和准备
10.1 Bank模型
10.2 Bank数据库
10.2.1 表
10.2.2 触发器
10.2.3 数据库定义DDL
10.2.4 数据库内容
10.2.5 创建EJBBANK数据库和表
10.3 准备Application Developer
10.3.1 工作区
10.3.2 准备J2EE 1.3企业应用程序
10.3.3 命名规则
10.3.4 创建企业应用程序
10.3.5 模块相关性
10.3.6 准备WebSphere测试环境
10.3.7 服务器项目
10.3.8 服务器
10.3.9 给服务器添加企业应用程序
10.3.10 使用数据源来配置服务器
10.3.11 Utility项目
10.3.12 实现home工厂
10.3.13 模块相关性
10.4 小结
第11章 容器管理entity bean的开发
11.1 开发account CMP entity bean
11.1.1 使用Enterprise Bean Creation向导开发CMP
11.1.2 创建CMP entity bean
11.1.3 生成的类
11.1.4 生成的部署描述符
11.1.5 修整创建方法
11.1.6 向enterprise bean中添加业务逻辑
11.1.7 部署
11.1.8 把entity bean映射到表
11.1.9 生成部署代码
11.1.10 完成部署描述符
11.2 测试enterprise bean
11.2.1 通用测试客户端
11.3 开发用户和事务记录EJB
11.3.1 客户EJB
11.3.2 为地址信息实现JavaBean
11.3.3 实现客户EJB
11.3.4 事务记录EJB
11.3.5 实现事务记录EJB
11.3.6 客户与事务记录bean的映射
11.3.7 生成部署代码
11.3.8 在通用测试客户端中测试EJB
11.4 开发关系
11.4.1 Application Developer中对于关系的支持
11.4.2 把账户定义到事务记录关系中
11.4.3 为事务记录进行代码定制
11.4.4 定义customer与account关系
11.4.5 顾客对账户的代码定制
11.4.6 创建远程方法
11.4.7 JNDI名称和引用
11.4.8 映射关系
11.4.9 为关系生成部署代码
11.4.10 在通用测试客户端中测试关系
11.5 开发继承结构
11.5.1 Application Developer对继承的支持
11.5.2 定义继承结构
11.5.3 完善生成的代码
11.5.4 继承bean的关系
11.5.5 关于继承的映射方法
11.5.6 映射账户继承结构
11.5.7 为继承生成部署代码
11.5.8 在通用测试客户端测试继承
11.6 清除模型
11.7 部署custom finder
11.7.1 创建一个简单的custom finder方法
11.7.2 使用关系和继承创建finder方法
11.7.3 在bean类中创建select方法
11.8 开发home方法
11.9 为finder和select方法生成代码
第12章 CMP的映射策略
12.1 映射策略
12.1.1 自顶向下(Top-down)
12.1.2 自底向上(Bottom-up)
12.1.3 中间匹配(Meet-in the-middle)
12.2 映射示例
12.2.1 EJBBANK数据库的自底向上映射
12.2.2 Bank模型的自顶向下映射
12.2.3 将CMP映射到多个表
12.2.4 映射关系
12.2.5 映射继承
12.2.6 映射相关值类
12.3 转换器和组合器
12.3.1 使用组合器
12.3.2 使用转换器
第13章 Bean-管理entity bean的开发
13.1 Bean管理的持久性
13.2 为什么需要BMP
13.3 建议
13.3.1 BMP作为CMP的子类(subclass)
13.4 开发BMP entity bean
13.4.1 包含用户信息的表格
13.4.2 为BMP entity bean创建EJB项目
13.4.3 创建超类CMP entity bean
13.4.4 键类
13.4.5 创建BMP entity bean
13.4.6 抽象方法
13.4.7 定义持久性字段
13.4.8 创建带有参数的方法
13.4.9 查看bean中的方法
13.4.10 实现bean方法
13.4.11 完成BMP entity bean
13.4.12 提升业务方法
13.4.13 完成部署描述符
13.4.14 实现持久类
13.5 生成部署代码
13.6 创建数据库表
13.6.1 生成DDL
13.6.2 运行DDL
13.6.3 加载示例数据
13.7 测试BMP entity bean
13.8 只读方法
13.9 小结
13.9.1 BMP entity bean的优缺点
13.9.2 访问意向
第14章 开发session bean
14.1 设计
14.1.1 Home生成器
14.1.2 Session bean异常
14.2 开发stateless session bean
14.2.1 为session bean创建EJB项目
14.2.2 为banking事务创建session bean
14.2.3 访问CMP entity home
14.2.4 实现业务逻辑
14.2.5 设置部署属性
14.2.6 生成部署代码
14.2.7 在通用测试客户端中测试业务逻辑
14.3 开发一个stateful session bean
14.3.1 设计问题
14.3.2 创建一个stateful session bean
14.3.3 处理Home引用
14.3.4 实现业务逻辑
14.3.5 测试stateful session bean
14.4 由session bean创建Web Service
14.4.1 创建Web service
14.4.2 用生成的测试客户端来测试Web service
14.4.3 用通用测试客户端测试Web service
14.4.4 分析生成的代码
14.5 小结
第15章 EJB access bean
15.1 什么是access bean
15.1.1 EJB生成器
15.1.2 数据类
15.1.3 JavaBean封装
15.1.4 Copy helper
15.1.5 Access bean和关系
15.2 开发access bean
15.2.1 开发数据类
15.2.2 生成access bean
15.2.3 生成部署代码
15.2.4 生成JavaBean封装
15.2.5 测试access bean
15.3 小结
第16章 开发message-driven bean
16.1 设计
16.1.1 命名约定
16.2 开发message-driven bean
16.2.1 创建数据传输对象
16.2.2 创建message-driven bean
16.2.3 实现MDB
16.2.4 设置部署信息
16.3 设置服务器
16.3.1 服务器配置
16.4 Message-driven bean客户端
16.4.1 Servlet客户端
16.4.2 J2EE应用程序客户端
16.5 测试MDB
16.6 事物类型
16.7 小结
第17章 客户端开发
17.1 客户端类型
17.2 引用
17.2.1 EJB引用
17.2.2 资源和资源环境引用
17.2.3 在客户端代码中使用引用
17.3 开发servlet客户端
17.3.1 运行示例
17.3.2 Web项目
17.3.3 创建servlet
17.3.4 创建HTML页面
17.3.5 完成servlet
17.3.6 创建JSP
17.3.7 Web应用程序部署描述符
17.3.8 测试Web客户端
17.4 开发基于Struts的Web客户端
17.4.1 什么是Struts
17.4.2 使用MVC框架的Struts
17.4.3 Application Developer对Struts的支持
17.4.4 创建Struts Web项目
17.4.5 创建Struts Web图
17.4.6 定义应用程序资源
17.4.7 实现Web应用程序
17.4.8 实现表单bean
17.4.9 实现输入JSP
17.4.10 实现action
17.4.11 实现输出JSP
17.4.12 完成Web图连接
17.4.13 Struts配置文件
17.4.14 Web应用程序部署描述符
17.4.15 测试Struts客户端
17.5 J2EE客户端容器
17.6 开发message-driven bean客户端
17.6.1 创建应用程序客户端项目
17.6.2 创建MDB客户端类
17.6.3 部署描述符
17.6.4 在Application Developer中运行应用程序客户端
17.6.5 在Application Developer外运行客户端
17.6.6 应用程序客户端资源配置工具
17.6.7 部署WebSphere
17.7 使用access bean的GUI客户端
17.7.1 创建GUI应用程序客户端
17.7.2 完成代码
17.7.3 配置启动器
17.7.4 测试GUI客户端
17.8 使用Web service的客户端
17.9 外部化字符串
17.9.1 查找需要外部化的字符串
17.9.2 外部化的结果文件
17.10 小结
第18章 企业应用程序的部署
18.1 企业应用程序
18.1.1 使用Application Developer管理部署描述符
18.1.2 EJB模块
18.1.3 Web模块
18.1.4 应用程序客户端模块
18.2 配置WebSphere Application Server
18.2.1 启动服务器和管理控制台
18.2.2 配置服务器
18.2.3 配置JDBC驱动和数据源
18.2.4 为MDB配置一个消息监听程序
18.2.5 配置connection factory和队列
18.2.6 激活JMS服务器
18.2.7 保存配置
18.2.8 停止和启动服务器
18.3 安装企业应用程序
18.3.1 创建EAR文件
18.3.2 安装EAR文件
18.3.3 启动服务器和应用程序
18.4 测试ITSO banking应用程序
18.4.1 Web应用程序
18.4.2 消息驱动bean
18.5 应用程序装配工具
18.6 命令行工具
18.6.1 批处理命令
18.6.2 脚本工具
18.7 小结
第19章 Application Developer的团队开发环境
19.1 简介
19.1.1 工作区
19.1.2 项目
19.1.3 本地历史
19.1.4 导出
19.1.5 乐观并发
19.1.6 悲观同步
19.2 设置一个团队资源库
19.3 并行版本系统
19.3.1 CVS安装和配置
19.3.2 Application Developer 5.0中的新特性
19.3.3 哪些改动会影响您的工作
19.3.4 从版本控制中忽略资源
19.4 单独用户的开发场景
19.4.1 连接到一个CVS资源库
19.4.2 向CVS控制添加一个项目
19.4.3 创建版本
19.4.4 修改和同步
19.4.5 CVS控制台
19.4.6 资源历史
19.4.7 文件比较
19.4.8 断开项目
19.4.9 关键字扩展
19.5 团队开发场景
第III部分 附录
附录A 环境设置
A.1 安装计划
A.1.1 硬件
A.1.2 软件
A.2 安装DB2 UDB
A.3 安装IBM WebSphere应用服务器
A.3.1 安装过程
A.3.2 验证安装
A.4 WebSphere Studio Application Developer的安装
A.5 安装EJBBANK数据库
附录B 附加资料
B.1 定位Web资料
B.2 使用Web资源
B.2.1 下载Web资源的系统需求
B.2.2 如何使用Web资源
B.2.3 安装ItsoBank5EAR.ear文件
B.2.4 安装服务器
附录C 作者信息
第1章 Enterprise JavaBeans概述
1.1 服务器端组件的体系结构
1.1.1 背景
1.2 为什么使用EJB
1.2.1 对象分布
1.2.2 可移植的面向组件的体系结构
1.2.3 对象持久性
1.2.4 独立于数据库模式
1.2.5 事务管理
1.2.6 多数据源的事务功能
1.2.7 中间层体系结构
1.2.8 多种客户端类型访问共享数据
1.2.9 并发读取和更新共享数据访问
1.2.10 方法级别的对象安全性
1.2.11 使用多服务器解决吞吐量和可用性问题
1.2.12 与CORBA集成
1.2.13 开发角色
1.3 J2EE
1.3.1 J2EE服务概要
1.3.2 Java servlet和JavaServer Page(JSP)
1.3.3 Enterprise JavaBeans(EJB)
1.3.4 JDBC
1.3.5 Java远程方法调用与RMI-IIOP
1.3.6 Java命名和目录接口(JNDI)
1.3.7 Java消息服务(JMS)
1.3.8 Java Mail
1.3.9 Java Activation Framework(JAF)
1.3.10 Java事务API(JTA)和Java事务服务(JTS)
1.3.11 Java IDL
1.3.12 J2EE体系结构概述
1.3.13 IBM产品和J2EE
1.4 EJB规范
1.4.1 EJB 1.0
1.4.2 EJB 1.1
1.4.3 EJB 2.0
1.4.4 EJB的限制概要
1.5 EJB 2.0概览
1.5.1 本地接口
1.5.2 容器管理的持久性(CMP)
1.5.3 容器管理的关系(CMR)
1.5.4 EJB查询语言
1.5.5 EJB home方法
1.5.6 消息驱动bean
1.5.7 依赖性值类(Dependent value class)
1.6 对历史的简短回顾
1.6.1 分布式面向组件应用程序
1.6.2 CORBA概览
1.6.3 RMI概览
1.6.4 RMI over IIOP
1.6.5 从CORBA到EJB
1.6.6 Enterprise JavaBeans
1.6.7 EJB与CORBA协同工作
1.7 采用EJB技术
1.8 端到端企业应用开发
1.8.1 应用服务器市场分析
1.8.2 重用或开发
1.8.3 开发
1.8.4 部署
1.9 小结
第2章 EJB体系结构及概念
2.1 简介
2.2 EJB角色
2.3 EJB框架组件
2.3.1 EJB服务器
2.3.2 EJB容器
2.3.3 EJB组件(真正的EJB)
2.3.4 EJB接口以及EJB bean
2.3.5 EJB部署描述符
2.3.6 EJB客户端视图
2.3.7 客户端EJB交互
2.4 远程和本地接口的比较
2.5 回顾bean-container contract
2.6 EJB框架小结
2.7 Enterprise bean的类型:回顾
2.7.1 Bean类型分类回顾
2.7.2 EJB类型的附加细目
2.8 EJB开发和部署过程
2.8.1 EJB开发
2.8.2 EJB部署
2.9 开发一个EJB:示例应用程序
2.9.1 为EJB建模
2.9.2 寻找候选EJB
2.9.3 应用程序概念
2.9.4 ITSO银行模型
2.10 小结
第3章 Entity Bean
3.1 简介
3.2 Entity bean的概念
3.2.1 Entity bean类型
3.2.2 容器管理的持久性(CMP)
3.2.3 Bean管理持久性entity bean
3.2.4 选择CMP或BMP
3.2.5 bean之选择与否
3.2.6 Bean识别——主键
3.2.7 Entity bean结构
3.3 Bean-container contract
3.3.1 实例池
3.3.2 Entity bean的状态
3.4 Entity bean的生命周期
3.4.1 生命周期——创建entity bean
3.4.2 生命周期——查找存在的entity bean
3.4.3 生命周期——使用entity bean
3.4.4 生命周期——删除entity bean
3.5 抽象持久性模式映射
3.5.1 持久性字段
3.5.2 创建持久性代码
3.6 开发entity bean:Customer
3.6.1 构建entity bean
3.6.2 扩展的customer entity需求
3.6.3 构建本地组件接口
3.6.4 主键类
3.6.5 构建本地home接口
3.6.6 构建bean类
3.6.7 构建BMP entity bean
3.6.8 部署描述符
3.7 Entity bean设计和构造的最佳实践
3.8 Entity bean的客户端视图
3.8.1 查找bean home
3.8.2 Bean生命周期的客户端视图
3.9 小结
第4章 高级Entity bean:关系、继承、定制查询
4.1 介绍
4.2 EJB容器管理关系(CMR)
4.2.1 重新介绍银行模型
4.2.2 EJB 2.0与CMR
4.2.3 关系术语
4.2.4 关系类型
4.2.5 EJB2.0关系
4.2.6 在部署描述符中声明关系
4.2.7 CMR编程模型
4.2.8 在关系中EJB的角色和责任
4.2.9 EJB 2.0关系问题
4.3 EJB继承
4.3.1 银行示例
4.3.2 继承概览
4.3.3 对于继承模型的映射模式
4.3.4 实现EJB继承
4.3.5 继承的部署描述符
4.4 EJB定制查询方法
4.4.1 定制查询方法的定义
4.4.2 CMP entity bean finder方法和select方法的定义
4.4.3 生命周期序列——查询方法
4.4.4 添加查询方法到bean类
4.5 EJB查询语言(EJB QL)
4.5.1 抽象持久性模式
4.5.2 Bean和部署描述符映射
4.5.3 EJB QL语法
4.5.4 WebSphere的EJB QL扩展
4.5.5 WebSphere企业扩展
4.5.6 动态查询简介
4.6 Entity bean开发的高级概念
4.6.1 关系数据库映射
4.6.2 扩展banking entity需求
4.6.3 Entity bean结构
4.6.4 部署描述符更新
4.6.5 查询语言示例
4.6.6 Home方法
4.7 Entity bean最佳设计和构造实践
4.8 高级entity bean概念的客户端视图
4.8.1 关系编程
4.8.2 继承编程
4.8.3 使用客户finder方法
4.9 小结
第5章 Session bean
5.1 简介
5.2 Session bean的概念
5.2.1 Sessinn bean的类型
5.2.2 Stateless session bean
5.2.3 Stateful Session bean
5.2.4 选择stateful session bean或stateless session bean
5.2.5 Session bean类型结构
5.3 Bean-container合同
5.3.1 Session bean的状态
5.4 Session bean的生命周期顺序
5.4.1 Stateless session bean的生命周期
5.4.2 Stateful session bean生命周期
5.5 开发session bean
5.5.1 创建session bean
5.5.2 扩展在线银行的需求
5.5.3 构建远程组件接口
5.5.4 创建远程home接口
5.5.5 创建bean类
5.5.6 部署描述符
5.6 设计和构建Session bean的最佳实践
5.7 Session bean的客户端视图
5.7.1 查找bean home
5.7.2 Session bean生命周期的客户端视图
5.8 小结
第6章 Message-driven bean
6.1 简介
6.1.1 异步消息
6.1.2 JMS和JMS提供者的角色
6.1.3 Message-driven bean简介
6.2 Java消息服务的概念
6.2.1 JMS消息模型
6.2.2 Message-driven bean和消息模型
6.2.3 JMS组件
6.2.4 JMS管理对象
6.2.5 JMS交互的示例
6.2.6 消息
6.3 Message-driven bean的概念
6.3.1 扩展JMS模型到MDB
6.3.2 Message-driven bean的结构
6.3.3 无home或组件接口
6.3.4 回调方法
6.3.5 Bean-container contract
6.4 开发message-driven bean
6.4.1 构建message-driven bean
6.4.2 扩展在线银行的需求
6.4.3 设计消息的有效载荷
6.4.4 什么是应答
6.4.5 构建MDB bean类
6.4.6 部署描述符
6.5 MDB客户端编程
6.5.1 相关性标识(Correlation ID)
6.5.2 消息类型
6.5.3 超时
6.6 Message-driven bean交互模式
6.6.1 消息交互
6.6.2 即发即弃(Fire-and-forget)
6.6.3 即发即行(Fire-and-forwad)
6.6.4 准同步请求/应答(pseudo-synchronous reyuest/reply)
6.6.5 异步请求/应答(Asynchronous request/reply)
6.6.6 发布和订阅模式
6.7 message-driven bean最佳实践
6.8 小结
第7章 EJB客户端
7.1 客户端类型
7.1.1 Session bean
7.1.2 Servlet
7.1.3 应用程序客户端
7.2 如何访问EJB
7.2.1 Home接口
7.2.2 基本编程规则
7.2.3 获得一个初始命名上下文
7.2.4 从初始上下文中查找EJB home
7.2.5 使用EJB home
7.2.6 操作EJB引用
7.2.7 跟踪关系
7.2.8 Finder方法
7.2.9 继承
7.2.10 EJB客户端应用程序示例
7.2.11 编程限制
7.3 使用access bean
7.4 对entity bean使用session facade
7.4.1 Facade session bean
7.4.2 Fagade session设计
7.4.3 为session facade使用access bean
7.5 客户端比较
7.5.1 直接访问
7.5.2 Access bean
7.5.3 Facade bean
7.5.4 方法的摘要说明
7.5.5 选择哪一类客户端
7.6 Home工厂模式
7.6.1 结构
7.6.2 实现
7.6.3 应用程序示例:现代home工厂
7.7 小结
第8章 补充概念:事务、异常、安全
8.1 简介
8.2 事务
8.2.1 事务示例:银行转账
8.2.2 事务的ACID特性
8.2.3 Java事务服务(JTS)
8.2.4 J2EE中的事务支持
8.2.5 EJB事务划分
8.2.6 Bean管理事务(BMT)
8.2.7 容器管理事务(CMT)
8.2.8 在事务中管理数据访问
8.2.9 数据库锁策略
8.2.10 隔离级别
8.2.11 JDBC中的隔离级别
8.2.12 资源访问意向
8.2.13 事务性编程考虑因素
8.2.14 事务与messagedriven bean
8.2.15 会话同步接口
8.2.16 使用事务的指导方针
8.2.17 关于应用程序事务编程的指导方针
8.3 EJB异常处理
8.3.1 Checked和unchecked异吊
8.3.2 异常与EJB
8.3.3 程序异常
8.3.4 EJB标准程序异常
8.3.5 Bean处理程序异常
8.3.6 标准EJB程序异常的增强
8.3.7 系统异常
8.3.8 EJB系统异常的解释
8.3.9 Bean对系统异常的处理
8.3.10 异常的客户端视图
8.3.11 Message-bean的异常处理
8.4 安全性
8.4.1 EJB安全性的目标
8.4.2 安全性体系结构概述
8.4.3 WebSphere安全层
8.4.4 EJB安全性细节
8.4.5 最佳实践:授权策略矩阵
8.4.6 联系一切
8.5 小结
第II部分 使用Application Developer开发测试EJB
第9章 WebSphere Studio Application Developer
9.1 WebSphere Studio Application Developer
9.2 WebSphere Studio Workbench
9.2.1 工作区
9.2.2 用户接口
9.3 Workbench窗口
9.4 透视图和视图
9.4.1 透视图基础
9.4.2 视图和编辑器
9.4.3 定制透视图
9.4.4 New图标
9.4.5 Web透视图
9.4.6 Java透视图
9.4.7 J2EE透视图
9.4.8 Data透视图
9.4.9 XML透视图
9.4.10 Server透视图
9.4.11 Debug透视图
9.4.12 CVS Repository Exploring透视图
9.4.13 帮助信息
9.4.14 内存考虑事项
9.5 项目
9.5.1 Java项目
9.5.2 EAR项目
9.5.3 Web项目
9.5.4 Struts
9.5.5 EJB项目
9.5.6 服务器项目
9.6 服务器
9.6.1 服务器配置
9.6.2 启动和停止服务器
9.6.3 远程服务器
9.6.4 Agent Controller
9.7 EJB开发环境
第10章 应用程序示例的介绍和准备
10.1 Bank模型
10.2 Bank数据库
10.2.1 表
10.2.2 触发器
10.2.3 数据库定义DDL
10.2.4 数据库内容
10.2.5 创建EJBBANK数据库和表
10.3 准备Application Developer
10.3.1 工作区
10.3.2 准备J2EE 1.3企业应用程序
10.3.3 命名规则
10.3.4 创建企业应用程序
10.3.5 模块相关性
10.3.6 准备WebSphere测试环境
10.3.7 服务器项目
10.3.8 服务器
10.3.9 给服务器添加企业应用程序
10.3.10 使用数据源来配置服务器
10.3.11 Utility项目
10.3.12 实现home工厂
10.3.13 模块相关性
10.4 小结
第11章 容器管理entity bean的开发
11.1 开发account CMP entity bean
11.1.1 使用Enterprise Bean Creation向导开发CMP
11.1.2 创建CMP entity bean
11.1.3 生成的类
11.1.4 生成的部署描述符
11.1.5 修整创建方法
11.1.6 向enterprise bean中添加业务逻辑
11.1.7 部署
11.1.8 把entity bean映射到表
11.1.9 生成部署代码
11.1.10 完成部署描述符
11.2 测试enterprise bean
11.2.1 通用测试客户端
11.3 开发用户和事务记录EJB
11.3.1 客户EJB
11.3.2 为地址信息实现JavaBean
11.3.3 实现客户EJB
11.3.4 事务记录EJB
11.3.5 实现事务记录EJB
11.3.6 客户与事务记录bean的映射
11.3.7 生成部署代码
11.3.8 在通用测试客户端中测试EJB
11.4 开发关系
11.4.1 Application Developer中对于关系的支持
11.4.2 把账户定义到事务记录关系中
11.4.3 为事务记录进行代码定制
11.4.4 定义customer与account关系
11.4.5 顾客对账户的代码定制
11.4.6 创建远程方法
11.4.7 JNDI名称和引用
11.4.8 映射关系
11.4.9 为关系生成部署代码
11.4.10 在通用测试客户端中测试关系
11.5 开发继承结构
11.5.1 Application Developer对继承的支持
11.5.2 定义继承结构
11.5.3 完善生成的代码
11.5.4 继承bean的关系
11.5.5 关于继承的映射方法
11.5.6 映射账户继承结构
11.5.7 为继承生成部署代码
11.5.8 在通用测试客户端测试继承
11.6 清除模型
11.7 部署custom finder
11.7.1 创建一个简单的custom finder方法
11.7.2 使用关系和继承创建finder方法
11.7.3 在bean类中创建select方法
11.8 开发home方法
11.9 为finder和select方法生成代码
第12章 CMP的映射策略
12.1 映射策略
12.1.1 自顶向下(Top-down)
12.1.2 自底向上(Bottom-up)
12.1.3 中间匹配(Meet-in the-middle)
12.2 映射示例
12.2.1 EJBBANK数据库的自底向上映射
12.2.2 Bank模型的自顶向下映射
12.2.3 将CMP映射到多个表
12.2.4 映射关系
12.2.5 映射继承
12.2.6 映射相关值类
12.3 转换器和组合器
12.3.1 使用组合器
12.3.2 使用转换器
第13章 Bean-管理entity bean的开发
13.1 Bean管理的持久性
13.2 为什么需要BMP
13.3 建议
13.3.1 BMP作为CMP的子类(subclass)
13.4 开发BMP entity bean
13.4.1 包含用户信息的表格
13.4.2 为BMP entity bean创建EJB项目
13.4.3 创建超类CMP entity bean
13.4.4 键类
13.4.5 创建BMP entity bean
13.4.6 抽象方法
13.4.7 定义持久性字段
13.4.8 创建带有参数的方法
13.4.9 查看bean中的方法
13.4.10 实现bean方法
13.4.11 完成BMP entity bean
13.4.12 提升业务方法
13.4.13 完成部署描述符
13.4.14 实现持久类
13.5 生成部署代码
13.6 创建数据库表
13.6.1 生成DDL
13.6.2 运行DDL
13.6.3 加载示例数据
13.7 测试BMP entity bean
13.8 只读方法
13.9 小结
13.9.1 BMP entity bean的优缺点
13.9.2 访问意向
第14章 开发session bean
14.1 设计
14.1.1 Home生成器
14.1.2 Session bean异常
14.2 开发stateless session bean
14.2.1 为session bean创建EJB项目
14.2.2 为banking事务创建session bean
14.2.3 访问CMP entity home
14.2.4 实现业务逻辑
14.2.5 设置部署属性
14.2.6 生成部署代码
14.2.7 在通用测试客户端中测试业务逻辑
14.3 开发一个stateful session bean
14.3.1 设计问题
14.3.2 创建一个stateful session bean
14.3.3 处理Home引用
14.3.4 实现业务逻辑
14.3.5 测试stateful session bean
14.4 由session bean创建Web Service
14.4.1 创建Web service
14.4.2 用生成的测试客户端来测试Web service
14.4.3 用通用测试客户端测试Web service
14.4.4 分析生成的代码
14.5 小结
第15章 EJB access bean
15.1 什么是access bean
15.1.1 EJB生成器
15.1.2 数据类
15.1.3 JavaBean封装
15.1.4 Copy helper
15.1.5 Access bean和关系
15.2 开发access bean
15.2.1 开发数据类
15.2.2 生成access bean
15.2.3 生成部署代码
15.2.4 生成JavaBean封装
15.2.5 测试access bean
15.3 小结
第16章 开发message-driven bean
16.1 设计
16.1.1 命名约定
16.2 开发message-driven bean
16.2.1 创建数据传输对象
16.2.2 创建message-driven bean
16.2.3 实现MDB
16.2.4 设置部署信息
16.3 设置服务器
16.3.1 服务器配置
16.4 Message-driven bean客户端
16.4.1 Servlet客户端
16.4.2 J2EE应用程序客户端
16.5 测试MDB
16.6 事物类型
16.7 小结
第17章 客户端开发
17.1 客户端类型
17.2 引用
17.2.1 EJB引用
17.2.2 资源和资源环境引用
17.2.3 在客户端代码中使用引用
17.3 开发servlet客户端
17.3.1 运行示例
17.3.2 Web项目
17.3.3 创建servlet
17.3.4 创建HTML页面
17.3.5 完成servlet
17.3.6 创建JSP
17.3.7 Web应用程序部署描述符
17.3.8 测试Web客户端
17.4 开发基于Struts的Web客户端
17.4.1 什么是Struts
17.4.2 使用MVC框架的Struts
17.4.3 Application Developer对Struts的支持
17.4.4 创建Struts Web项目
17.4.5 创建Struts Web图
17.4.6 定义应用程序资源
17.4.7 实现Web应用程序
17.4.8 实现表单bean
17.4.9 实现输入JSP
17.4.10 实现action
17.4.11 实现输出JSP
17.4.12 完成Web图连接
17.4.13 Struts配置文件
17.4.14 Web应用程序部署描述符
17.4.15 测试Struts客户端
17.5 J2EE客户端容器
17.6 开发message-driven bean客户端
17.6.1 创建应用程序客户端项目
17.6.2 创建MDB客户端类
17.6.3 部署描述符
17.6.4 在Application Developer中运行应用程序客户端
17.6.5 在Application Developer外运行客户端
17.6.6 应用程序客户端资源配置工具
17.6.7 部署WebSphere
17.7 使用access bean的GUI客户端
17.7.1 创建GUI应用程序客户端
17.7.2 完成代码
17.7.3 配置启动器
17.7.4 测试GUI客户端
17.8 使用Web service的客户端
17.9 外部化字符串
17.9.1 查找需要外部化的字符串
17.9.2 外部化的结果文件
17.10 小结
第18章 企业应用程序的部署
18.1 企业应用程序
18.1.1 使用Application Developer管理部署描述符
18.1.2 EJB模块
18.1.3 Web模块
18.1.4 应用程序客户端模块
18.2 配置WebSphere Application Server
18.2.1 启动服务器和管理控制台
18.2.2 配置服务器
18.2.3 配置JDBC驱动和数据源
18.2.4 为MDB配置一个消息监听程序
18.2.5 配置connection factory和队列
18.2.6 激活JMS服务器
18.2.7 保存配置
18.2.8 停止和启动服务器
18.3 安装企业应用程序
18.3.1 创建EAR文件
18.3.2 安装EAR文件
18.3.3 启动服务器和应用程序
18.4 测试ITSO banking应用程序
18.4.1 Web应用程序
18.4.2 消息驱动bean
18.5 应用程序装配工具
18.6 命令行工具
18.6.1 批处理命令
18.6.2 脚本工具
18.7 小结
第19章 Application Developer的团队开发环境
19.1 简介
19.1.1 工作区
19.1.2 项目
19.1.3 本地历史
19.1.4 导出
19.1.5 乐观并发
19.1.6 悲观同步
19.2 设置一个团队资源库
19.3 并行版本系统
19.3.1 CVS安装和配置
19.3.2 Application Developer 5.0中的新特性
19.3.3 哪些改动会影响您的工作
19.3.4 从版本控制中忽略资源
19.4 单独用户的开发场景
19.4.1 连接到一个CVS资源库
19.4.2 向CVS控制添加一个项目
19.4.3 创建版本
19.4.4 修改和同步
19.4.5 CVS控制台
19.4.6 资源历史
19.4.7 文件比较
19.4.8 断开项目
19.4.9 关键字扩展
19.5 团队开发场景
第III部分 附录
附录A 环境设置
A.1 安装计划
A.1.1 硬件
A.1.2 软件
A.2 安装DB2 UDB
A.3 安装IBM WebSphere应用服务器
A.3.1 安装过程
A.3.2 验证安装
A.4 WebSphere Studio Application Developer的安装
A.5 安装EJBBANK数据库
附录B 附加资料
B.1 定位Web资料
B.2 使用Web资源
B.2.1 下载Web资源的系统需求
B.2.2 如何使用Web资源
B.2.3 安装ItsoBank5EAR.ear文件
B.2.4 安装服务器
附录C 作者信息
猜您喜欢