目录


第1章分布式系统概述

1.1计算机系统的演化

1.1.1单机系统

1.1.2单机分布式系统

1.1.3中心集群系统

1.1.4分布式集群系统

1.2分布式系统的概念

1.3分布式系统的应用和意义

1.3.1分布式系统的主要应用

1.3.2分布式系统的意义

1.4分布式系统的难点和框架

1.4.1分布式系统技术难点

1.4.2远程调用

1.4.3分布式计算环境

1.4.4群件和分布式开发模型

1.5分布式计算和大数据技术

1.5.1大数据及其处理技术

1.5.2分布式的大数据处理平台

1.5.3主流的分布式计算系统

小结

思考题

第2章中间件概述

2.1中间件的概念

2.2中间件发展历程

2.2.1中间件发展的历史

2.2.2中间件发展的驱动力

2.3中间件的特征和功能

2.3.1中间件的特征

2.3.2中间件的功能

2.4中间件的分类和产品

2.4.1中间件的分类

2.4.2典型的中间件技术

2.5中间件产业和市场

2.5.1全球中间件市场

2.5.2我国的中间件产业

小结

思考题

第3章面向对象中间件框架

3.1开放分布式处理参考模型

3.1.1面向对象技术

3.1.2RMODP标准组成

3.1.3RMODP功能组成

3.2CORBA框架

3.2.1OMA介绍

3.2.2CORBA介绍

3.2.3CORBA的优势与发展

3.3COM组件模型

3.3.1组件的概念

3.3.2COM的发展历程

3.3.3COM组件

3.3.4DCOM组件

3.3.5COM+组件

3.3.6.NET组件

小结

思考题

实验1跨语言的调用和编程

第4章远程过程调用

4.1远程过程调用

4.1.1远程过程调用的概念和历史

4.1.2远程过程调用原理

4.1.3远程过程调用应用

4.2Java远程调用RMI

4.2.1RMI简介

4.2.2RMI的原理

4.2.3RMI编程案例

4.3RPC和RMI的比较

4.3.1RPC与RMI的区别

4.3.2RMI的优点

小结

思考题

实验2远程过程调用

第5章Web容器

5.1Web服务器

5.1.1Web服务器概述

5.1.2Web服务器的工作原理

5.1.3Web服务器和MVC框架

5.2Web容器简介

5.2.1容器的概念

5.2.2解耦合、控制反转及依赖注入

5.2.3面向切面的编程

5.3Java EE框架

5.3.1概述

5.3.2Java EE框架组成

5.3.3Java EE的主要技术

5.3.4企业级Java中间件

5.4Spring框架

5.4.1Spring框架的历史

5.4.2Spring的体系结构

5.4.3Spring容器中的依赖注入

5.4.4Spring中的AOP编程

小结

思考题

实验3Spring 和AOP编程

第6章消息中间件

6.1消息中间件概述

6.1.1消息中间件的概念

6.1.2消息中间件的发展历史

6.2消息中间件产品和使用场景

6.2.1消息中间件产品

6.2.2消息中间件应用场景

6.3消息中间件的架构和协议

6.3.1点对点和消息代理结构

6.3.2消息中间件的要素

6.3.3消息中间件常用协议

6.4Java消息中间件规范JMS

6.4.1JMS简介

6.4.2JMS架构

6.4.3JMS编程示例

6.5消息驱动的Bean

6.5.1PTP消息传递模型下的配置

6.5.2Pub/Sub消息传递模型下的配置

6.5.3使用MDB接收消息

6.5.4消息选择器

小结

思考题

实验4消息中间件编程

第7章数据访问中间件

7.1开放数据库连接

7.1.1ODBC

7.1.2OLE DB

7.1.3ActiveX Data Objects 

7.1.4JDBC

7.2对象关系映射

7.2.1ORM的概念

7.2.2对象与数据库间的映射

7.2.3对象关系映射例子

7.2.4Hibernate框架

7.3JPA持久化框架

7.3.1JPA的概念

7.3.2JPA持久化对象

7.3.3JPA的优势

7.3.4JPA编程范例

7.3.5JPA与Hibernate的关系

7.4其他持久化框架

小结

思考题

实验5JPA数据存储编程

第8章事务处理中间件

8.1事务处理基础

8.1.1事务的概念

8.1.2JDBC的事务

8.2分布式事务处理

8.2.1分布式事务

8.2.2事务处理中间件

8.2.3两阶段提交2PC

8.2.42PC的应用

8.3EJB事务体系结构

8.3.1容器管理的事务

8.3.2Bean管理的事务

8.4JTA事务处理

8.4.1JTA的概念

8.4.2JTA的实现架构

8.4.3JTA编程的例子

小结

思考题

实验6JTA分布式事务处理

第9章池化和负载均衡中间件

9.1资源池技术概述

9.2对象池技术

9.2.1对象池的概念

9.2.2Commons Pool概述 

9.2.3Commons Pool的结构

9.2.4Commons Pool的实现原理

9.3数据库连接池技术

9.3.1数据库连接池的概念

9.3.2操作数据库连接池

9.3.3配置连接池

9.3.4典型的Java连接池

9.4线程池技术

9.4.1线程池的概念

9.4.2线程池的组成

9.4.3Java线程池技术

9.4.4Java线程池编程

9.5负载均衡技术概述

9.5.1负载均衡的概念

9.5.2负载均衡技术的分类

9.6典型负载均衡技术

9.6.1LVS负载均衡

9.6.2DNS负载均衡

9.6.3Nginx负载均衡

9.6.4F5 BIGIP负载均衡

小结

思考题

实验7测试和验证数据库连接池

第10章Web服务

10.1Web服务的概念

10.2Web服务的发展历史

10.2.1XMLRPC协议

10.2.2重量级协议SOAP

10.2.3REST架构风格

10.3Web服务相关技术

10.3.1可扩展标记语言

10.3.2SOAP

10.3.3Web服务描述语言

10.3.4统一描述、发现和集成

10.4基于SOAP的Web服务

10.4.1Web服务基本框架

10.4.2基于Java的SOAP规范

10.4.3基于JAXWS的Web服务编程

10.5基于REST的Web服务

10.5.1REST架构和准则

10.5.2基于REST的Web服务编程

10.5.3REST和SOAP的比较

10.6面向服务的体系结构

10.6.1SOA的概念

10.6.2SOA系统架构

10.6.3SOA的实施

10.6.4SOA与Web服务

小结

思考题

实验8构建REST风格的Web服务

第11章微服务

11.1软件服务架构的发展

11.1.1单体架构

11.1.2集群架构

11.1.3垂直架构

11.1.4面向服务架构

11.1.5微服务架构

11.2微服务的概念

11.3微服务架构

11.3.1微服务架构体系

11.3.2微服务设计模式

11.3.3常用的微服务架构方案

11.4基于Spring Cloud架构的开发

11.4.1Spring Cloud框架

11.4.2服务发现框架Eureka

11.4.3负载均衡Ribbon

11.4.4熔断器Hystrix

11.4.5微服务网关Zuul

11.4.6配置中心Config

11.5微服务案例

11.5.1构建Spring Cloud项目父工程

11.5.2搭建Eureka服务中心

11.5.3搭建EurekaClient服务提供者模块

11.5.4Ribbon负载均衡器的使用

11.5.5搭建Hystrix模块应对服务宕机情况

11.5.6Zuul网关实现动态路由

11.5.7Spring Cloud Config实现配置文件集中管理

11.6微服务开发模式

11.6.1服务的拆分

11.6.2微服务和DevOps

小结

思考题

附录AJAXWS自动生成的WSDL文件

参考文献