首页>参考读物>计算机科学与技术>软件工程及软件方法学

SOA与Java:用Java技术实现面向服务
作者 : [加]托马斯·埃尔(Thomas Erl) [德]安德烈·托斯特(Andre Tost) [印]萨塔德鲁·罗伊(Satadru Roy) [英]菲利普·托马斯(Philip Thomas)著
译者 : 赵利通 译
丛书名 : 华章程序员书库
出版日期 : 2015-09-18
ISBN : 978-7-111-50890-8
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 337
开本 : 16
原书名 : SOA with Java: Realizing Service-Orientation with Java Technologies
原出版社: Pearson Education Asia
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

既有深度又有广度的优秀资源,能够帮助IT架构师和Java从业人员理解并结合应用SOA与现代Java。
——  Antonio Bruno,digitalStrom公司企业架构和战略部门

清晰阐明了抽象概念,并用大量具体示例演示了在Java环境中如何实现SOA原则。
——  Sanjay Singh,认证SOA架构师

全面解释如何利用SOA原则和架构来构建及部署高性能的Java服务。
—— Suzanne D’Souza,KBACE Technologies公司

Java已经成长为构建基于Web的企业服务的优秀平台。在本书中,Thomas Erl和其他几位世界级专家将帮助读者掌握设计和交付高价值服务与面向服务解决方案所需的原则、最佳实践和Java技术。

通过阅读本书,你将学到:
在现代Java技术平台上应用现代面向服务技术
运用与面向服务解决方案相关的Java基础设施扩展
在Java上下文中探索与SOA和面向服务相关的关键概念
了解相关的Java平台、技术和API
通过Java实现理解作为REST和SOAP服务构建基础的标准和约定
使用JAX-WS和JAX-RS构建Java基于Web的服务
使用Java工具和技术应用面向服务设计的8条关键原则
创建Java实用服务:架构、设计和实现问题
构建高效实体服务:服务契约、消息、数据访问和处理
构建任务服务,包括关于服务组合的详细指导
在复杂的服务生态系统中使用ESB支持基础设施需求

作者简介
Thomas Erl 是一位IT畅销书作者,Arcitura Education的创始人。他的著作在全世界畅销超过175000册,并得到了IBM、Microsoft、Oracle、Intel等IT公司高级人员的认可。作为Arcitura Education的CEO以及CloudSchool.com和SOASchool.com的合作者,Thomas主持开办了国际上认可的云认证专家(CCP)和SOA认证专家(SOACP)认证项目的课程,这些项目已经建立了一系列正式的、供应商中立的行业认证,全世界已经有数千名IT从业人员获得了这些认证。
Andre Tost 是IBM Software Group的高级技术人员和软件架构师。目前,他正在帮助开发和设计新的PureApplication System云平台,主要关注使用企业服务总线技术进行SOA管理和中间件集成。
Satadru Roy 是一位架构顾问,在过去20年中使用基于Java的技术设计和构建大型分布式系统。在这期间,他作为产品工程师和服务顾问,曾在Java基础设施软件供应商(如BEA Systems、Sun Microsystems和Oracle)处工作。
Philip Thomas 是IBM Software Group的IT架构师。他在不同行业、不同地域的多个组织中担任过技术策略顾问,以及多种类型的解决方案的架构、设计和实现的顾问。

如今,基于SOAP的Web服务仍然是最主要的SOA实现方法之一。WS-*标准是使用最广泛的与SOA相关的跨供应商标准,不管是在云内还是云外,都得到了企业的广泛采用。本书的几位作者均是业界专家和领袖,首席作者Thomas Erl更是SOA领域的领军人物,撰写过多本关于SOA的图书,广受欢迎。
作为Java新手,如何把SOA实践运用到实际开发中?作为架构师或开发人员,如何构建单独的服务?随着程序的增长,如何构建复合服务,同时不破坏面向服务原则?作者通过大量的实用案例和代码,对此进行了详尽的讲解。
本书以一种一致的方式将经常引起混淆的标准和实现放到一起,让读者轻松掌握这个关键领域。关于Java与基于Web的服务如何接口,作者介绍了JAX-WS和JAX-RS等标准及对应的Spring标准,并且使用大量代码来说明要点,例如,如何让应用程序获得最大吞吐量或安全性。此外,本书还详细介绍如何使用Java构建特定类型的服务,让这些服务在遵守面向服务原则的同时以良好性能运行,并介绍了WSDL以及与REST进行数据映射和如何实现松散耦合等细节内容。

