一.什么是web服务
web服务在简单术语中可被定义为通过安装了特定设备或服务器到另一装置或客户端应用程序通过WWW彼此通信后的应用程序(万维网)提供的服务。
Web服务通常在计算机网络的应用层上使用HTTP或HTTPS协议,其中一个应用程序以XML或JSON的形式传输数据或发送请求并接收由客户端应用程序作为Web服务处理的响应,是底层软件平台,体系结构技术。
例如,用.NET平台编写的应用程序希望从JAVA平台中的应用程序以Web服务的形式访问数据,这可以通过在应用程序之间传递XML请求和响应来实现。
二.Web服务标识
Web服务标识为:
-
Internet或Intranet或虚拟专用网络(VPN)上可用的任何服务。
-
使用标准XML消息格式的服务。
-
一种与平台无关的服务,不限于特定的操作系统或编程语言。
-
可以通过万维网上的简单查找机制发现的服务,它是一个URL。
-
通过通用XML语法自描述的服务。
-
能够通过万维网上的HTTP或HTTPS协议交换信息的服务。
三. Web服务组件
基本的Web服务平台是XML消息格式以及HTTP请求和响应。所有标准Web服务都使用以下组件工作
-
SOAP(简单对象访问协议)
-
UDDI(通用描述,发现和集成)
-
WSDL(Web服务描述语言)
四.Web服务操做
Web服务通过使用开放标准,使安装在不同设备上的各种应用程序之间能够进行通信,如下所述:
五.样例
考虑一个银行网络服务,该服务注册用户并生成唯一的用户ID和密码以访问其网站上的帐户。假设用户在银行开户后首次在线注册自己。银行Web服务是驻留在Solaris机器上的JAVA程序,该机器与数据库进行交互以处理从JSP应用程序接收的数据,该JSP应用程序通过万维网在线注册用户。
以下是此操作将执行的步骤:
-
作为JSP应用程序运行的客户机程序将脱机接收到的用户详细信息(例如其姓名,电话号码,电子邮件ID,地址和银行帐号)捆绑为SOAP消息。
-
该SOAP消息通过万维网上的HTTP POST请求发送到Web服务。
-
Web服务将SOAP消息解包,解析XML消息并生成用于处理请求并与数据库进行交互的命令行命令。
-
查找数据库后,嵌入Web服务中的服务器端程序将验证数据,如果信息正确,则创建唯一的UID和密码,并将此数据捆绑到另一个SOAP消息中作为响应。
-
使用HTTP POST响应将该响应作为SOAP消息发送回客户端JSP应用程序。
-
SOAP消息由客户端程序解包,验证和解析。
-
如果SOAP消息的验证成功,则客户机JSP程序将处理SOAP消息数据。客户端程序在网络浏览器屏幕上呈现诸如“ UID和密码成功创建”之类的信息,并通过电子邮件或用户已在银行注册的SMS形式发送此实际信息(UID和密码)。
-
如果对SOAP消息的验证失败,则Web服务将在SOAP消息中发送错误信息,该错误信息将在Web浏览器屏幕上呈现,例如“输入数据与请求的详细信息不匹配,未创建UID和密码”。
-
这就是完成为银行业务应用程序生成UID和密码的Web服务操作的方式。下面是图形表示:

Web服务请求和响应模型
六. Web服务测试
Web服务测试实际涉及的内容:
Web Service示例项目及其测试将在下节讲解
七. Web服务和Web API之间的区别
属性 |
Web 服务 |
Web API |
信息交换的数据结构 |
仅将XML格式用作信息交换和通信的结构化数据。 |
结构化数据可以是XML格式,JSON格式或纯数据。 |
数据和请求压缩 |
可以压缩HTML请求,但不能压缩XML数据。 |
这里可以压缩数据。 |
数据定义标准 |
标准由WSDL(Web服务定义语言)定义。 |
没有定义的标准。 |
使用的协议示例 |
Web服务使用SOAP(简单对象访问协议)协议 |
Web API使用REST(表示状态传输)协议
|