Web Service和Web API理解和使用场景
Web Service
理解:Web Service 是一种基于网络的服务,它使用标准化的消息传递协议,最典型的是基于 SOAP(Simple Object Access Protocol)协议。SOAP 使用 XML 格式封装数据,定义了消息的结构和传输方式,因此它是一个重量级的解决方案。Web Service 支持跨平台、跨语言的通信,常用于企业内部系统的集成,因为它们提供了严格的安全性、事务处理和复杂的WSDL(Web Services Description Language)描述文档,便于服务的发现和调用。
使用场景:
企业级系统集成:在需要严格的安全控制和事务一致性的场景下,如银行、保险等行业的后端系统交互。
跨语言、跨平台的通信:当服务需要被多种不同技术栈的应用调用时。
复杂的业务逻辑交互:适用于那些需要高度定制化消息头、详细错误处理和复杂数据结构的情况。
Web API
理解:Web API 是一种更为轻量级的、基于HTTP协议的接口设计,通常遵循REST(Representational State Transfer)原则,但也包括其他风格,如RPC(Remote Procedure Call)风格。Web API 倾向于使用JSON作为数据交换格式,因为它更简洁、解析速度快,更适合现代Web和移动应用。Web API 设计上更侧重于资源的表述和操作,强调无状态性,易于构建和使用。
使用场景:
移动应用后端:由于其轻量级和高效性,特别适合为iOS、Android等移动应用提供数据服务。
开放平台:为第三方开发者提供接口,如社交媒体平台、地图服务、支付接口等。
云服务和微服务架构:在微服务架构中,Web API 作为服务间通信的桥梁,支持快速、灵活的服务集成。
快速原型开发:由于其易用性,Web API 成为快速构建和迭代Web应用的首选。
总结
选择Web Service还是Web API,主要取决于项目的具体需求,如对安全性、事务处理的需求、性能考量、开发速度、团队熟悉度等因素。Web Service 在需要高度标准化和复杂交互的场景中更为适用,而Web API 则在追求效率、轻量级和易于集成的现代Web应用中更为流行。
Web Service和Web API理解和使用场景的更多相关文章
- asmx 、Web Service、Web API
asmx .Web Service.Web API asmx 是WEB服务文件 asmx.cs里有相关代码 属于B/S形式,用SOAP方式HTTP访问,用XML返回 可以返回基础类型和PUBLIC结构 ...
- SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...
- 走进云背后:微软Azure web 项目通过web service部署web site
探索云那不为人知的故事(一):Web Services部署web site 前奏:Windows Azure是微软基于云计算的操作系统,现在更名为“Microsoft Azure”,和Azure Se ...
- SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API)
虽然 JQuery 也能通过授权header实现跨域, 但SharePoint 提供了更简单的方法,它被实现在SP.RequestExecutor里 .它能访问跨域的服务包括REST AP ...
- 【转】基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案)
转载:http://www.cnblogs.com/windwithlife/archive/2013/03/03/2942157.html 一,选择一个合适的,Web开发环境: 我选择的是Eclip ...
- [Web Service] Java Web Services Tutorial
两种主要的java web services api: JAX-WS 和JAX-RS. Java web service application 之间通过WSDL来交互. 有两种方法来书写java w ...
- 什么是Web Service(Web服务)?
从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API.例如可以创建一个提供天气预报的Web Service,那么无论你用哪种编程语言开发的应用都可以通过 ...
- Web Service \restful web services\WCF Service\ServiceStack
http://www.cnblogs.com/jfzhu/p/4025448.html http://www.cnblogs.com/jfzhu/p/4022139.html#3043243
- WCF、Web API、WCF REST、Web Service
WCF.Web API.WCF REST.Web Service 区别 Web Service It is based on SOAP and return data in XML form. It ...
- RESTful Web API 理解
REST 是一种应用架构风格,不是一种标准,是面向资源架构(ROA)风格,与具体技术平台无关,REST架构的应用未必建立在Web之上,与之对应的是传统的Web Service 采用的面向操作的RPC架 ...
随机推荐
- Python基于Excel数据加以反距离加权空间插值并掩膜图层
本文介绍基于Python中ArcPy模块,实现Excel数据读取并生成矢量图层,同时进行IDW插值与批量掩膜的方法. 1 任务需求 首先,我们来明确一下本文所需实现的需求. 现有一个记录有 ...
- EZHTTP(一键安装Nginx Apache PHP MySQL Memcached Pureftpd)安装【测试ing】
EZHTTP(一键安装Nginx Apache PHP MySQL Memcached Pureftpd)安装 [复制链接] 本帖最后由 梁国平 于 2014-2-11 22:47 编辑 简介 ...
- docker 应用篇————docker 的文件系统[十]
前言 简单介绍一下docker的文件系统. 正文 docker 容器启动就是一个文件系统的启动. 在docker中,每一层镜像都具备一些文件. 比如说,有一个centos的镜像. 里面就是一个微小版的 ...
- 重新整理 .net core 实践篇—————微服务的桥梁EventBus[三十一]
前言 简单介绍一下EventBus. 正文 EventBus 也就是集成事件,用于服务与服务之间的通信. 比如说我们的订单处理事件,当订单处理完毕后,我们如果通过api马上去调用后续接口. 比如说订单 ...
- 美团二面:如何保证Redis与Mysql双写一致性?连续两个面试问到了!
引言 Redis作为一款高效的内存数据存储系统,凭借其优异的读写性能和丰富的数据结构支持,被广泛应用于缓存层以提升整个系统的响应速度和吞吐量.尤其是在与关系型数据库(如MySQL.PostgreSQL ...
- 【Oracle】 管道函数pipelined function简单的使用
Oracle 管道函数pipelined function简单的使用 如果在函数(function)中加关键字 pipelined,就表明这是一个oracle管道函数,其返回值类型必为 集合,体现出来 ...
- 力扣183(MySQL)-从不订购的客户(简单)
题目: 某网站包含两个表,Customers 表和 Orders 表.编写一个 SQL 查询,找出所有从不订购任何东西的客户. Customers 表: Orders 表: 解题思路: 需要查询出没 ...
- 阿里云PolarDB开源数据库社区与 Tapdata 联合共建开放数据技术生态
简介:近日,阿里云PolarDB开源数据库社区宣布将与 Tapdata 联合共建开放数据技术生态. 近日,阿里云PolarDB开源数据库社区宣布将与 Tapdata 联合共建开放数据技术生态.在此之 ...
- [FAQ] web3js, Error: [number-to-bn] while converting number 0.1 to BN.js instance, error: invalid number value
我们在调用合约方法时,都可以传一些参数的,比如转账金额 value. value 的单位是 wei,这是一个很小的单位,所以一般数值很大. 如果误把 ether 当成 wei 传参,就会报标题中的错误 ...
- 快速部署 微软开源的 Garnet 键值数据库
快速部署 微软开源的 Garnet 键值数据库 Garnet 是 Microsoft Research 推出的一种新型远程缓存存储,其设计速度极快.可扩展且延迟低. Garnet 在单个节点内是线程可 ...