Web Services 指南之:什么是 Web Services?

前言

Web Services 是 Web 应用出于和其他 Web 应用以交互数据为目的的开放式标准(XML、SOAP、HTTP 等)。
Web Services 可以将你现有的应用程序转换为 Web 应用程序。
通过本系列指南中,您将了解到 Web Services 是什么,为什么和如何使用它们。本系列指南将对那些志在学习 Web Services 基础知识并在实践中进行实施的朋友有所帮助。
这是一套介绍 Web Services 概念的基本教程,并不要求读者事先具备这些技术的相关知识,但是如果你对 XML、HTTP、TCP/IP 等概念有基本了解的话那么读起来当然会更轻松一些。

定义

很多不同的书或者不同的机构对于 Web Services 提供了不同的定义。以下列出了其中的一些定义。

  • 一个 web service 是任何使自己能够通过互联网并使用一个标准化的 XML 消息传递体系进行访问的软件。XML 被用于对所有和 web service 的通信进行编码。例如,客户端通过发送一个 XML 消息对一个 web service 进行调用,然后等待一个相应的 XML 响应。由于所有的通信都是基于 XML,因此 web service 并不会被绑定到特定的操作系统或者编程语言 —— Java 可以和 Perl 进行交互;而 Windows 应用也可以和 Unix 应用进行交互。
  • web service 是一些独立的、模块化的、分布式的、动态应用,它们可以被描述、发布、定位或者通过网络来创建产品、流程和供应链。这些应用可以是本地化的,可以是分布式的,或者也可以是基于 web 的。web service 建立在诸如 TCP/IP、HTTP、Java、HTML 以及 XML 等开放标准之上。
  • web service 是使用互联网进行直接应用程序到应用程序交互的基于 XML 的信息交换系统。这样的系统可以包含程序、对象、消息或者文档。
  • 一个 web service 就是一系列用于在应用或者系统之间交换数据的开放协议和标准的集合。不同语言写的、运行在不同平台上的软件应用可以使用 web service 来通过计算机网络交互数据,就像单台计算机上的进程间通信一样。这种互操作性(比如,Java 和 Python 之间,或者 Windows 和 Linux 应用之间)归功于开放标准的使用。

作为总结,一个完整的 web service 就是符合以下条件的任何服务:

  • 可以通过互联网或私有(内部网)网络进行访问
  • 使用一个标准化的 XML 消息传递系统
  • 没有绑定到任何操作系统或者编程语言
  • 通过一个通用的 XML 语法的自描述性
  • 通过一个简单发现机制的可查找性

web service 组件

基本的 web service 平台是 XML + HTTP。所有标准的 web service 使用以下组件:

  • SOAP(简单对象访问协议)
  • UDDI(通用描述、发现与集成)
  • WSDL(web service 描述语言)

所有这些组件都将会在 web service 章节中进行讨论。

一个 web service 是如何工作的?

一个 web service 通过使用诸如 HTML、XML、WSDL 以及 SOAP 之类的开放标准来保证不同应用之间的通信。一个 web service 需要这些要素:

  • XML 标记数据
  • SOAP 传输消息
  • WSDL 来对 service 的可用性进行描述

你可以在 Solaris 上构建一个基于 Java 的 web service,它可以被你运行在 Windows 上的 VB 程序所访问。
你也可以使用 C# 在 Windows 上构建一个新的 web service,它可以被你的基于 JSP 的并且运行在 Linux 上的 web 应用所调用。

例子

假设有一个简单的账户管理和订单处理系统。会计人员使用一个构建于 VB 或者 JSP 的客户端应用来创建新的账户并输入新客户订单。
该系统的处理逻辑是用 Java 写的,被放在一台 Solaris 主机上,它同时还和一个 db 交互以保存数据。
执行这一操作的步骤如下:

  1. 客户端程序将帐户注册信息封装到一个 SOAP 消息
  2. 这个 SOAP 消息作为一个 HTTP POST 请求体被发送到 web service
  3. web service 对 SOAP 请求解包并将其转换为应用可以理解的一个指令
  4. 应用对所需信息进行处理并以该用户的一个新的唯一的账号进行响应
  5. 接下来,web service 将响应打包到另外一个 SOAP 消息,并作为 HTTP 请求的响应返还给客户端应用
  6. 客户端应用解包 SOAP 消息来获取账户注册的处理结果

原文链接:http://www.tutorialspoint.com/webservices/what_are_web_services.htm

时间: 2024-10-05 15:41:18

Web Services 指南之:什么是 Web Services?的相关文章

tutorialspoint 教程之《Web Services 指南》

tutorialspoint 是一个公布免费的编程技术的教学和参考手册的网站.本系列教程是截至发稿时止该网站公布的最新<Web Services 指南>体系教学,一一翻译以备大家参考.限于译者水平所限,错误和偏差之处在所难免,如有发现还请直接回复博客,先谢谢了. Web Services 指南之:什么是 Web Services? Web Services 指南之:为何要使用 Web Services Web Services 指南之:Web Services 的特性 Web Services

