扫描右侧图片或微信搜索 “ Java技术分享屋 ” ,回复 “ 验证码 ” ,获取验证密码。
本资料仅供读者预览及学习交流使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
一.资料图片
二.资料简介
《SOA与Java:用Java技术实现面向服务》几位作者均是业界专家和领袖,首席作者ThomasErl更是SOA领域的领军人物,撰写过多本关于SOA的图书,广受欢迎。本书介绍了使用Java技术实现SOA的方法,对于想要学习SOA的Java程序员,以及想要使用Java实现设计的SOA从业者,均能提供帮助。首先,本书对全书内容进行概览,并为全书使用的案例提供背景信息。然后,使用四部分讲解内容。第一部分介绍了基础知识,有助于理解后续的内容。第二部分介绍了面向服务原则,以及如何使用Java技术实现这些原则。第三部分讨论了如何设计和实现完整的基于Java的SOA解决方案。第四部分是附录,对背景案例进行了总结,并列举了一些对SOA从业人员很有帮助的信息。
如今,基于SOAP的Web服务仍然是最主要的SOA实现方法之一。WS-*标准是使用最广泛的与SOA相关的跨供应商标准,不管是在云内还是云外,都得到了企业的广泛采用。本书的几位作者均是业界专家和领袖,首席作者Thomas Erl更是SOA领域的领军人物,撰写过多本关于SOA的图书,广受欢迎。
作为Java新手,如何把SOA实践运用到实际开发中?作为架构师或开发人员,如何构建单独的服务?随着程序的增长,如何构建复合服务,同时不破坏面向服务原则?作者通过大量的实用案例和代码,对此进行了详尽的讲解。
本书以一种一致的方式将经常引起混淆的标准和实现放到一起,让读者轻松掌握这个关键领域。关于Java与基于Web的服务如何接口,作者介绍了JAX-WS和JAX-RS等标准及对应的Spring标准,并且使用大量代码来说明要点,例如,如何让应用程序获得最大吞吐量或安全性。此外,本书还详细介绍如何使用Java构建特定类型的服务,让这些服务在遵守面向服务原则的同时以良好性能运行,并介绍了WSDL、与REST进行数据映射以及如何实现松散耦合等细节内容。
三.资料目录
序作者及贡献者简介
第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