标题：Web Services应用开发
图书信息
高等院校软件专业方向系列教材  Web Services应用开发 
青岛东合信息技术有限公司 编著
ISBN 978-7-121-13545-3
2011年7月出版
定    价：39.00元 16开
316页
内 容 简 介
本书分别介绍了XML、DOM、DTD、Schema、SOAP、XSL、Web Services等技术知识。其中，详细介绍了XML的基本结构和XML的格式控制；Java处理XML的方法和技巧；以及介绍了如何使用Java Web服务开发工具包JWSDP（Java Web Services Developer Pack）来开发Web服务；此外还介绍了如何使用开源工具包CXF开发Web Services应用。
本书重点突出、偏重应用，结合理论篇的实例和实践篇对案例的讲解、剖析及实现，使读者能迅速理解并掌握知识，全面提高动手能力。
本书可作为本科计算机科学与技术、软件外包专业、高职高专计算机软件、计算机网络、计算机信息管理、电子商务和经济管理等专业的程序设计课程的教材。
前 言
随着IT产业的迅猛发展，企业对应用型人才的需求越来越大。“全面贴近企业需求，无缝打造专业实用人才”是目前高校计算机专业教育的革新方向。
该系列教材是面向高等院校软件专业方向的标准化教材。教材研发充分结合软件企业的用人需求，经过了充分的调研和论证，并充分参照多所高校一线专家的意见，具有系统性、实用性等特点。旨在使读者在系统掌握软件开发知识的同时，着重培养其综合应用能力和解决问题的能力。
该系列教材具有如下几个特色。
1. 以应用型人才为导向来培养学生
强调实践：本系列教材以应用型软件及外包人才为培养目标，在原有体制教育的基础上对课程进行了改革，强化“应用型”技术的学习。使学生在经过系统、完整的学习后能够达到如下要求：
 具备软件开发工作所需的理论知识和操作技能，能熟练进行编码工作，并掌握软件开发过程的规范；
 具备一定的项目经验，包括代码的调试、文档编写、软件测试等内容；
 相当于一年的软件开发经验。
2. 以实用技能为核心来组织教学
二八原则：遵循企业生产过程中的“二八原则”，即企业生产过程中80%的时间在使用20%的核心技术，强调核心教学，即学生在学校用80%的学习时间来掌握企业中所用到的核心技术，从而保证对企业常用技术的掌握。教材内容精而专，同时配以知识拓展和拓展练习，以满足不同层次的教学和学习需求。
3. 以新颖的教材架构来引导学习
自成体系：本系列教材采用的教材架构打破了传统的以知识为标准编写教材的方法，采用“全真案例”和“任务驱动”的组织模式。
 理论篇：即最小教学集，包含了“二八原则”中提到的常用技术，以任务驱动引导知识点的学习，所选任务不但典型、实用，而且具有很强的趣味性和可操作性，引导学生循序渐进地理解和掌握这些知识和技能，培养学生的逻辑思维能力，掌握利用开发语言进行程序设计的必备知识和技巧。
 实践篇：多点于一线，以完整的具体案例贯穿始终，力求使学生在动手实践的过程中，加深课程内容的理解，培养学生独立思考和解决问题的能力，并配备相关知识的拓展讲解和拓展练习，拓宽学生的知识面。
 结构灵活：本系列教材在内容设置上借鉴了软件开发中“低耦合高内聚”的设计理念，组织架构上遵循软件开发中的MVC理念，即在课程的实施过程中各高校可根据自身的实际情况（课程配比、时间安排、学生水平、教学情况等），在保证最小教学集的前提下可对整个课程体系进行横向（章节内容）、纵向（章节）裁剪。
