webservice api,软件开发方面的问题:什么叫API方式跟Webservice有什么联系,什么又是数据视图提供方式、FTP方式。
webservice api,软件开发方面的问题:什么叫API方式跟Webservice有什么联系,什么又是数据视图提供方式、FTP方式。详细介绍
本文目录一览: webservice和api的区别
webservice和api的区别:webservice是一种分布式系统架构,它使用http协议来建立客户端和服务器之间的连接,可以分发和接收数据;而API是一种接口,它定义了应用程序如何与其他程序或服务交互,可以提供服务,并将数据传输给客户端。拓展:webservice一般由XML组成,它可以使用SOAP,WSDL或RESTful的技术来传输数据;而API则使用JSON或XML等数据格式来实现数据传输。webservice提供的是一种完整的解决方案,可以解决客户端和服务器之间的通信问题;而API则只提供一种接口,仅仅用于解决客户端和服务器之间的数据交互问题。
什么是WebService?还有什么是api
简单说 WebService 就是一个服务 ,别的程序能访问并使用这项在线服务。
api 就相当于一个别人编译好的类,你直接引用后使用
api:应用程序开发接口。一般是提供一些库文件,然后调用。优点:效率高,集成度好;缺点:需要本地修改代码,依赖性比较大。
webservice:顾名思义是网站式服务,也就是说通过网址接入的方式访问服务,不需要本地调用api。优点:通过网络访问,与语言无关;需要网络支持,受网络及服务端性能限制。
视图:估计你的意思是通过远程访问数据库视图吧,这种就直接访问人家数据库了,需要的是数据库驱动和网络支持。优点:直接看到数据,便于处理;缺点:需要明白人家的数据结构和逻辑,不透明。
ftp:这种就比较牵强了,通过ftp交换文件,解析文件来传递数据信息。优点:传统的ftp协议很通用,便于部署维护;缺点:需要自己解析和处理文件格式。
API接口与webservice接口的区别
webservice走HTTP协议和80端口
而你说的api,用的协议和端口,是根据开发人员定义的
这么说吧,api类似于cs架构,需要同时开发客户端API和服务器端程序
而WebService则类似于bs架构,只需要开发服务器端,不需要开发客户端,客户端只要遵循soap协议,就可以调用
1. webservice走HTTP协议和80端口。2. 而你说的api,用的协议和端口,是根据开发人员定义的。3. 这么说吧,api类似于cs架构,需要同时开发客户端API和服务器端程序。4. 而WebService则类似于bs架构,只需要开发服务器端,不需要开发客户端,客户端只要遵循soap协议,就可以调用。
软件开发方面的问题:什么叫API方式跟Webservice有什么联系,什么又是数据视图提供方式、FTP方式。
搜一下:软件开发方面的问题:什么叫API方式跟Webservice有什么联系,什么又是数据视图提供方式、FTP方式。
api:应用程序开发接口。一般是提供一些库文件,然后调用。优点:效率高,集成度好;缺点:需要本地修改代码,依赖性比较大。
webservice:顾名思义是网站式服务,也就是说通过网址接入的方式访问服务,不需要本地调用api。优点:通过网络访问,与语言无关;需要网络支持,受网络及服务端性能限制。
视图:估计你的意思是通过远程访问数据库视图吧,这种就直接访问人家数据库了,需要的是数据库驱动和网络支持。优点:直接看到数据,便于处理;缺点:需要明白人家的数据结构和逻辑,不透明。
ftp:这种就比较牵强了,通过ftp交换文件,解析文件来传递数据信息。优点:传统的ftp协议很通用,便于部署维护;缺点:需要自己解析和处理文件格式。
以上是我大概写的,希望能帮助你。
WebService、WCF和WebApi的区别和特点
Web Service :Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务 1.)它是基于SOAP协议的,数据格式是XML 2.)只支持HTTP协议 3.)它不是开源的,但可以被任何一个了解XML的人使用 4.)它只能部署到IIS上
WCF :是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术 1.)它也是基于SOAP的,数据格式是XML 2.)它是Web Service的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS等 3.)WCF配置较为繁琐 4.)它不是开源的,但可以被任意一个了解XML的人使用 5.)它可以部署到应用程序中或IIS及Windows服务中
Web Api :与WCF REST Service不同在于,Web API利用Http协议的各个方面来表达服务 1.)在.net平台上Web Api是一个开源的、理想的、构建REST-ful服务的技术 2.)它可以使用HTTP的全部特点,比如URIs、request/response头,缓存,版本控制,多种内容格式 3.)它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试 4.)它可以部署在应用程序和IIS上 5.)这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好 6.)Response可以被Web API的MediaTypeFormatter转换成Json、XML 等格式
api接口,RPC,WebService分别解决什么问题
您好,很高兴能帮助您 RPC:所谓的远程过程调用 (面向方法) SOA:所谓的面向服务的架构(面向消息) REST:所谓的 Representational state transfer
API只是一个实现方式,很多平台上会有api接口调用,比如聚合数据,这样使用起来非常方便。
Web Service属于架构里的Web服务,RPC属于Web Service的一种使用方式。
Web Service:
从使用方式上,分为RPC,SOAP,REST;
从数据格式上,分为XML,JSON;
其中,RPC和SOAP的使用在减少,Restful架构占到了主导地位;XML格式的使用在减少,json等轻量级格式的使用在增多。
RPC即为远程过程调用,像调用本地服务(方法)一样调用服务器的服务(方法),实现上有XML-RPC,JSON-RPC,只是传输数据格式的不同,使用方式上类似。
软件开发方面的问题:什么叫API方式跟Webservice有什么联系,什么又是数据视图提供方式、FTP方式。
api:应用程序开发接口。一般是提供一些库文件,然后调用。优点:效率高,集成度好;缺点:需要本地修改代码,依赖性比较大。
webservice:顾名思义是网站式服务,也就是说通过网址接入的方式访问服务,不需要本地调用api。优点:通过网络访问,与语言无关;需要网络支持,受网络及服务端性能限制。
视图:估计你的意思是通过远程访问数据库视图吧,这种就直接访问人家数据库了,需要的是数据库驱动和网络支持。优点:直接看到数据,便于处理;缺点:需要明白人家的数据结构和逻辑,不透明。
ftp:这种就比较牵强了,通过ftp交换文件,解析文件来传递数据信息。优点:传统的ftp协议很通用,便于部署维护;缺点:需要自己解析和处理文件格式。
以上是我大概写的,希望能帮助你。
腾讯地图webservice api 支持 https方式的调用吗
web service在企业应用中常常被用作不同系统之间的接口方式。但是如果没有任何安全机制的话,显然是难以委以重任的。比较直接的web service加密方式就是使用HTTPS方式(SSL证书加密)加密连接,并且只允许持有信任证书的客户端连接,即SSL双向认证。这样就保证了连接来源的可信度以及数据在传输过程中没有被窃取或篡改。通过HTTPS加密方式访问web service具体方法如下:
【准备工作】
(1)检查JDK的环境变量是否正确。本文使用JDK 1.6
(2)准备web服务器,这里选用TOMCAT 6.0
(3)准备web service服务端和客户端。
【生成证书】
这里用到的文件,这里存放在D:/SSL/文件夹内,其中D:/SSL/server/内的文件是要交给服务器用的,D:/SSL/client/内的文件是要交给客户端用的。
1生成服务端证书
开始-运行-CMD-在dos窗口执行下执行命令:
keytool -genkey -v -aliastomcat -keyalg RSA -keystore D:/SSL/server/tomcat.keystore -dname"CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" -validity 3650-storepass zljzlj -keypass zljzlj
说明:
keytool 是JDK提供的证书生成工具,所有参数的用法参见keytool –help
-genkey 创建新证书
-v 详细信息
-alias tomcat 以”tomcat”作为该证书的别名。这里可以根据需要修改
-keyalg RSA 指定算法
-keystoreD:/SSL/server/tomcat.keystore 保存路径及文件名
-dname"CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" 证书发行者身份,这里的CN要与发布后的访问域名一致。但由于这里是自签证书,如果在浏览器访问,仍然会有警告提示。真正场景中建议申请CA机构(wosign)签发的SSL证书更安全。
-validity 3650证书有效期,单位为天
-storepass zljzlj 证书的存取密码
-keypass zljzlj 证书的私钥
2 生成客户端证书
执行命令:
keytool ‐genkey ‐v ‐aliasclient ‐keyalg RSA ‐storetype PKCS12 ‐keystore D:/SSL/client/client.p12 ‐dname"CN=client,OU=zlj,O=zlj,L=bj,ST=bj,C=CN" ‐validity 3650 ‐storepassclient ‐keypass client
说明:
参数说明同上。这里的-dname 证书发行者身份可以和前面不同,到目前为止,这2个证书可以没有任何关系。下面要做的工作才是建立2者之间的信任关系。
3 导出客户端证书
执行命令:
keytool ‐export ‐aliasclient ‐keystore D:/SSL/client/client.p12 ‐storetype PKCS12 ‐storepass client‐rfc ‐file D:/SSL/client/client.cer
说明:
-export 执行导出
-file 导出文件的文件路径
4 把客户端证书加入服务端证书信任列表
执行命令:
keytool ‐import ‐aliasclient ‐v ‐file D:/SSL/client/client.cer ‐keystoreD:/SSL/server/tomcat.keystore ‐storepass zljzl
说明:
参数说明同前。这里提供的密码是服务端证书的存取密码。
5 导出服务端证书
执行命令:
keytool -export -aliastomcat -keystore D:/SSL/server/tomcat.keystore -storepass zljzlj -rfc -fileD:/SSL/server/tomcat.cer
说明:
把服务端证书导出。这里提供的密码也是服务端证书的密码。
6 生成客户端信任列表
执行命令:
keytool -import -fileD:/SSL/server/tomcat.cer -storepass zljzlj -keystoreD:/SSL/client/client.truststore -alias tomcat –noprompt
说明:
让客户端信任服务端证书
【 配置服务端为只允许HTTPS连接】
1 配置Tomcat 目录下的/conf/server.xml
Xml代码:
<connectorport="8443" protocol="HTTP/1.1" sslenabled="true"
maxThreads="150" scheme="https" secure="true"clientAuth="true"
sslProtocol="TLS"keystoreFile="D:/SSL/server/tomcat.keystore"
keystorePass="zljzlj"truststoreFile="D:/SSL/server/tomcat.keystore"
truststorePass="zljzlj" />
说明:
在server.xml里面这段内容本来是被注释掉的,如果想使用https的默认端口443,请修改这里的port参数。其中的clientAuth="true" 指定了双向证书认证。
2 配置服务端项目web.xml
在
之后增加Xml代码:
SSL
/service/*
<!--全站使用SSL /*-->
SSL required
CONFIDENTIAL
说明:
这里限制了WEB service服务地址的访问必须为https连接。
要根据你的web service服务地址配置。
【修改客户端代码】
在执行访问之前,增加Java代码:
System.setProperty("javax.net.ssl.trustStore","D:/SSL/client/client.truststore");
System.setProperty("javax.net.ssl.trustStorePassword","zljzlj");
System.setProperty("javax.net.ssl.keyStoreType","PKCS12");
System.setProperty("javax.net.ssl.keyStore","D:/SSL/client/client.p12");
System.setProperty("javax.net.ssl.keyStorePassword","client");
StringendPoint="https://127.0.0.1:8443/easbCut/services/ApplyFormService";
...
通过设置参数来指定客户端连接时所使用的客户端证书,这里还可以采用修改JVM启动参数的的方式来执行,但出于不影响其他功能的考虑,这里采用System.setProperty的方式来设置这些参数,在使用结束后,可以还原这些参数配置。做为客户端的开发者,可以把拿到的证书文件后,只执行步骤3。
api接口,RPC,WebService分别解决什么问题
RPC:所谓的远程过程调用 (面向方法)
SOA:所谓的面向服务的架构(面向消息)
REST:所谓的 Representational state transfer (面向资源)
RPC 即远程过程调用, 很简单的概念, 像调用本地服务(方法)一样调用服务器的服务(方法).
通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.
REST 的三个要素是 唯一的资源标识, 简单的方法 (此处的方法是个抽象的概念), 一定的表达方式.
重要的特性:无状态
个人也比较喜欢REST,目前基本主流开放平台都是使用这个(淘宝开放平台/人人网/facebook...)
Web Service 已经是过时之物,平常基本使用甚少,建议不要在折腾它了
REST API 和WebService有哪些不同?
从基本原理层次上说,REST 样式和 SOAP 样式 Web Service的区别取决于应用程序是面向资源的还是面向活动的。例如,在传统的WebService中,一个获得天气预报的webservice会暴露一个WebMethod。而RESTful WebService暴露的不是方法,而是对象(资源)。
在 REST 的定义中,一个 Web Service总是使用固定的 URI 向外部世界呈现(或者说暴露)一个资源。可以说这是一种全新的思维模式:使用唯一资源定位地址 URI,加上 HTTP 请求方法从而达到对一个发布于互联网资源的唯一描述和操作。
REST的思想归结以下有如下几个关键点:1.面向资源的接口设计所有的接口设计都是针对资源来设计的,也就很类似于我们的面向对象和面向过程的设计区别,只不过现在将网络上的操作实体都作为资源来看待,同时URI的设计也是体现了对于资源的定位设计。后面会提到有一些网站的API设计说是REST设计,其实是RPC-REST的混合体,并非是REST的思想。2.抽象操作为基础的CRUD这点很简单,Http中的get,put,www.hbbz08.com post,delete分别对应了read,update,create,delete四种操作,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一些复杂的业务服务接口设计,可能这样的抽象未必能够满足。其实这也在后面的几个网站的API设计中暴露了这样的问题,如果要完全按照REST的思想来设计,那么适用的环境将会有限制,而非放之四海皆准的。 3.Http是应用协议而非传输协议这点在后面各大网站的API分析中有很明显的体现,其实有些网站已经走到了SOAP的老路上,说是REST的理念设计,其实是作了一套私有的SOAP协议,因此称之为REST风格的自定义SOAP协议。4.无状态,自包含这点其实不仅仅是对于REST来说的,作为接口设计都需要能够做到这点,也是作为可扩展和高效性的最基本的保证,就算是使用SOAP的WebService也是一样。
从基本原理层次上说,REST 样式和 SOAP 样式 Web Service 的区别取决于应用程序是面向资源的还是面向活动的。
例如,在传统的 WebService 中,一个获得天气预报的 webservice 会暴露一个 WebMethod。而 RESTful WebService 暴露的不是方法,而是对象(资源)。
在 REST 的定义中,一个 Web Service 总是使用固定的 URI 向外部世界呈现(或者说暴露)一个资源。可以说这是一种全新的思维模式:使用唯一资源定位地址 URI,加上 HTTP 请求方法从而达到对一个发布于互联网资源的唯一描述和操作。
REST 的思想归结以下有如下几个关键点:
1.面向资源的接口设计
所有的接口设计都是针对资源来设计的,也就很类似于我们的面向对象和面向过程的设计区别,只不过现在将网络上的操作实体都作为资源来看待,同时 URI 的设计也是体现了对于资源的定位设计。后面会提到有一些网站的 API 设计说是 REST 设计,其实是 RPC-REST 的混合体,并非是 REST 的思想。
2.抽象操作为基础的 CRUD
这点很简单,Http 中的 get,put,post,delete 分别对应了 read,update,create,delete 四种操作,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一些复杂的业务服务接口设计,可能这样的抽象未必能够满足。其实这也在后面的几个网站的 API 设计中暴露了这样的问题,如果要完全按照 REST 的思想来设计,那么适用的环境将会有限制,而非放之四海皆准的。
3.Http 是应用协议而非传输协议
这点在后面各大网站的 API 分析中有很明显的体现,其实有些网站已经走到了 SOAP 的老路上,说是 REST 的理念设计,其实是作了一套私有的 SOAP 协议,因此称之为 REST 风格的自定义 SOAP 协议。
4.无状态,自包含
这点其实不仅仅是对于 REST 来说的,作为接口设计都需要能够做到这点,也是作为可扩展和高效性的最基本的保证,就算是使用 SOAP 的 WebService 也是一样。
从基本原理层次上说,REST 样式和 SOAP 样式 Web Service的区别取决于应用程序是面向资源的还是面向活动的。例如,在传统的WebService中,一个获得天气预报的webservice会暴露一个WebMethod:string GetCityWether(string city)。而RESTful WebService暴露的不是方法,而是对象(资源),通过Http GET, PUT, POST 或者 DELETE来对请求的资源进行操作。在 REST 的定义中,一个 Web Service总是使用固定的 URI 向外部世界呈现(或者说暴露)一个资源。可以说这是一种全新的思维模式:使用唯一资源定位地址 URI,加上 HTTP 请求方法从而达到对一个发布于互联网资源的唯一描述和操作。
所以我理解为rest架构定义的webservice实际上定义了一个借口的规范。
REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。
REST的思想归结以下有如下几个关键点:
1.面向资源的接口设计
所有的接口设计都是针对资源来设计的,也就很类似于我们的面向对象和面向过程的设计区别,只不过现在将网络上的操作实体都作为资源来看待,同时URI的设计也是体现了对于资源的定位设计。后面会提到有一些网站的API设计说是REST设计,其实是RPC-REST的混合体,并非是REST的思想。
2.抽象操作为基础的CRUD
这点很简单,Http中的get,put,www.hbbz08.com post,delete分别对应了read,update,create,delete四种操作,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一些复杂的业务服务接口设计,可能这样的抽象未必能够满足。其实这也在后面的几个网站的API设计中暴露了这样的问题,如果要完全按照REST的思想来设计,那么适用的环境将会有限制,而非放之四海皆准的。
3.Http是应用协议而非传输协议
这点在后面各大网站的API分析中有很明显的体现,其实有些网站已经走到了SOAP的老路上,说是REST的理念设计,其实是作了一套私有的SOAP协议,因此称之为REST风格的自定义SOAP协议。
4.无状态,自包含
这点其实不仅仅是对于REST来说的,作为接口设计都需要能够做到这点,也是作为可扩展和高效性的最基本的保证,就算是使用SOAP的WebService也是一样。