传统模式下WebService与WebAPI的相同与不同

1、WebService是利用HTTP管道实现了RPC的一种规范形式,放弃了对HTTP原生特征与语义的完备支持;而WebAPI是要保留HTTP原生特征与语义的同时实现RPC,但WebAPI的实现风格可以是千姿百态,RESTful只是实现了其中一种风格,你也可以定义一种风格,并实现

2、WebAPI相比WebService更为轻量级、灵活、优化好的情况下,性能更有优势,但是对复杂或大型业务的描述与使用增加了无形的成本

3、WebAPI可以更好的利用HTTP与生俱来的特征,如:缓存、代理、安全、头信息扩展,反之,部分实现方式WebService无法利用HTTP特征

4、本质上WebAPI与传统模式的WebService都是实现RPC,远程服务;传统的WebService只是利用了HTTP通道,进行独立的交互,但是这个交互协议可以移植到其他协议下运作,而WebAPI天生与HTTP依赖无法移植

5、WebService与WebAPI在80端口下工作,都可以绕开默认的网络防火墙限制,因为默认下网络防火墙对系统级端口与协议下的内容是开放的

6、WebService与RESTful WebAPI服务端都可以使用反射来实现自动化部署,只是前者更为容易,因为存在标准的规范,后者只是开发WebAPI的推荐风格,实现上需要自己来规范与描述,处理不兼容问题;WebAPI在无反射下的业务实现更为直观接近MVC模式下的开发的应用,通用,性能更好、更为灵活,能够直接利用HTTP的动态网页技术开发接口与功能

7、WebAPI对于交互数据的格式没有明确规定,使得其可以更好的使用在特定的软件运行平台,但是需要开发者对各种格式的支持;传统的WebService则要求使用服务的平台对数据格式强制适应,服务端的交互数据处理变得更加快捷容易,而增加了不同使用端的对服务交互困难度

时间: 2024-10-28 14:51:19

传统模式下WebService与WebAPI的相同与不同的相关文章

基于Saltstack、Artifactory打造传统模式下持续部署平台

一. 持续部署 1. 现状 由于没有建立标准的持续部署流程,导致了版本管理混乱,制品管理混乱,上线持续时间长,上线测试覆盖不全面,业务流量上升后故障较多,排查复杂.运维.测试.开发人员每次版本迭代的时候,都要可能需要经历一次通宵的历练,并且这种在上线的第二天依然会出现很多线上故障. 2. 痛点 ·自动化发布体系覆盖率低.·无标准化发布的流程.a) 只注重敏捷.忽视质量问题:b) 变更频繁导致故障率增加:c) 开发语言种类多,发布制品管理混乱,发布方式复杂:·安全问题容易被忽视. 二. 工具介绍

DevOps交付模式下,软件测试的那些事

众所周知,近10年IT领域有两个关键的风向转变,传统IT向云计算转变,传统瀑布和迭代开发模式向敏捷开发模式转变.这两个转变促成了DevOps产品交付模式的出现.互联网行业竞争激烈,许多公司专注于产品和商业模式的快速迭代创新,期望通过DevOps快速交付产品,缩短产品的上市周期.华为DevOps模式下的软件测试体系的分享主要由 “测试对象的识别.测试组织与流程的演变.测试工具与技术的应用.测试管理和自动化测试”四个领域的关键内容组成.华为云近期推出了7天玩转性能&接口测试系列课程,添加小助手微信(

浅析WPF中MVVM模式下命令与委托的关系

??各位朋友大家好,我是Payne,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com.最近因为项目上的原因开始接触WPF,或许这样一个在现在来讲显得过时的东西,我猜大家不会有兴趣去了解,可是你不会明白对某些保守的项目来讲,安全性比先进性更为重要,所以当你发现银行这类机构还在使用各种"复古"的软件系统的时候,你应该相信这类东西的确有它们存在的意义.与此同时,你会更加深刻地明白一个道理:技术是否先进性和其流行程度本身并无直接联系.由此我们可以推论出:一项不流行

云计算模式下的生态变化(杂谈2)

?? 1.云计算的出现会改变很多事情,但并不是说云计算的出现,传统的一些模式就会消失,云计算不是神,并不能解决一切.世界是多样化的,也不需要一个云计算统一一切(它也无法统一切),就像智能手机和平板出现,台式机一样会有一样,只是比率改变了: 2.云计算的特点使得其更容易招到攻击,但并不能说明云计算就不安全,其实整体上来讲,其安全还超过传统模式: 3.虽然也有人喜欢不计成本来炫耀自己得财富,但社会整体还是朝着节省成本和更加便利这个趋势走的,虽然个中有曲折,但趋势不会变: 4.企业信息化的云化可以使得

Linux下套接字详解(十)---epoll模式下的IO多路复用服务器

epoll模型简介 epoll可是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的. 其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型,那为何还要再引入Epoll这个东东呢?那还是有得说说的- 常用模型

Objective-C关于非ARC模式下的对象引用计数

Objective-C是一门简洁.强大.灵活的既具有面向对象特性也具有函数式编程特性的编程语言.由于它是C语言的马甲,也就是说,Objective-C可以将其源代码先转为纯C语言然后再编译为最终的目标代码,所以我们也可以用它来写纯C语言代码,它与C是完全兼容的!(这点与C++在语法特性上跟C语言兼容的特性不同) 由于有不少Objective-C爱好者对于ARC模式下的Objective-C感到十分困惑,所以希望能深入了解一下传统非ARC模式下的编程法则.通过对非ARC模式Objective-C工

YJX_Driver_038_内核模式下的字串操作

1. 内核模式下的字串操作 A.ASCII字符串和UNICODE字符串 B.ANSI_STRING字符串和UNICODE_STRING字符串 C.字符串的初始化与销毁 D.字符串复制,比较,(大小写,整数和字串)相互转换 E.ANSI_STRING字符串和UNICODE_STRING字符串相互转换 2. A.ASNI字符串和UNICODE字符串 在C语言中,有ANSI和UNICODE 两个不同字串类型. char* s1="abc"; //CHAR * s1="abc&quo

敏捷开发模式下的自动化测试研究

敏捷测试过程中的自动化目前在国内来看基本上还只是停留在概念阶段,据我所知,目前不少公司也都在尝试过程中,而实际的实践中能取得比较理想成果的,极为有限.而国外不少同仁也都对此持观望甚至抵触的态度.比如advanced QTP论坛的administrator Meir大大 就认为敏捷过程中的自动化是完全不现实的,理由就是sprint间隔时间内没办法完成一个完整自动化过程的设计,而频繁的变更会导致自动化资源的大量浪费,ROI上无任何前景可言. 从我个人观点来看,没必要保持如此的悲观,但更不能过于乐观.

在经典模式下配置捕捉

本章包含有关在经典模式下配置Oracle GoldenGate捕获进程的说明. 要将活动的抽取配置从集成切换到传统模式,请执行这些配置步骤,然后参阅管理Oracle GoldenGate. 主题: 配置经典捕捉的先决条件 从这些说明中可以期待什么 在经典捕捉模式下配置主要提取 配置数据泵提取 后续步骤 7.1配置经典捕捉的先决条件 略 7.2从这些说明中期望什么 这些指令展示如何配置基本提取参数(配置)文件为初级提取物,其从数据源捕获的交易数据,以及用于一个数据泵提取物,其传播是从本地存储在一个