4. 提供全面的教辅产品来辅助教学实施
为充分体现“实境耦合”的教学模式，方便教学实施，另外还开发了可配套使用的项目实训教材和全套教辅产品，可供各院校选购：
项目篇：多线于一面，以辅助教材的形式，提供适应当前课程（及先行课程）的综合项目，遵循软件开发过程，进行讲解、分析、设计、指导，注重工作过程的系统性，培养学生解决实际问题的能力，是实施“实境”教学的关键环节。
立体配套：为适应教学模式和教学方法的改革，本系列教材提供完备的教辅产品，主要包括教学指导、实验指导、电子课件、习题集、实践案例等内容，并配以相应的网络教学资源。教学实施方面，提供全方位的解决方案（课程体系解决方案、实训解决方案、教师培训解决方案和就业指导解决方案等），以适应软件开发教学过程的特殊性。
本系列教材由青岛东合信息技术有限公司和青岛海尔软件有限公司共同研制，历时两年，参与编著的有韩敬海、丁春强、赵克玲、高峰、张幼鹏、张旭平、孙更新、宾晟、胡芳、邵峰晶、于忠清、张磊、曹宝香、崔文善、王成端等。本书的特约策划人为吕蕾女士。参与本书编写工作的还有：青岛农业大学、潍坊学院、青岛大学、山东科技大学、曲阜师范大学、济宁学院、中国海洋大学、济宁医学院等高校，期间得到了各合作院校专家及一线教师的大力支持和协作。在此技术丛书出版之际要特别感谢给予我们开发团队大力支持和帮助的领导及同事，感谢合作院校的师生给予我们的支持和鼓励，更要感谢开发团队每一位成员所付出的艰辛劳动。iTeacher@ 教研组
2011年6月
目 录
理论篇 1
第1章  XML概述 2
1.1  XML概述 4
1.1.1  XML的历史 4
1.1.2  XML的基本特征 5
1.1.3  XML定义 6
1.2  XML文档结构 8
1.2.1  序言 9
1.2.2  文档元素 11
1.3  XML文档内容 11
1.3.1  XML元素 11
1.3.2  XML属性 14
1.3.3  注释 16
1.3.4  字符引用和实体引用 16
1.3.5  CDATA节 18
1.3.6  处理指令 19
1.4  XML文档规则 21
1.4.1  格式良好的XML文档规则 21
1.4.2  格式良好的XML文档 23
1.4.3  有效的XML文档 23
小结 24
练习 25
第2章  XML文档类型定义 26
2.1  DTD概述 28
2.1.1  DTD简介 28
2.1.2  DTD声明 29
2.1.3  内部DTD 29
2.1.4  外部DTD 30
2.2  DTD语法 32
2.2.1  元素声明 32
2.2.2  属性声明 35
2.2.3  实体 41
小结 43
练习 44
第3章  XML模式定义 46
3.1  命名空间 48
3.1.1  概述 48
3.1.2  创建命名空间 49
3.2  Schema概述 51
3.2.1  Schema VS DTD 52
3.2.2  Schema文档结构 53
3.3  Schema中的数据类型 54
3.3.1  简单类型 54
3.3.2  复合类型 58
3.4  元素声明 64
3.4.1  简单元素 64
3.4.2  复合元素 65
3.4.3  匿名类型定义 67
3.5  属性声明 68
3.5.1  属性 68
3.5.2  属性组 71
3.6  模式重用 73
3.6.1  include元素 73
3.6.2  import元素 75
小结 78
练习 79
第4章  XML显示——XSL 81
4.1  级联样式表CSS 83
4.1.1  CSS概述 83
4.1.2  CSS语法 83
4.1.3  XML与CSS关联 84
4.2  XSL基础 86
4.2.1  XSL 86
4.2.2  XSLT 87
4.2.3  XPath 88
4.2.4  XPath表达式 90
4.2.5  XPath定位路径 95
4.3  XSL文档 97
4.3.1  XSL文档结构 97
4.3.2  XSL元素 100
4.4  多样式表 115
4.4.1  <xsl:import>元素 115
4.4.2  <xsl:include>元素 117
小结 119
练习 119
第5章  运用DOM处理XML 122
5.1  文档对象模型 124
5.1.1  概述 124
5.1.2  DOM文档结构 124
5.2  解析XML 127
5.2.1  XML的解析方式 127
5.2.2  解析XML的API 128
5.3  DOM编程 131
5.3.1  Java DOM的API 131
5.3.2  DOM应用 134
5.3.3  DOM解析器属性 143
小结 147
练习 147
第6章  SAX与JDOM 150
6.1  使用SAX解析XML 152
6.1.1  SAX的实现机制 152
6.1.2  SAX中的事件 152
6.1.3  Java SAX的API 155
6.1.4  SAX编程 156
6.2  使用JDOM解析XML 168
6.2.1  JDOM概述 168
6.2.2  JDOM的API 169
6.2.3  JDOM编程 171
6.3  SAX、DOM和JDOM技术的比较 175
小结 176
练习 177
第7章  Web Services概述 179
7.1  Web Services简介 180
7.1.1  引言 180
7.1.2  Web Services的特点 181
7.1.3  Web Services的组成 182
7.1.4  Web Services的优势与局限 184
7.2  Web Services体系结构 186
7.2.1  Web Services理论模型 186
7.2.2  Web Services协议 188
7.2.3  Web Services通信模型 190
7.2.4  实现Web Services 192
小结 195
练习 195
第8章  SOAP 197
8.1  SOAP概述 199
8.1.1  SOAP介绍 199
8.1.2  SOAP消息结构 200
8.1.3  SOAP消息交换模型 205
8.1.4  SOAP应用模式 208
8.1.5  SOAP与CORBA、COM/DCOM的区别 210
8.2  JAXM元素 211
8.2.1  SOAPElement 212
8.2.2  SOAPMessage 215
8.2.3  SOAPPart 216
8.2.4  SOAPEnvelope 216
8.2.5  SOAPHeader和SOAPHeaderElement 217
8.2.6  SOAPBody和SOAPBodyElement 218
8.2.7  SOAPFault 218
8.3  编写SOAP客户端 219
8.3.1  SOAP连接 219
8.3.2  构建消息 221
8.3.3  编写SOAP客户端 222
8.4  编写SOAP服务器 225
8.4.1  JAXMServlet 225
8.4.2  编写SOAP服务器 227
8.4.3  部署测试 229
小结 229
练习 230
第9章  WSDL和UDDI 231
9.1  WSDL 233
9.1.1  WSDL概述 233
9.1.2  WSDL文档结构 234
9.1.3  WSDL绑定 239
9.2  UDDI 241
9.2.1  UDDI注册中心 241
9.2.2  UDDI数据结构 242
9.2.3  UDDI API 243
9.2.4  WSDL映射到UDDI 245
小结 251
练习 252
第10章  RPC 253
10.1  RPC概述 255
10.1.1  JAX-RPC简介 255
10.1.2  JAX-RPC应用程序体系结构 256
10.2  映射Java数据类型 257
10.2.1  一般数据类型 257
10.2.2  数组 259
10.2.3  映射为JavaBean 260
10.3  创建基于JAX-RPC的Web Service 261
10.3.1  下载并安装JWSDP 2.0 261
10.3.2  wscompile和wsdeploy工具 264
10.3.3  创建JAX-RPC服务器端 266
10.3.4  创建JAX-RPC客户端 270
小结 276
练习 276
理论篇 277
实践1  SOAP 278
实践指导 278
实践1.G.1 278
知识拓展 284
SOAP安全性 284
拓展练习 287
练习1.E.1 287
实践2  CXF应用 288
实践指导 288
实践2.G.1 288
知识拓展 296
Web Service框架 296
拓展练习 298
练习2.E.1 298
附录A  XSD元素 299
附录B  XSD限定 300
附录C  XPath函数库 301
附录D  XSL元素 303