目录 第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.2RMODP标准组成 3.1.3RMODP功能组成 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 BIGIP负载均衡 小结 思考题 实验7测试和验证数据库连接池 第10章Web服务 10.1Web服务的概念 10.2Web服务的发展历史 10.2.1XMLRPC协议 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基于JAXWS的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搭建EurekaClient服务提供者模块 11.5.4Ribbon负载均衡器的使用 11.5.5搭建Hystrix模块应对服务宕机情况 11.5.6Zuul网关实现动态路由 11.5.7Spring Cloud Config实现配置文件集中管理 11.6微服务开发模式 11.6.1服务的拆分 11.6.2微服务和DevOps 小结 思考题 附录AJAXWS自动生成的WSDL文件 参考文献