上架指导

计算机\软件工程

封底文字

“既有深度、又有广度的优秀资源,能够帮助IT架构师和Java从业人员理解并结合应用SOA与现代Java。”
—Antonio Bruno,digitalStrom公司企业架构和战略部门

“清晰阐明了抽象概念,并用大量具体示例演示了在Java环境中如何实现SOA原则。”
—Sanjay Singh,认证SOA架构师

“从一个全面的视角解释如何利用SOA原则和架构来构建及部署高性能的Java服务。”
—Suzanne D’Souza,KBACE Technologies公司

Java已经成长为构建基于Web的企业服务的优秀平台。在本书中,Thomas Erl和其他几位世界级专家将帮助读者掌握设计和交付高价值服务与面向服务解决方案所需的原则、最佳实践和Java技术。
通过阅读本书,你将学到:
●在现代Java技术平台上应用现代面向服务技术
●运用与面向服务解决方案相关的Java基础设施扩展
●在Java上下文中探索与SOA和面向服务相关的关键概念
●了解相关的Java平台、技术和API
●通过Java实现理解作为REST和SOAP服务构建基础的标准和约定
●使用JAX-WS和JAX-RS构建Java基于Web的服务
●使用Java工具和技术应用面向服务设计的8条关键原则
●创建Java实用服务:架构、设计和实现问题
●构建高效实体服务:服务契约、消息、数据访问和处理
●构建任务服务,包括关于服务组合的详细指导
●在复杂的服务生态系统中使用ESB支持基础设施需求

作者简介

[加]托马斯·埃尔(Thomas Erl) [德]安德烈·托斯特(Andre Tost) [印]萨塔德鲁·罗伊(Satadru Roy) [英]菲利普·托马斯(Philip Thomas)著:见勒口

译者简介

赵利通 译:暂无简介

图书目录


