什么是web服务?它的优点是什么?
微软为Web服务下的定义是通过标准的Web协议可编程访问的Web组件。“软件就是服务”,这已经是软件发展的一个潮流了。未来的软件厂商就象现在的电信公司一样,用户可以按照时间来租用软件公司的服务。“Web服务”(Web Services)可以说是整个.NET计划的核心,简单的说,Web服务就是一种远程访问的标准。它的优点首先是跨平台,HTTP和SOAP等已经是互联网上通用的协议;其次是可以解决防火墙的问题,如果使用DCOM或CORBA来访问Web组建,将会被挡在防火墙外面,而使用SOAP则不会有防火墙的问题。要发展Web 服务需要更多的软件厂商来开发Web服务,让基于Web服务的软件服务多起来。 这一切,是通过将紧密耦合的、高效的n层计算技术与面向消息的、松散耦合的Web概念相结合来实现的。我们将这种计算风格称为Web服务,它的出现标志着人类已经迈入应用程序开发技术的新纪元。Web服务是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。可将Web服务视作Web上的组件编程。从理论上讲,开发人员可通过调用Web应用编程接口(API)(就像调用本地服务一样),将Web服务集成到应用程序中,不同的是Web API调用可通过互联网发送给位于远程系统中的某一服务。 Sun:Web服务是互联网 架构中可置换的标准零部件 Sun公司董事长、首席执行官Scott McNealy在Sun ONE发布会上说,“智能化Web服务对信息时代有着重大的意义,它的作用就象那些可置换的标准零部件在工业时代所起到的关键作用一样。” Web服务适用于任何类型的Web环境,无论是在互联网、还是在,重点是在企业对消费者、企业对企业之间的通信。Web服务消费者可以是通过台式或是无线接入服务的个人,也可以是应用程序,还可以是另一个Web服务。Web服务应该具有以下的一些特点:Web服务可以通过Web接入进行访问;Web服务提供一个XML接口;Web服务使XML信息,通过标准Web协议实现通信。Web服务支持系统间的松散耦合连接。 为了能够让Web服务具备智能化,它必须能够识别出接受服务的消费者的身份、与消费者相关的安全方针、与消费者相关的服务策略以及消费者此次服务进行时所用的接入设备,同时智能化Web服务还应该知道与消费者享受此次服务有关的以往历史记录。 在SunONE智能Web服务战略中,XML和Java技术是这种松散耦合的可互操作性的关键。XML提供了标准的、与平台无关的数据结构,以表示语境信息,而Java技术则通过了一个与平台无关的编程界面标准集,来访问和利用这些语境信息。不但如此,Sun 正在参与和领导开放智能Web服务的技术开发定义工作,包括Java技术、XML、ebXML、SOAP、UDDI以及更多其他的东西。 IBM:Web服务是电子商务应用的基础设施 IBM认为:Web服务使交流和相互操作更有效,减少编码过程和人为干扰。IBM正在发布的动态电子商务策略是现电子商务策略的一个延伸。过去两年中,IBM参与了Web服务标准的开发,而且已经在好几个产品中宣布了对Web服务标准的支持。与竞争对手不同的是,IBM对Web服务仅仅提供基础设施,使企业能够适应不断变化的环境。 IBM在Web服务领域投资了几十亿美元,能有效地将两大竞争对手的产品XML(微软)和Java (Sun)结合起来。当用户的Web服务同时需要二者时(Java用于应用程序的开发;XML用于信息传播),IBM就可以提供独一无二的解决方案,采用真正开放式的执行标准,而不是专有的标准。多年来,IBM在硬件和软件方面的技术能力使其能为不同规模的公司解决棘手问题,坚决支持非专有技术的解决方案,从而加强了多平台的兼容性,这在当今电子商务市场上是非常必要的。IBM的动态电子商务将保持在标准方面合作,实施竞争的策略,Web服务只完成了一半,另一半是全功能基础架构软件,这种软件使Web服务可用来进行智能交易,工作流程和业务进程管理的一部分。 BEA:充分发挥分布式业务的潜力 Web服务可以被描述为协议、协定和网络设施,能通过互联网将业务功能公开给授权方。简言之,Web服务是具体的业务流程,它能够:公开和描述自己;Web服务可以定义自己的功能和属性,以便其它应用能够了解它,并容易地向其它应用提供这种功能;其它服务能够在Web上找到它的位置,可以被调用,返回响应。 任何组件或应用都可以作为Web服务,以便被其它组件或应用使用。同样,BEA WebLogic Server上的任何应用都可以从Web上的任意位置查找和请求Web服务,即使Web服务位于另一个平台也能找到。多个Web服务可集中成一个应用,可以是简单的Web服务(如查看股票价格),也可以是基于事务处理的复杂供应链集成和管理(如卡车负载优化和路由)。 BEA将Web服务分为两类:简单Web服务和复杂Web服务。简单Web服务提供基本的“请求/响应”功能,本质上不属于事务处理型服务,安全性不高。复杂Web服务将改变行业开展业务的方式,但它将为贸易合作伙伴通过互联网协作提供一个框架。BEA同时提供简单Web服务和复杂Web服务,并把它们作为BEA WebLogic E-Business Platform的一部分。另外,BEA还与制定标准的机构密切合作,指导相关Web服务标准的开发。 Web 服务是一种可以用来解决跨网络应用集成问题的开发模式,这种模式为实现“软件作为服务”提供了技术保障。而“软件作为服务”实质上是一种提供软件服务的机制,这种机制可以在网络上暴露可编程接口,并通过这些接口来共享站点开放出来的功能。 Web 服务的主要特点之一是,客户端访问Web 服务只需要通过因特网标准协议,如HTTP或XML,以及SOAP,不需要专门的协议,如RPC或IIOP。因为HTTP协议和XML都是与平台无关的标准协议,因此,可以被任何主流操作系统正确理解和解释。 另外,更为关键的特性是,Web 服务可以被XML语言进行详尽的描述。这就是说,提供Web服务的站点可以提供一个(或多个)该站点可以对外提供服务的描述文件,这个文件的内容可以被访问者理解。更进一步说,就是客户端可以从网络上直接得到代码!
举例说明,什么是API,web开发
比如,你通过http请求访问得到结果集,你访问的那个链接就是API.如百度地图,科大讯飞语音识别,都有对外提供的API.web中api是提供他人使用的,比如你写一个web项目,其中某个控制器的方法返回的结果不是一个页面,而是一个结果集(一般是json字符串),别人访问该链接,可以得到结果集,你这个方法就是对外提供的API
WebAPI与传统的WebService有哪些不同?
两者都是服务,只是表现形式存在一些差异 webapi多用于基于http请求的服务应用,比如说移动服务端或者需要提供第三方API 服务的场景下。 webservice也可以应用于webapi所在的场景,但是如果是我的选择,我一般是做为内部服务的使用,好比如果一个系统我会用wcf/webservice作为内部子系统间的服务通信,而webapi用于外部服务的请求~ 个人理解,webapi和webservice并没有绝对的应用场景,相对来说根据场景分析那种技术更简洁,更能有效的帮助到你才是关键
android获取webapi到底怎么做
byte[] byts = new byte[HttpContext.Current.Request.InputStream.Length]; HttpContext.Current.Request.InputStream.Read(byts,
0, byts.Length); string req = System.Text.Encoding.Default.GetString(byts); 这是直接获取post上来的字符流数据。什么编码送的什么编码收就没有问题了。如果是你发送的表单就Request.Form去收。记住字符流数据只能收一次哟。
c# webapi
需要有基础的计算机网络知识储备,例如 Socket、TCP/IP、HTTP 等等。 还需要有一些 ASP.NET 基本概念的理解,比如应用程序池、Cookie、Seesion 等等。 最后需要理解 MVC 架构,因为 WebAPI 是在 MVC 基础之上扩展出来的。
怎样操作WebAPI接口
先定义一个简单的webapi,简单到差不多直接用vs2010自动生成的webapi代码。 其中的TestModle是一个简单的class,如下 public class TestModle { public string a { get; set; } public string b { get; set; } public string c { get; set; } } 前端页面放四个代表get,post,put,delete的按钮,在加一个div显示返回值 前端代码中加载jquery,在定义四个按钮的click事件 get和post,我习惯用$.get和$.post,当然也能用$.ajax. get直接返回webapi get的return值,post的话我就不在后端做处理了直接返回传入的值,这里只做示范 put和delete,只能用$.ajax来处理。 put的话一般用于update某个id的数据信息 delete用于删除某个id的数据,如下图所示 点击每个按钮,可以在页面上看到相应的效果
WebService和Webapi的区别
webapi用的是http协议,webservice用的是soap协议 webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作 http soap关系 http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法 一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。 不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。 关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。 WCF和WEB API我该选择哪个?
1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF 。
2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。
3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API 。
4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API。