图书目录

目录

第1章服务计算: Web新时代的计算1

1.1Web时代的变革1

1.2服务2

1.3服务计算的发展4

1.4API时代的到来10

本章习题16

第2章Web服务技术方案: 从RPC到REST17

2.1探寻Web运行的终极原理17

2.2从RPC到ROA24

2.3ROA与RPC的比较31

2.4RESTful服务的优势32

本章习题34

第3章资源和表述36

3.1资源的本质36

3.2表述的本质38

3.3超媒体与HATEOAS41

3.4HTTP的语义46

3.5操作资源52

本章习题53

第4章认识RESTful资源: 以地图服务为例54

4.1基于位置的服务54

4.2认识资源型的服务56

4.3用地图API写最简单的地图应用61

本章习题71第5章领域驱动的服务设计72

5.1领域模型与领域驱动设计72

5.2理解领域、识别资源、划分服务74

5.3理解行为、设计表述78

5.4客户端与服务端的设计81

5.5REST成熟度模型84

本章习题88

第6章设计只读的资源服务89

6.1资源分析与设计89

6.2设计资源表述95

6.3把资源互相链接起来100

6.4规划服务交互的响应102

本章习题104

第7章REST安全性和与用户有关的资源设计105

7.1REST安全性设计105

7.2用户也是一种资源114

7.3设计用户资源114

本章习题118

第8章设计可读写的资源服务119

8.1资源分析与设计119

8.2暴露一个统一接口的子集121

8.3设计来自客户端的表述121

8.4设计发给客户端的表述122

8.5将多种资源整合到一起123

8.6规划服务交互的响应125

本章习题127

第9章设计更好的服务: 咖啡店的启发128

9.1一个典型的服务系统——咖啡店128

9.2统一标准的咖啡需要统一标准的集成129

9.3RESTful服务设计方案131

9.4咖啡店案例的启发137

本章习题139

第10章RESTful服务开发(Jersey)140

10.1RESTful服务开发的范畴140

10.2JAXRS与Jersey142

10.3使用IDEA搭建基于Jersey的RESTful服务148

10.4最简单的RESTful服务——HelloService149

10.5在项目中增加JSON格式支持152

10.6模拟数据CRUD操作158

10.7真正的数据库CRUD操作161

10.8文件操作176

10.9打包并部署服务183

本章习题185

第11章开发RESTful服务客户端186

11.1Jersey Client开发客户端186

11.2Java客户端案例188

11.3微信小程序调用RESTful服务197

本章习题202

第12章OpenAPI规范与设计203

12.1RESTful API的工作原理203

12.2OpenAPI规范204

12.3OpenAPI工具Swagger211

12.4在项目中引入Springfox Swagger212

本章习题223

第13章微服务架构简介224

13.1微服务架构模式224

13.2微服务架构的特性与挑战225

13.3Spring Cloud Netflix体系227

13.4Spring Cloud微服务架构233

13.5微服务架构案例234

本章习题238

第14章智能药品柜数据服务开发案例239

14.1理解智能药品柜业务场景239

14.2设计智能药品柜数据服务244

14.3开发智能药品柜数据服务247

附录ASpring构建超媒体驱动的RESTful Web服务案例250

附录BHTTP协议响应代码255

附录C百度地图资源访问程序源码259

附录DSwagger Petstore OpenAPI263