Java Web服务:构建与运行(第2版)
Martin Kalin
卢涛, 李颖 译
出版时间:2014年11月
页数:348
本书快速并详尽地介绍了如何开发REST式和基于SOAP的Web服务。这本动手实践型的书以清晰、务实的方法讲述Web服务相关技术,提供了架构性的概述、可以运行的完整代码示例,以及编译、部署和执行应用程序的一些短小精悍的指令。通过学习本书,读者将掌握如何从头开始编写服务或将已有的服务整合到现有的Java应用程序中。
在突出强调REST式服务的同时,此第2版还涵盖了HttpServlet、 Restlet、JAX-RS API,针对REST式服务的jQuery客户端,以及用于基于SOAP的服务的JAX-WS。

· 学习REST式的服务和基于SOAP的Web服务之间的异同。
· 使用Java API及其实现来计划和传递REST式Web服务。
· 探索使用Java、JavaScript和Perl编写REST式Web
服务。
· 着重在应用层编写基于SOAP的Web服务。
· 研究基于SOAP的消息的处理程序层和传输层。
· 学习在HTTP(S)上的线路层的安全,用户/角色安全,以及WS-Security。
· 使用Java应用程序服务器(JAS)来替代独立的Web服务器。

Martin Kalin是美国迪保罗大学计算和数字媒体学院的教授。他著有一本Java编程的图书,并且是一系列C和C++语言图书的联合作者。
  1. 前言
  2. 第1章 Web服务快速入门
  3. 1.1 Web服务杂项
  4. 1.2 Web服务有什么好处
  5. 1.3 Web服务和面向服务的架构
  6. 1.4 Web服务简史
  7. 1.4.1 从DCE/RPC到XML-RPC
  8. 1.4.2 分布式对象架构:Java示例
  9. 1.4.3 用Web服务来救援
  10. 1.5 什么是REST
  11. 1.5.1 动词和不透明名词
  12. 1.6 回顾HTTP请求和响应
  13. 1.7 HTTP作为API
  14. 1.7.1 用Java编写的两个HTTP客户端
  15. 1.8 第一个REST式的例子
  16. 1.8.1 Predictions Web服务的工作原理
  17. 1.8.2 针对Predictions Web服务的客户端
  18. 1.9 为什么REST式Web服务要使用servlet
  19. 1.10 下一步是什么
  20. 第2章 REST式的Web服务:服务端
  21. 2.1 REST式服务作为一个HttpServlet类
  22. 2.1.1 实现细节
  23. 2.1.2 针对predictions2服务的示例客户端调用
  24. 2.2 REST式 Web服务作为一个JAX-RS资源
  25. 2.2.1 第一个使用Jersey的JAX-RS Web服务
  26. 2.2.2 用Java应用程序发布JAX-RS资源
  27. 2.2.3 用Tomcat发布JAX-RS资源
  28. 2.2.4 Adage类
  29. 2.2.5 JAX-RS生成的XML和JSON响应
  30. 2.2.6 将Predictions Web服务移植到JAX -RS
  31. 2.3 REST式 Web服务作为Restlet的资源
  32. 2.3.1 对adages2服务的示例调用
  33. 2.3.2 在不使用Web服务器的情况下发布adages2 Restlet服务
  34. 2.3.3 REST式服务作为一个@WebServiceProvider
  35. 2.4 下一步是什么
  36. 第3章 REST式的Web服务:客户端
  37. 3.1 针对Java REST式Web服务的Perl客户端 3.2 针对亚马逊电子商务服务的客户端
  38. 3.3 一个独立的JAX -B示例
  39. 3.3.1 XStream选项
  40. 3.4 针对亚马逊电子商务服务的另一个客户端
  41. 3.5 CTA公共汽车跟踪服务
  42. 3.6 REST式客户端和WADL文档
  43. 3.7 JAX-RS客户端API
  44. 3.8 用于JavaScript客户端的JSON
  45. 3.8.1 JSONP和Web服务
  46. 3.8.2 使用jQuery编写的组合REST式服务
  47. 3.8.3 一个Ajax轮询的例子
  48. 3.9 下一步是什么
  49. 第4章 基于SOAP的Web服务
  50. 4.1 一个基于SOAP的Web服务
  51. 4.2 在两个文件中的RandService
  52. 4.3 针对RandService的客户端
  53. 4.3.1 针对RandService的Java客户端
  54. 4.3.2 针对RandService的C#客户端
  55. 4.3.3 针对RandService的Perl客户端
  56. 4.4 WSDL服务合同详解
  57. 4.4.1 types 部分
  58. 4.4.2 message部分
  59. 4.4.3 portType部分
  60. 4.4.4 binding 部分
  61. 4.4.5 service部分
  62. 4.4.6 Java和XML 模式的数据类型绑定
  63. 4.4.7 包装和解包的文档风格
  64. 4.4.8 用于服务端的wsimport构件
  65. 4.5 针对亚马逊的电子商务服务的基于SOAP的客户端
  66. 4.5.1 针对基于SOAP的服务的异步客户端
  67. 4.6 下一步是什么
  68. 第5章 SOAP处理程序和错误
  69. 5.1 基于SOAP的服务和客户端中的处理程序层
  70. 5.2 在predictionsSOAP服务中的处理程序和错误
  71. 5.2.1 后台支持类
  72. 5.2.2 从客户端到服务
  73. 5.2.3 签名验证
  74. 5.2.4 来自应用层和处理程序层的错误
  75. 5.2.5 链接服务端处理程序的服务
  76. 5.3 有两个处理程序的处理程序链
  77. 5.4 基于SOAP的Web服务和二进制数据
  78. 5.5 传输层
  79. 5.6 Axis2
  80. 5.7 下一步是什么
  81. 第6章 Web服务安全性
  82. 6.1 线路层安全
  83. 6.1.1 HTTPS基础
  84. 6.1.2 对称和非对称加密/解密
  85. 6.1.3 HTTPS如何提供三种安全服务
  86. 6.1.4 HTTPS握手
  87. 6.1.5 HttpsURLConnection类
  88. 6.2 一个非常轻量级的HTTPS服务器和客户端
  89. 6.3 在生产级Web服务器中的HTTPS
  90. 6.3.1 强制使用HTTPS访问Web服务
  91. 6.3.2 一个针对predictions2 服务的HTTPS客户端
  92. 6.4 容器管理的安全性
  93. 6.4.1 用Tomcat安全领域链接服务的web.xml
  94. 6.4.2 在用户/角色安全性中的客户端
  95. 6.4.3 使用curl实用程序用于HTTPS测试
  96. 6.4.4 在HTTPS与用户/角色的安全性下的@WebService
  97. 6.4.5 使用摘要的密码替代密码
  98. 6.5 WS-Security
  99. 6.5.1 使用WS-Security保护一个@WebService
  100. 6.6 下一步是什么
  101. 第7章 Web服务和Java应用程序服务器
  102. 7.1 Web容器
  103. 7.1.1 面向消息的中间件
  104. 7.1.2 企业Java Bean 容器
  105. 7.1.3 命名和查找服务
  106. 7.1.4 安全提供者
  107. 7.1.5 客户端容器
  108. 7.1.6 数据库系统
  109. 7.2 通向一个轻量级的JAS
  110. 7.3 GlassFish基础
  111. 7.4 在GlassFish中基于Servlet的Web服务
  112. 7.4.1 具有混合API的例子
  113. 7.5 一个互动网站和基于SOAP的Web服务
  114. 7.6 一个作为@Stateless会话EJB的@WebService
  115. 7.6.1 包装和部署predictionsEJB服务
  116. 7.6.2 针对predictionsEJB服务的客户端
  117. 7.7 TomEE :带有Java EE扩展的Tomcat
  118. 7.7.1 将predictionsEJB Web服务移植到TomEE
  119. 7.7.2 将EJB部署在一个WAR文件中
  120. 7.8 Java Web服务最适合用在什么地方
  121. 7.8.1 回到手头的问题
  122. 索引
书名:Java Web服务:构建与运行(第2版)
作者:Martin Kalin
译者:卢涛, 李颖 译
国内出版社:电子工业出版社
出版时间:2014年11月
页数:348
书号:978-7-121-24501-5
原版书书名:Java Web Services: Up and Running, second edition
原版书出版商:O'Reilly Media
Martin Kalin
 
Martin Kalin has a Ph.D. from Northwestern University and is a professor in the
College of Computing and Digital Media at DePaul University. He has cowritten a series
of books on C and C++ and has written a book on Java for programmers. He enjoys
commercial programming and has codeveloped large distributed systems in process
scheduling and product configuration.