|
接口分类(http接口、api接口、RPC接口、RMI、webservice、Restful等概念): {, N! ^$ [4 g A; r% F
8 n5 ]' c& F, J5 [
! D# i2 V" S$ {5 M http接口:基于HTTP协议的开发接口.这个并不能排除没有使用其他的协议。4 a# H2 g: {) J: t4 k i
) n( k, y. q& F7 Q api接口:API(Application Programming Interface)应用程序编程接口,应用也包括网络应用程序,就像api文档基本上就是使用说明书,API接口可以简单理解成“应用程序使用接口”。$ I/ _- h4 C8 }) a3 s
; Q7 Y8 u3 s- }* S$ F9 ` RPC接口:Remote Procedure Calls 远程过程调用 (RPC) 是一种协议,程序可使用这种协议向网络中的另一台计算机上的程序请求服务。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。 RPC(远程过程调用)是一项广泛用于支持分布式应用程序(不同组件分布在不同计算机上的应用程序)的技术。RPC 的主要目的是为组件提供一种相互通信的方式,使这些组件之间能够相互发出请求并传递这些请求的结果。 没有语言限制。
, P6 b% V V% l5 h; l, e+ V
/ _8 A( ]" F! w RMI:RMI(Remote Method Invocation,远程方法调用)RMI是针对于java语言的, RMI 允许您使用Java编写分布式对象4 b% ~& E/ G6 o0 S
, Q" Q9 U$ q; }
Webservice接口:Webservice是系统对外的接口,比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。
3 N# O, W. A% F" v1 D" L% D$ K# i7 ?& C
RESTful : 简称 REST,是描述了一个架构样式的网络系统,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。REST提出设计概念和准则为:
9 R$ q9 J- I5 z5 c0 p! S# P3 \- t5 l& _1 O, J& t5 v$ ^
1.网络上的所有事物都可以被抽象为资源(resource)9 |9 x5 H" P% m& K8 W
( A" g0 l& k, k0 f# p% r' W7 a; i
2.每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识
. U" y( D% g' F7 X; j6 k) W- U; D |& l8 ~) ~ e( H' b" P
3.所有的操作都是无状态的
3 O9 N4 u' m# U3 b, T% D" e- s, a# k1 C% }5 i' n
关于RPC和RMI的区别,各类博客有很多,我就不说了。Webservice和RESTful ,我不知道你说的是那个(Webservice这个是个大类,包括RESTful )你可以看看 SOAP Webservice和RESTful Webservice 的区别。不要刻意去混淆找区别,有些是从不同角度、层次而言。也有可能同一个东西兼顾(不同层次、角度的兼顾)。在如今这个软件泛滥的年代,不同的人叫法不同很多,偷换概念的也有很多。http和webservice接口区别
% C$ i! l. [( {1 ~' M g" e. L9 e: [( a0 `! g9 k) u2 \
http和webservice接口区别
) C1 J4 y8 p3 K9 e0 C8 w4 u1 \httpservice通过post和get得到你想要的东西
5 C* u% V7 ~. Y5 wwebservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型& O3 V* S. |) a8 m. X
& r) x6 X" X- k) l
* I' C& z) t: F& \$ W1 J# zhttp协议传输的都是字符串了,webservice则是包装成了更复杂的对象。
6 f; ]4 n+ N @; G6 {0 E5 O * k% z, z x. A( \
hessian类似于webservice,但是它采用的是二进制RPC协议(Binary),具有轻量、传输量小、平台无关的特点,特别适合于目前网络带宽比较小的手机网络应用项目。
3 L( ~4 C( e8 w: b
1 y! q& p, j3 j以hessan的java实现为例,它可以传输Map、List、以及自定义的各种数据接口;比http的纯字符串也方便的多,省却了解析http返回值的步骤 |
|