书籍详情
深入浅出J2EE架构
作者:(印度)库姆(Kumar,B.V.),(印度)圣吉斯(Sangeetha,S.),(印度)撒伯拉汗门亚(Subrahmanya,S.V.)著,宋梅,张学平 译
出版社:清华大学出版社
出版时间:2006-12-01
ISBN:9787302140450
定价:¥45.00
购买这本书可以去
内容简介
J2EE迅速风靡了许多大型企业和小型企业。大多数在《财富》排行榜中占有一席之地的公司都投入了资源和资金来实现基于J2EE框架的企业解决方案。银行业和其他一些金融公司将J2EE视为企业解决方案战略的重要部分。这样,面向业务的企业需要更完善、更深刻地理解J2EE技术的概念、设计和部署。本书旨在将J2EE技术生动鲜活地展现给企业应用程序开发活动中涉及的各类人员,它介绍J2EE架构知识,解释其他支持和服务技术、API和规范如何帮助架构师和设计人员在合理时间范围内交付企业解决方案。为理解J2EE概念,有必要登临高处,一览企业面临的各种问题。Java的演变简单自然,行业研究计划和强大的社区支持在推动Java的发展。除Sun Microsystems外,诸多具有重要行业影响力的巨头,如Oracle、IBM、BEA、Borland、Sybase、Hewlett Packard、Apple和SAP等,都纷纷在各类平台上推出基于J2EE的企业解决方案。社区对推进Java和J2EE做出重要贡献。有300多个JSR(Java规范请求)在处理Java各方面的要求,处理企业版要求的JSR达100多个。处理和审议要求的委员会由多个组织组成,这些组织以JCP(Java社区流程)会员的身份走上舞台。JSR的规范领导者不一定来自Sun Microsystems公司。例如,IBM的Jim Knutson负责领导JSR 109(用于实现企业Web服务)1;Oracle的Mark F Homik 是JSR 247(数据挖掘2.0)的规范领导者。显而易见,行业研究计划在推进这项基于需求的技术一路前行。今天,几乎所有大学和研究所都将Java编程语言纳入课程提纲2。Java的各个版本,尤其是J2EE正渗透到不同等级。在大学高年级和研究生级别,这表现得尤其突出。学术圈也在不同等级积极推进Java和相关技术。使计算机科学、工程和信息技术相关学科的研究生了解这项技术正变得日益重要。尽管诸如Servlet、JSP和EJB的组件技术已为人熟知,但这些组件在架构级别的交互同样是一个引人注目的方面。企业问题的多维特点将人们的一部分视线从功能要求转移到巨大的非功能要求上。本书利用三维方法,深入探讨这些重要方面。这种淳朴典雅的行文方式能使开发人员强化理解“层”和“级别”为什么能呈现企业解决方案的非功能要求,以及呈现的方式。本书还介绍作为技术和平台的J2EE如何恰到好处地解决了不同维度的问题。读者对象介绍J2EE及其他相关主题的优秀书籍、教程和研究指南数不胜数。但大多数专著都重在解决开发人员需求。虽然其中不乏内容全面,能为开发人员和架构师提供多方面帮助的书籍,但还几乎没有同类书籍专注于在学术级别讨论J2EE技术。试图将理解提高到一个新水平的研究生和同等级的专业人员,以及要升华J2EE架构概念和知识的导师如果正在苦苦寻求一本专著,以便从概念和应用程序开发等方面理解J2EE技术和架构。本书将成为您的制胜宝典。预计您将成为信息技术方面的专业人员,故必须拥有Java行内经验,掌握相关的组件技术。很多开发人员在编写J2EE代码时,缺少对J2EE的宏观理解,而实际上,在这些人员创建最终组装成企业应用程序并进行运行的组件代码时,脑海中应当勾勒出一幅清晰的J2EE蓝图。本书旨在帮助初出茅庐的专业人员理解生成企业解决方案的基本架构原理。J2EE应用程序的设计和开发人员必将从这些高级概念中汲取到丰富的营养。围绕架构和设计模式、指南和最佳实践等主题的概念和详情将使之更深刻地理解J2EE平台。项目和程序经理,以及负责开发和交付J2EE项目的交付经理将发现本书是一本妙趣横生、通俗易懂的读物,将帮助强化理解基本概念,并体验更新的J2EE技术概念。本书的两个案例研究烘托出两种此类企业要求。这些案例研究的解决方案处于不同级别;第一个案例研究提供架构级别的解决方案,而第二个案例研究试图同时呈现J2EE解决方案设计级别的详情。本书将一个小巧典雅的原型开发为解决方案的一部分。此原型选取一项特定功能,跨越所有的层(客户层、表示层、业务层以及数据层)实现了完整的解决方案。此原型还使用了能恰到好处地满足要求的设计模式。设计和开发人员将发现,在编码级别理解和吸收这些概念能获得无限的乐趣。欢迎您访问公司的Web站点http://highered.mcgraw-hill.com/sites/0070603715,以了解更新信息。B V KUMARS SANGEETHAS V SUBRAHMANYA2005年5月
作者简介
作者:B V KumarB V Kumar拥有15年以上的各级IT领域工作经验,曾在新加坡电脑视景公司、韩国首尔Parametric技术公司及Sun Microsystems印度分公司任职。Kumar博士目前是Infosys的首席研究员和技术专家,负责电子商务研究实验室的新技术计划,承担开发概念验证和原型、推荐企业架构师及咨询等工作。Kumar已在Infosys公司E&R为不同角色设计和开发了多门基于J2EE企业架构的课程,并成为Sun Microsystems公司开发人员执行顾问委员会的会员。
目录
第1章 简介 3
1.1 企业的含义 3
1.2 企业和系统 4
1.3 企业的多样性 4
1.4 企业的发展 5
1.5 企业和遗留系统 6
1.5.1 遗留系统的含义 6
1.5.2 遗留系统的组成 6
1.5.3 遗留系统的重要性 9
1.6 成长企业的需要 9
1.6.1 迁移的可能性 10
1.6.2 安全环境 10
1.6.3 可靠事务 10
1.6.4 系统的可访问性 10
1.6.5 根据负载扩展系统 10
1.6.6 访问的响应速度 10
1.7 小结 11
1.8 复习题 11
第2章 “架构师”助企业降低复杂性 12
2.1 概述 12
2.2 早期的企业 12
2.2.1 大型机时代 12
2.2.2 客户机/服务器时代 13
2.2.3 分布式时代 13
2.3 当前的企业 14
2.4 架构原理 15
2.4.1 架构师及其职责 15
2.4.2 架构术语 16
2.4.3 架构师和设计师 17
2.4.4 架构方法 17
2.5 架构技术 20
2.6 小结 20
2.7 复习题 20
第3章 管理企业的复杂性 21
3.1 概述 21
3.2 新架构的设计原理 21
3.3 三维架构 21
3.3.1 分层 22
3.3.2 层 23
3.3.3 企业应用程序质量 24
3.4 小结 34
3.5 复习题 34
第4章 J2EE简介 35
4.1 概述 35
4.2 J2EE的要素 35
4.3 规范和API 36
4.4 参考实现 37
4.5 J2EE蓝图 37
4.6 测试套件 38
4.6.1 兼容测试套件 38
4.6.2 J2EE应用程序验证包 39
4.7 综述 40
4.7.1 标准产品 40
4.7.2 标准服务 43
4.8 详述 44
4.9 小结 47
4.10 复习题 47
第5章 企业解决方案和J2EE 48
5.1 概述 48
5.2 企业解决方案 48
5.3 Java的发展历程 49
5.3.1 Java 1.1 51
5.3.2 Java 2 52
5.4 J2EE的发展历程 54
5.4.1 J2SE 54
5.4.2 J2ME 55
5.4.3 J2EE 55
5.5 J2EE社区 56
5.6 J2EE是恰到好处的企业解决方案 57
5.7 小结 58
5.8 复习题 58
第Ⅱ部分 J2EE核心原理
第6章 J2EE规范的核心要素 61
6.1 概述 61
6.2 Servlet规范 63
6.2.1 Servlet的发展史 63
6.2.2 Servlet规范详解 63
6.3 JSP规范 74
6.3.1 JSP的发展史 74
6.3.2 JSP规范详解 74
6.3.3 JSP标准动作 78
6.3.4 JSP文档 80
6.4 EJB规范 81
6.4.1 EJB的发展史 81
6.4.2 EJB规范详解 82
6.4.3 EJB详解 82
6.4.4 EJB的生命期 85
6.4.5 EJB的高级特性 91
6.5 小结 91
6.6 复习题 91
第7章 客户层 92
7.1 概述 92
7.2 客户层的重要性 92
7.2.1 客户端的职责 92
7.2.2 客户端的要点 93
7.3 客户层的组件 94
7.3.1 HTML客户端 94
7.3.2 Applet客户端 95
7.3.3 MIDlet客户端 96
7.3.4 Java应用客户端 96
7.3.5 非Java客户端 96
7.3.6 Web服务客户端 97
7.4 客户层容器 97
7.4.1 浏览器环境 97
7.4.2 Java环境 97
7.4.3 移动环境 97
7.5 小结 97
7.6 复习题 98
第8章 表示层 99
8.1 概述 99
8.2 Web层的重要性 99
8.2.1 静态和动态内容 101
8.2.2 请求/响应 101
8.2.3 轻量级 101
8.2.4 会话 101
8.2.5 可伸缩 101
8.2.6 可能实现业务逻辑 102
8.3 Web容器 102
8.4 Web组件 102
8.4.1 Servlet 102
8.4.2 Filter 103
8.4.3 JSP 104
8.5 MVC架构 106
8.6 Web层的最佳实践和指南 108
8.6.1 控制器组件 109
8.6.2 表示组件 109
8.7 Web层的设计模式 109
8.8 J2EE专用的设计模式 111
8.9 小结 112
8.10 复习题 112
第9章 业务层 113
9.1 概述 113
9.2 业务层的重要作用 113
9.3 业务容器 114
9.4 业务组件 115
9.4.1 会话Bean 115
9.4.2 实体Bean 115
9.4.3 消息驱动的Bean 116
9.5 会话Bean详解 116
9.5.1 无状态会话Bean 116
9.5.2 有状态会话Bean 117
9.6 实体Bean详解 118
9.6.1 持久数据 118
9.6.2 主键 119
9.6.3 关系 119
9.6.4 实体Bean和池化 121
9.6.5 BMP实体Bean 122
9.6.6 CMP实体Bean 122
9.7 MDB详解 123
9.8 业务层的业务对象 123
9.9 MVC架构与业务层 124
9.10 业务层的最佳实践和指南 124
9.10.1 会话Bean,有状态还是无状态? 124
9.10.2 实体Bean,BMP还是CMP? 125
9.10.3 MDB的使用时机和位置 125
9.10.4 数据访问对象 126
9.10.5 值对象 126
9.11 业务层的设计模式 126
9.11.1 Business Delegate 127
9.11.2 Service Locator 127
9.11.3 Session Facade 127
9.11.4 Business Object 127
9.11.5 Application Service 127
9.11.6 Composite Entity 128
9.11.7 Transfer Object 128
9.11.8 Transfer Object Assembler 128
9.11.9 Value List Handler 128
9.12 小结 128
9.13 复习题 129
第10章 EIS集成层 130
10.1 概述 130
10.2 已有的EIS系统 130
10.2.1 应用系统 130
10.2.2 数据库系统 130
10.2.3 遗留系统 131
10.3 EIS集成方案 131
10.3.1 基于JDBC API的集成方案 131
10.3.2 基于JMS的集成方案 132
10.3.3 基于J2EE连接器架构的集成方案 132
10.4 集成层的最佳实践和指南 133
10.4.1 使用EIS访问对象 134
10.4.2 连接到EIS 134
10.5 小结 134
10.6 复习题 135
第11章 服务 136
11.1 概述 136
11.2 事务 136
11.2.1 普通事务 137
11.2.2 嵌套事务 137
11.2.3 链式事务 137
11.2.4 Sagas 137
11.3 J2EE的事务参与者 137
11.3.1 JTS和JTA 138
11.3.2 业务层的事务 138
11.4 安全 141
11.4.1 身份验证 141
11.4.2 授权 143
11.4.3 消息保护 143
11.4.4 审计 143
11.5 小结 143
11.6 复习题 144
第Ⅲ部分 案 例 研 究
第12章 ServeNVolley公司 147
12.1 概述 147
12.2 目前的结构 147
12.3 可供使用的服务 148
12.4 要求 149
12.5 假设、风险和约束 149
12.6 可能的解决方案 150
12.6.1 高级架构 150
12.6.2 设计层和设计模式的运用 151
12.7 小结 152
12.8 复习题 153
第13章 SafeDrive.com门户 154
13.1 概述 154
13.2 目前的结构 154
13.3 可供使用的服务 155
13.4 要求 155
13.5 假设、风险和约束 156
13.6 可能的解决方案 156
13.6.1 高级架构 156
13.6.2 设计层和设计模式的运用 157
13.7 小结 158
13.8 复习题 159
第14章 SafeDrive.com门户解决方案 160
14.1 概述 160
14.2 高级设计 160
14.3 组件和部署细节 161
14.4 客户层 162
14.5 Web层的设计 167
14.6 业务层的设计 209
14.7 小结 247
14.8 复习题 247
附录A 部署描述符和打包文件 249
附录B 池和池化 260
附录C 设计模式 262
C.1 表示层设计模式 263
C.2 业务层设计模式 266
附录D Sun Java Studio Enterprise 269
D.1 安装 269
D.2 利用JSE构建应用程序 270
D.2.1 JSE IDE的要点 271
D.2.2 新添数据库 273
D.2.3 新添数据库驱动程序 274
D.2.4 创建连接池、数据源和持久管理器 276
D.2.5 创建会话Bean 281
D.2.6 创建CMP实体Bean 284
D.2.7 创建消息驱动的Bean 288
D.2.8 创建Web应用程序客户端 292
D.2.9 创建一个J2EE应用程序 294
D.3 部署J2EE应用程序 295
D.3.1 使用JSE部署应用程序 295
D.3.2 使用浏览器管理控制台部署应用程序 297
D.4 测试J2EE应用程序原型 298
术语表 299
1.1 企业的含义 3
1.2 企业和系统 4
1.3 企业的多样性 4
1.4 企业的发展 5
1.5 企业和遗留系统 6
1.5.1 遗留系统的含义 6
1.5.2 遗留系统的组成 6
1.5.3 遗留系统的重要性 9
1.6 成长企业的需要 9
1.6.1 迁移的可能性 10
1.6.2 安全环境 10
1.6.3 可靠事务 10
1.6.4 系统的可访问性 10
1.6.5 根据负载扩展系统 10
1.6.6 访问的响应速度 10
1.7 小结 11
1.8 复习题 11
第2章 “架构师”助企业降低复杂性 12
2.1 概述 12
2.2 早期的企业 12
2.2.1 大型机时代 12
2.2.2 客户机/服务器时代 13
2.2.3 分布式时代 13
2.3 当前的企业 14
2.4 架构原理 15
2.4.1 架构师及其职责 15
2.4.2 架构术语 16
2.4.3 架构师和设计师 17
2.4.4 架构方法 17
2.5 架构技术 20
2.6 小结 20
2.7 复习题 20
第3章 管理企业的复杂性 21
3.1 概述 21
3.2 新架构的设计原理 21
3.3 三维架构 21
3.3.1 分层 22
3.3.2 层 23
3.3.3 企业应用程序质量 24
3.4 小结 34
3.5 复习题 34
第4章 J2EE简介 35
4.1 概述 35
4.2 J2EE的要素 35
4.3 规范和API 36
4.4 参考实现 37
4.5 J2EE蓝图 37
4.6 测试套件 38
4.6.1 兼容测试套件 38
4.6.2 J2EE应用程序验证包 39
4.7 综述 40
4.7.1 标准产品 40
4.7.2 标准服务 43
4.8 详述 44
4.9 小结 47
4.10 复习题 47
第5章 企业解决方案和J2EE 48
5.1 概述 48
5.2 企业解决方案 48
5.3 Java的发展历程 49
5.3.1 Java 1.1 51
5.3.2 Java 2 52
5.4 J2EE的发展历程 54
5.4.1 J2SE 54
5.4.2 J2ME 55
5.4.3 J2EE 55
5.5 J2EE社区 56
5.6 J2EE是恰到好处的企业解决方案 57
5.7 小结 58
5.8 复习题 58
第Ⅱ部分 J2EE核心原理
第6章 J2EE规范的核心要素 61
6.1 概述 61
6.2 Servlet规范 63
6.2.1 Servlet的发展史 63
6.2.2 Servlet规范详解 63
6.3 JSP规范 74
6.3.1 JSP的发展史 74
6.3.2 JSP规范详解 74
6.3.3 JSP标准动作 78
6.3.4 JSP文档 80
6.4 EJB规范 81
6.4.1 EJB的发展史 81
6.4.2 EJB规范详解 82
6.4.3 EJB详解 82
6.4.4 EJB的生命期 85
6.4.5 EJB的高级特性 91
6.5 小结 91
6.6 复习题 91
第7章 客户层 92
7.1 概述 92
7.2 客户层的重要性 92
7.2.1 客户端的职责 92
7.2.2 客户端的要点 93
7.3 客户层的组件 94
7.3.1 HTML客户端 94
7.3.2 Applet客户端 95
7.3.3 MIDlet客户端 96
7.3.4 Java应用客户端 96
7.3.5 非Java客户端 96
7.3.6 Web服务客户端 97
7.4 客户层容器 97
7.4.1 浏览器环境 97
7.4.2 Java环境 97
7.4.3 移动环境 97
7.5 小结 97
7.6 复习题 98
第8章 表示层 99
8.1 概述 99
8.2 Web层的重要性 99
8.2.1 静态和动态内容 101
8.2.2 请求/响应 101
8.2.3 轻量级 101
8.2.4 会话 101
8.2.5 可伸缩 101
8.2.6 可能实现业务逻辑 102
8.3 Web容器 102
8.4 Web组件 102
8.4.1 Servlet 102
8.4.2 Filter 103
8.4.3 JSP 104
8.5 MVC架构 106
8.6 Web层的最佳实践和指南 108
8.6.1 控制器组件 109
8.6.2 表示组件 109
8.7 Web层的设计模式 109
8.8 J2EE专用的设计模式 111
8.9 小结 112
8.10 复习题 112
第9章 业务层 113
9.1 概述 113
9.2 业务层的重要作用 113
9.3 业务容器 114
9.4 业务组件 115
9.4.1 会话Bean 115
9.4.2 实体Bean 115
9.4.3 消息驱动的Bean 116
9.5 会话Bean详解 116
9.5.1 无状态会话Bean 116
9.5.2 有状态会话Bean 117
9.6 实体Bean详解 118
9.6.1 持久数据 118
9.6.2 主键 119
9.6.3 关系 119
9.6.4 实体Bean和池化 121
9.6.5 BMP实体Bean 122
9.6.6 CMP实体Bean 122
9.7 MDB详解 123
9.8 业务层的业务对象 123
9.9 MVC架构与业务层 124
9.10 业务层的最佳实践和指南 124
9.10.1 会话Bean,有状态还是无状态? 124
9.10.2 实体Bean,BMP还是CMP? 125
9.10.3 MDB的使用时机和位置 125
9.10.4 数据访问对象 126
9.10.5 值对象 126
9.11 业务层的设计模式 126
9.11.1 Business Delegate 127
9.11.2 Service Locator 127
9.11.3 Session Facade 127
9.11.4 Business Object 127
9.11.5 Application Service 127
9.11.6 Composite Entity 128
9.11.7 Transfer Object 128
9.11.8 Transfer Object Assembler 128
9.11.9 Value List Handler 128
9.12 小结 128
9.13 复习题 129
第10章 EIS集成层 130
10.1 概述 130
10.2 已有的EIS系统 130
10.2.1 应用系统 130
10.2.2 数据库系统 130
10.2.3 遗留系统 131
10.3 EIS集成方案 131
10.3.1 基于JDBC API的集成方案 131
10.3.2 基于JMS的集成方案 132
10.3.3 基于J2EE连接器架构的集成方案 132
10.4 集成层的最佳实践和指南 133
10.4.1 使用EIS访问对象 134
10.4.2 连接到EIS 134
10.5 小结 134
10.6 复习题 135
第11章 服务 136
11.1 概述 136
11.2 事务 136
11.2.1 普通事务 137
11.2.2 嵌套事务 137
11.2.3 链式事务 137
11.2.4 Sagas 137
11.3 J2EE的事务参与者 137
11.3.1 JTS和JTA 138
11.3.2 业务层的事务 138
11.4 安全 141
11.4.1 身份验证 141
11.4.2 授权 143
11.4.3 消息保护 143
11.4.4 审计 143
11.5 小结 143
11.6 复习题 144
第Ⅲ部分 案 例 研 究
第12章 ServeNVolley公司 147
12.1 概述 147
12.2 目前的结构 147
12.3 可供使用的服务 148
12.4 要求 149
12.5 假设、风险和约束 149
12.6 可能的解决方案 150
12.6.1 高级架构 150
12.6.2 设计层和设计模式的运用 151
12.7 小结 152
12.8 复习题 153
第13章 SafeDrive.com门户 154
13.1 概述 154
13.2 目前的结构 154
13.3 可供使用的服务 155
13.4 要求 155
13.5 假设、风险和约束 156
13.6 可能的解决方案 156
13.6.1 高级架构 156
13.6.2 设计层和设计模式的运用 157
13.7 小结 158
13.8 复习题 159
第14章 SafeDrive.com门户解决方案 160
14.1 概述 160
14.2 高级设计 160
14.3 组件和部署细节 161
14.4 客户层 162
14.5 Web层的设计 167
14.6 业务层的设计 209
14.7 小结 247
14.8 复习题 247
附录A 部署描述符和打包文件 249
附录B 池和池化 260
附录C 设计模式 262
C.1 表示层设计模式 263
C.2 业务层设计模式 266
附录D Sun Java Studio Enterprise 269
D.1 安装 269
D.2 利用JSE构建应用程序 270
D.2.1 JSE IDE的要点 271
D.2.2 新添数据库 273
D.2.3 新添数据库驱动程序 274
D.2.4 创建连接池、数据源和持久管理器 276
D.2.5 创建会话Bean 281
D.2.6 创建CMP实体Bean 284
D.2.7 创建消息驱动的Bean 288
D.2.8 创建Web应用程序客户端 292
D.2.9 创建一个J2EE应用程序 294
D.3 部署J2EE应用程序 295
D.3.1 使用JSE部署应用程序 295
D.3.2 使用浏览器管理控制台部署应用程序 297
D.4 测试J2EE应用程序原型 298
术语表 299
猜您喜欢