七日Python之路--第十二天(Django Web 开发指南)

<Django Web 开发指南>.貌似使用Django1.0版本,基本内容差不多,细读无妨.地址:http://www.jb51.net/books/76079.html (一)第一部分 入门 (1)内置数字工厂函数 int(12.34)会创建一个新的值为12的整数对象,而float(12)则会返回12.0. (2)其他序列操作符 连接(+),复制(*),以及检查是否是成员(in, not in) '**'.join('**')   或  '***%s***%d' % (str, int)

JavaScript权威指南第13章 web浏览器中的javascript

13.1 客户端javascript window对象是所有的客户端javascript特性和api的主要接入点.表示浏览器的一个窗口,可以通过window对象来引用它. window 的方法 alert() prompt() confirm() 13.2 在html里嵌入javascript 4种方法: 内联:放置在<script></script>标签之中 外部引入:<script src="   "></script> html程序

走进小作坊(十一)----移动web实现指南

四.五年前智能手机行业刚刚兴起,差别于之前功能机阉割版的web开发方式,一些学者就開始探索移动web的UI方向了.从PC迁移到移动端的web设计现成可用的原则有,很多其它的则是依据移动端独有特点进行探索.总结经验.原则.这本<移动web实现指南>乐帝本意是提升响应式设计网页的水平,读后发现很多其它的宝藏,揭开了对整个移动端web设计的兴趣之门.     移动设备不断抢占PC端的领地,对移动端web的需求自然也是水涨船高,越来越多的站点须要考虑到移动端用户的需求.前几年的文章处理这样的趋势还能够

Docker实用指南:将Python Web应用容器化

Docker实用指南:将Python Web应用容器化 提供 Zstack社区 前言 Web应用随时可能被攻击者利用来夺取整个主机的权限,这是很常见也是很恐怖的一件事.为了更高的安全性,就需要将不同应用之间进行隔离(尤其是在这些应用属于不同的用户的情况下),然而这种隔离的实现一直是个挑战.到目前为止,隔离性的实现方法已经有了很多,然而它们要么太过昂贵(时间的层面以及资源的层面),要么太过复杂(无论对开发者还是对管理员). 本文将讨论如何让"容器化"的Python Web应用跑在安全的沙

Django web 开发指南 no such table:

在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可以,我试了还是报错,然后仔细看了下提示信息,发现是版本问题,并且他也给出了解决方法: 运行'manage.py makemigrations', 这样可以'make new migrations' 然后运行'manage.py migrate', 这样可以'apply them', 问题解决~

MyEclipse移动Web模拟器指南(二)

在移动Web模拟器指南(一)一文中,小编为大家介绍了如何启动Web模拟器.如何设置模拟器配置以及如何设置操作系统版本等内容.接下来,我们将介绍有关MyEclipse移动Web模拟器的更多内容,欢迎品鉴! 4. 仿真Cordova API PhoneGap构建服务使用PhoneGap运行时和API来为您的移动项目创建一个混合应用程序.该运行时包括JavaScript的cordova.js API,同时还为您提供iOS和Android应用程序.访问Apache Cordova project获取更多

[转帖]2019 简易Web开发指南

2019 简易Web开发指南 2019年即将到来,各位同学2018年辛苦了. 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术与大家分享,包括前端.后端和全栈相关. 工具.软件 欲先攻其事必先利其器,用好工具是做好开发的基础. 编辑器/IDE: VSCode,Sublime Text,Atom 浏览器:Chrome,Firefox 设计/原型:Adobe XD,Photoshop,Sketch,Figma 命令行工具:Git Ba

Django企业开发实战 高效Python Web框架指南

高清PDF,带书签 Django企业开发实战 高效Python Web框架指南Django企业开发实战 高效Python Web框架指南Django企业开发实战 高效Python Web框架指南gACkM793118 粘贴链接到地址栏访问: https://fgk.pw/i/gACkM793118 原文地址:https://www.cnblogs.com/ziqang/p/11051134.html

一键将Web应用发布到云-Azure Web App

我们现在越来越多的传统应用,逐步向云端迁移,原先私有云的部署模式,逐步向云端PaaS IaaS转变.例如: 我们在云端Azure中申请VM虚拟机,将我们的Web应用部署到VM的IIS中,同时做云服务的高可用性集和NLB,实现Web应用的负载均衡和高可用性. 上面这是一种常见的云端部署模式(IaaS模式),我们需要不断运维这个VM.Web应用.有没有一种更简单的方式,一键将我们开发的Web应用直接发布到云上,自动实现负载均衡和高可用性. 答案是Azure的应用服务. Azure 应用服务是一种全新