作者及贡献者简介
第1章 概述 ...................................1
1.1 关于本书 ...........................1
1.1.1 本书目标 ................1
1.1.2 本书面向的读者 .....1
1.1.3 本书特征 ................2
1.2 必要阅读 ...........................2
1.3 本书结构 ...........................2
1.4 本书使用原则和模式的方式 ........................................4
1.5 符号和图形 .......................4
第2章 案例分析示例 ..................5
2.1 案例分析示例的使用 ........5
2.1.1 风格特点 ...............5
2.1.2 案例与抽象内容的关系 .................................5
2.1.3 代码示例 ................5
2.2 案例分析背景:NovoBank ....................6
2.2.1 技术基础设施 .........6
2.2.2 自动化解决方案 ................6
2.2.3 业务阻碍和目标 ................7
2.2.4 未来IT路线图 ....................7
2.3 案例分析背景:SmartCredit公司 .................................8
2.3.1 技术基础设施 .........8
2.3.2 自动化解决方案 .....8
2.3.3 业务目标 ................9
2.3.4 未来的IT路线图 .................9
第一部分 基 础
第3章 SOA基本概念 ...............13
3.1 基本术语和概念 .............13
3.1.1 面向服务计算 .......13
3.1.2 面向服务 ..............15
3.1.3 面向服务架构 .......15
3.1.4 SOA宣言 ..............17
3.1.5 服务 .....................18
3.1.6 云计算 ..................18
3.1.7 IT资源 ..................19
3.1.8 服务模型 ..............19
3.1.9 服务库存 ..............20
3.1.10 服务组合 ............20
3.1.11 服务候选.............21
3.1.12 服务契约 ............21
3.1.13 服务相关的粒度 .............21
3.1.14 服务概要 ............22
3.1.15 SOA设计模式 ................22
3.2 延伸阅读 .........................24
第4章 基本的Java分布式技术 .........................................26
4.1 Java分布式计算的基础知识 .........................................26
4.1.1 Java SE的架构 .................27
4.1.2 Java EE的架构 .................27
4.1.3 应用程序的打包和部署 .............................28
4.1.4 Java EE架构的各层 .................29
4.2 Java分布式技术和API ....30
4.2.1 Java SE API ...........30
4.2.2 Java EE API ..........32
4.3 XML标准和Java API ......38
4.3.1 XML .....................39
4.3.2 XML模式定义 .................40
4.3.3 XSLT ....................41
4.3.4 JAXP ....................41
4.3.5 JAXB ....................42
4.4 使用Java组件构建服务 ..............42
4.4.1 组件作为服务 ..................42
4.4.2 应用程序协议 ..................42
4.4.3 服务契约 ..............44
4.4.4 组件作为服务和面向服务 .........................46
4.5 Java供应商平台 ..............47
4.5.1 GlassFish企业服务器 ................................47
4.5.2 IBM WebSphere Application Server ............48
4.5.3 IBM WebSphere Application Server Community Edition ............................50
4.5.4 Oracle WebLogic Server .............................50
第5章 基于Web的服务技术 ..............52
5.1 基于SOAP的Web服务 ...............52
5.1.1 Web服务标准的扩展(WS-*) .................56
5.1.2 常用Web服务中间件 .................................61
5.2 REST服务 .......................64
5.2.1 HTTP响应代码 ................65
5.2.2 资源和地址 ...........66
5.2.3 HTTP方法 ............68
5.2.4 资源表示 ..............69
5.2.5 accept头部 ............70
第6章 使用Java构建基于Web的服务 .....................71
6.1 JAX-WS ..........................71
6.1.1 SAAJ ....................73
6.1.2 处理程序 ..............76
6.1.3 Web服务引擎和工具包 .............................76
6.1.4 JAXR ....................77
6.2 WS-*标准的Java实现 ............................78
6.2.1 高级Web服务标准和框架 ..........................78
6.2.2 服务组件架构 ..............................79
6.2.3 Spring-WS ............79
6.3 JAX-RS ...........................80
6.3.1 实现JAX-RS .........80
6.3.2 实现REST服务 ............................83
6.3.3 可扩展性 ..............84
6.3.4 安全性 ..................86
6.3.5 REST服务支持 ................87
第二部分 服 务
第7章 Java基于Web服务中的面向服务原则 ........91
7.1 服务可重用性 .................91
7.1.1 无关功能性上下文...................... 91
7.1.2 高度泛型的服务逻辑 ................................92
7.1.3 泛型可扩展服务契约 ................................94
7.1.4 并发访问服务逻辑 .......................95
7.2 标准服务契约 .................99
7.2.1 自顶向下和自底向上 ................................99
7.2.2 在Java和WSDL之间映射 .........................100
7.2.3 包装文档/字面值契约 ..............................100
7.2.4 隐式和显式头部 .........................101
7.2.5 REST中的数据映射 .................................105
7.2.6 使用行业标准 .............................117
7.3 服务松散耦合 ...............118
7.3.1 分离契约和实现 .........................118
7.3.2 独立功能性上下文 ...................................119
7.3.3 服务消费者耦合 .........................120
7.4 服务抽象 .......................123
7.4.1 抽象技术细节 .............................123
7.4.2 隐藏服务细节 .............................123
7.4.3 文档约束 .............126
7.5 服务可组合性 ...............126
7.5.1 运行时环境的效率 ...................................127
7.5.2 服务契约的灵活性 ...................................128
7.5.3 基于标准的运行时 ...................................128
7.6 服务自治 .......................129
7.6.1 定义明确的功能边界 ...............................129
7.6.2 控制运行时环境 .........................129
7.6.3 高并发性 .............130
7.7 服务无状态性 ...............131
7.7.1 编制基础设施 ......131
7.7.2 会话状态 .............132
7.7.3 存储状态 .............132
7.8 服务可发现性 ...............136
7.8.1 设计时的可发现性 ...................................136
7.8.2 运行时的可发现性 ...................................137
7.8.3 服务注册中心 .............................138
第8章 使用Java构建实用服务 ...............................140
8.1 Java实用服务的原理 ............................140
8.1.1 架构考虑 .............140
8.1.2 实用服务分类 .............................145
8.2 实用服务的设计和实现 ..............................................146
8.2.1 实用服务的设计 .........................146
8.2.2 实用服务和Java版本 ................................149
8.2.3 实用服务和开源框架 ...............................150
8.2.4 将实用服务作为基于Web的服务 ..............152
8.2.5 测试考虑 ....................................157
8.2.6 打包考虑 ....................................157
8.3 实用服务的类型 ..................................158
8.3.1 公共实用服务 .............................158
8.3.2 资源实体服务 .............................163
8.3.3 微实用服务 .................................167
8.3.4 包装器实用服务 .........................169
第9章 使用Java构建实体服务 ...............................173
9.1 Java实体服务的内部原理 .................................174
9.1.1 架构考虑 .............174
9.1.2 域实体与消息实体 ...................................175
9.1.3 数据聚合 .............176
9.1.4 数据访问模式 .............................177
9.1.5 修改通知 .............178
9.2 Java实体服务的设计和实现 .............................179
9.2.1 实体服务设计 .............................179
9.2.2 实体服务实现 .............................184
9.2.3 将实体服务作为基于Web的服务 ..............187
9.2.4 使用SOAP的实体Web服务 .......................187
9.2.5 REST实体服务 ...........................193
9.2.6 测试考虑 ....................................201
9.2.7 Java打包考虑 ..............................201
第三部分 服务组合与基础设施
第10章 使用Java构建任务服务 .............................205
10.1 任务服务的内部原理 ........................205
10.2 构建任务服务 .............211
10.2.1 实现考虑 ...........212
10.2.2 基于Web的任务服务 ..............................213
10.2.3 测试考虑 ...........223
10.2.4 打包考虑 ...........224
第11章 使用Java进行服务组合 .............................225
11.1 服务组合的内部原理 ................................................225
11.1.1 服务组合角色 ...........................225
11.1.2 组合与MEP ...............................226
11.1.3 同步和异步调用 ...............................................226
11.1.4 服务水平协议 ...........................227
11.2 Java服务组合的设计和实现 ...........................228
11.2.1 组合逻辑:编码和编制 ..........................228
11.2.2 REST服务组合考虑................................229
11.2.3 组合成员端点 ...........................230
11.2.4 错误处理...................................231
11.2.5 模式类型重用 ...........................238
11.2.6 基于Web的服务与Java组件 ....................242
11.2.7 打包、测试和部署被组合服务 ...............244
11.3 服务和服务组合性能指导原则 .......................248
11.3.1 测量性能...................................248
11.3.2 测试性能...................................249
11.3.3 缓存 ...................249
11.3.4 使用状态扩展服务 .................................252
11.3.5 处理失败...................................252
11.3.6 解析和编组 ...............................253
第12章 使用ESB作为SOA基础设施 ....................255
12.1 基本的传统消息框架 .........................255
12.2 基本的服务消息框架 .........................261
12.2.1 不使用ESB时的基本服务消息处理 ...............................261
12.2.2 使用ESB时的基本服务消息处理 ............263
12.3 与SOA相关的常用ESB特性 ...........................267
12.3.1 服务查找和调用 ...............................................267
12.3.2 服务处理 ...........269
12.3.3 服务组合支持 ...........................270
12.3.4 REST API管理支持 ................................270
第四部分 附 录
附录A 案例分析结论 ............273
附录B 面向服务原则参考 ..........................275
附录C SOA设计模式参考 ..........................280
附录D 带注释的SOA宣言 ..........................312

教学资源推荐
作者: 麻志毅
作者: 宫云战 主编  赵瑞莲 张威 王雅文 等编著
作者: (美)Michael J.Laszlo
参考读物推荐
作者: 荣国平 张贺 邵栋 等编著内封 荣国平 张贺 邵栋 陈连平 何勉 宋骏 腾灵灵 王天青 吴昊 编著
作者: (美)Laurie Williams,Robert Kessler
作者: Jim Hignsmith
作者: (美)Kent Beck; Cynthia Andres 著