webservices(webservice是什么意思)

http://www.itjxue.com  2023-02-08 21:30  来源:未知  点击次数: 

Web service是什么?

我把学习笔记和学习心得,放到网志上,欢迎指正。今天先写一个最基本的问题,Web service到底是什么?一、Web service的概念想要理解Web service,必须先理解什么是Service(服务)。传统上,我们把计算机后台程序(Daemon)提供的功能,称为"服务"(service)。比如,让一个杀毒软件在后台运行,它会自动监控系统,那么这种自动监控就是一个"服务"。通俗地说,"服务"就是计算机可以提供的某一种功能。根据来源的不同,"服务"又可以分成两种:一种是"本地服务"(使用同一台机器提供的服务,不需要网络),另一种是"网络服务"(使用另一台计算机提供的服务,必须通过网络才能完成)。举例来说,我现在有一批图片,需要把它们的大小缩小一半。那么,我们可以把"缩放图片"看成是一种服务。你可以使用"本地服务",在自己计算机上用软件缩小图片,也可以使用"网络服务",将图片上传到某个网站,让服务器替你缩小图片,完成后再通过网络送回给你。这就好比,一件事你可以自己做,也可以交给另一个人去做。肚子饿了,你可以自己做饭,也可以打电话去订一份比萨,让店家替你做好送上门。"网络服务"(Web Service)的本质,就是通过网络调用其他网站的资源。举例来说,去年我写过一个"四川大地震图片墙",它能动态显示关于四川地震的最新图片。但是,所有的图片都不是储存在我的服务器上,而是来自flickr.com。我只是发出一个动态请求,要求flickr.com向我提供图片。这种情况下,flickr.com提供的就是一种Web service。如果我把图片都存放在本地服务器,不调用flickr.com,那么我就是在使用"本地服务"。所以,Web service让你的网站可以使用其他网站的资源,比如在网页上显示天气、地图、twitter上的最新动态等等。二、Web Service架构和云如果一个软件的主要部分采用了"网络服务",即它把存储或计算环节"外包"给其他网站了,那么我们就说这个软件属于Web Service架构。Web Service架构的基本思想,就是尽量把非核心功能交给其他人去做,自己全力开发核心功能。比如,如果你要开发一个相册软件,完全可以使用Flickr的网络服务,把相片都储存到它上面,你只要全力做好相册本身就可以了。总体上看,凡是不属于你核心竞争力的功能,都应该把它"外包"出去。最近很红的"云计算"(cloud computing)或者"云服务"(cloud services),实际上就是Web Service的同义词,不过更形象一些罢了。它们不说你把事情交给其他计算机去做,而说你把事情交给"云"去做。三、本地服务的缺陷"网络服务"是未来软件开发和使用的趋势,本地服务将用得越来越少,主要因为以下三个原因:* 本地资源不足。很多数据和资料,本地得不到,只有向其他网站要。* 成本因素。本地提供服务,往往是不经济的,使用专业网站的服务更便宜。这里面涉及硬件和人员两部分,即使你买得起硬件,专门找一个人管理系统,也是很麻烦的事。* 可移植性差。如果你想把本机的服务,移植到其他机器上,往往很困难,尤其是在跨平台的情况下。四、Web Service的优势除了本地服务的缺点以外,Web Service还有以下的优越性:* 平台无关。不管你使用什么平台,都可以使用Web service。* 编程语言无关。只要遵守相关协议,就可以使用任意编程语言,向其他网站要求Web service。这大大增加了web service的适用性,降低了对程序员的要求。* 对于Web service提供者来说,部署、升级和维护Web service都非常单纯,不需要考虑客户端兼容问题,而且一次性就能完成。* 对于Web service使用者来说,可以轻易实现多种数据、多种服务的聚合(mashup),因此能够做出一些以前根本无法想像的事情。五、Web service的发展趋势根据我的观察,目前Web service有这样几种发展趋势。* 在使用方式上,RPC和soap的使用在减少,Restful架构占到了主导地位。* 在数据格式上,XML格式的使用在减少,json等轻量级格式的使用在增多。(完)

什么是Web Services

一、Web Services解释:

WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互;

WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的;

WebService=WSDL+SOAP+UDDI(webservice的注册);

Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body;

Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。

二、Web Service的优点

可以让异构的程序相互访问(跨平台)(2) 松耦合;

基于标准协议(通用语言,允许其他程序访问)。

三、Web Service的基本原理

Service Provider采用WSDL描述服务;

Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server);

Service Requestor在UDDI服务器上查询并 获取WSDL文件;

Service requestor将请求绑定到SOAP,并访问相应的服务。

webservice是什么?

当前,WebService是一个热门话题。但是,WebService究竟是什么?什么情况下应该用WebService?什么情况下不应该用WebService?是需要我们正确认识的。 Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务,它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。 在构建和使用Web Service时,主要用到以下几个关键的技术和规则: 1.XML:描述数据的标准方法. 2.SOAP:表示信息交换的协议. 3.WSDL:Web服务描述语言. 4.UDDI:找到服务驱动器的的方法; 实际上,WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。由此可以看出,在以下三种情况下,使用WebService会带来极大的好处。长项一:跨防火墙的通信 如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。在这种情况下,使用DCOM就不是那么简单,通常也不便于把客户端程序发布到数量如此庞大的每一个用户手中。传统的做法是,选择用浏览器作为客户端,写下一大堆ASP页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难度大,程序很难维护。 举个例子,在应用程序里加入一个新页面,必须先建立好用户界面(Web页面),并在这个页面后面,包含相应商业逻辑的中间层组件,还要再建立至少一个ASP页面,用来接受用户输入的信息,调用中间层组件,把结果格式化为HTML形式,最后还要把"结果页"送回浏览器。要是客户端代码不再如此依赖于HTML表单,客户端的编程就简单多了。 如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件,从而省掉建立ASP页面的那一步。要调用WebService,可以直接使用MicrosoftSOAPToolkit或.NET这样的SOAP客户端,也可以使用自己开发的SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。同时,应用程序也不再需要在每次调用中间层组件时,都跳转到相应的"结果页"。 从经验来看,在一个用户界面和中间层有较多交互的应用程序中,使用WebService这种结构,可以节省花在用户界面编程上20%的开发时间。另外,这样一个由WebService组成的中间层,完全可以在应用程序集成或其它场合下重用。最后,通过WebService把应用程序的逻辑和数据"暴露"出来,还可以让其它平台上的客户重用这些应用程序。长项二:应用程序集成 企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常需要从运行在IBM主机上的程序中获取数据;或者把数据发送到主机或UNIX应用程序中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。通过WebService,应用程序可以用标准的方法把功能和数据"暴露"出来,供其它应用程序使用。 例如,有一个订单登录程序,用于登录从客户来的新订单,包括客户信息、发货地址、数量、价格和付款方式等内容;还有一个订单执行程序,用于实际货物发送的管理。这两个程序来自不同软件厂商。一份新订单进来之后,订单登录程序需要通知订单执行程序发送货物。通过在订单执行程序上面增加一层WebService,订单执行程序可以把"AddOrder"函数"暴露"出来。这样,每当有新订单到来时,订单登录程序就可以调用这个函数来发送货物了。长项三:B2B的集成 用WebService集成应用程序,可以使公司内部的商务处理更加自动化。但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?跨公司的商务交易集成通常叫做B2B集成。 WebService是B2B集成成功的关键。通过WebService,公司可以把关键的商务应用"暴露"给指定的供应商和客户。例如,把电子下单系统和电子发票系统"暴露"出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。当然,这并不是一个新的概念,EDI(电子文档交换)早就是这样了。但是,WebService的实现要比EDI简单得多,而且WebService运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较低。不过,WebService并不像EDI那样,是文档交换或B2B集成的完整解决方案。WebService只是B2B集成的一个关键部分,还需要许多其它的部分才能实现集成。 用WebService来实现B2B集成的最大好处在于可以轻易实现互操作性。只要把商务逻辑"暴露"出来,成为WebService,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI的中小企业也能实现B2B集成。长项四:软件和数据重用 软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。 当前,像表格控件或用户界面控件这样的可重用软件组件,在市场上都占有很大的份额。但这类软件的重用有一个很大的限制,就是重用仅限于代码,数据不能重用。原因在于,发布组件甚至源代码都比较容易,但要发布数据就没那么容易,除非是不会经常变化的静态数据。 WebService在允许重用代码的同时,可以重用代码背后的数据。使用WebService,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端的WebService就可以了。举个例子,要在应用程序中确认用户输入的地址,只需把这个地址直接发送给相应的WebService,这个WebService就会帮你查阅街道地址、城市、省区和邮政编码等信息,确认这个地址是否在相应的邮政编码区域。WebService的提供商可以按时间或使用次数来对这项服务进行收费。这样的服务要通过组件重用来实现是不可能的,那样的话你必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库,而且这个数据库还是不能实时更新的。 另一种软件重用的情况是,把好几个应用程序的功能集成起来。例如,要建立一个局域网上的门户站点应用,让用户既可以查询联邦快递包裹,查看股市行情,又可以管理自己的日程安排,还可以在线购买电影票。现在Web上有很多应用程序供应商,都在其应用中实现了这些功能。一旦他们把这些功能都通过WebService"暴露"出来,就可以非常容易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友好的界面。 将来,许多应用程序都会利用WebService,把当前基于组件的应用程序结构扩展为组件/WebService的混合结构,可以在应用程序中使用第三方的WebService提供的功能,也可以把自己的应用程序功能通过WebService提供给别人。两种情况下,都可以重用代码和代码背后的数据。 从以上论述可以看出,WebService在通过Web进行互操作或远程调用的时候是最有用的。不过,也有一些情况,WebService根本不能带来任何好处。短处一:单机应用程序 目前,企业和个人还使用着很多桌面应用程序。其中一些只需要与本机上的其它程序通信。在这种情况下,最好就不要用WebService,只要用本地的API就可以了。COM非常适合于在这种情况下工作,因为它既小又快。运行在同一台服务器上的服务器软件也是这样。最好直接用COM或其它本地的API来进行应用程序间的调用。当然WebService也能用在这些场合,但那样不仅消耗太大,而且不会带来任何好处。短处二:局域网的同构应用程序 在许多应用中,所有的程序都是用VB或VC开发的,都在Windows平台下使用COM,都运行在同一个局域网上。例如,有两个服务器应用程序需要相互通信,或者有一个Win32或WinForm的客户程序要连接局域网上另一个服务器的程序。在这些程序里,使用DCOM会比SOAP/HTTP有效得多。与此相类似,如果一个.NET程序要连接到局域网上的另一个.NET程序,应该使用.NETremoting。有趣的是,在.NETremoting中,也可以指定使用SOAP/HTTP来进行WebService调用。不过最好还是直接通过TCP进行RPC调用,那样会有效得多。 总之,只要从应用程序结构的角度看,有别的方法比WebService更有效、更可行,那就不要用WebService

webservice跟ajax的区别和相同点

webservice跟ajax有如下相同:

1.两个都使用xml技术实现,

2.两个都使用http协议.

3.两个都实现不同平台不同开发语言间的数据交换

但两又有许多不同

1.webservices是服务端技术,主要在后台为各种程序提供服务,使用原有的soap(简单对象访问协议),主要解决的问题是提供一种理想的单位或机构间商业数据安全交换。

2.ajax则是客户端技术,它使用已经广泛使用的xmlhttp技术,它主要解决的问题是目前浏览器被动地位,使得客户端可以主动性从服务器获取信息,变成一个富客户端程序,从而减少服务端的程序工作和服务器的负荷,也使得客户端更灵活,功能更强大.它与webservices相比有更大的优越性,因为我们几乎不用改我们的服务端网站程序就可提供类似webservices的数据服务,

补充:

1、Web Service 不受客户端Browser限制,而编写 Ajax 就要考虑了。

2、Ajax 是一种写法,而 Web Service 是一种标准,也就是说Ajax需要有相关的后台页面进行与之相配合才行,而Web Service是独立存在的,由别的Actor 进行调用。

3、Web Service 属一种架构,扩展性与分布式较好。而Ajax在架构上可以说是一种空白。

什么是web services?它有什么作用,以及它如何实现?

我找的一些资料,可能会有点文不对题。

定义一:

Web Services是自包含的、模块化的应用程序,它可以在网络(通常为Web)中被描述、发布、查找以及调用。

定义二:

Web Services是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。

定义三:

所谓Web服务,它是指由企业发布的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项应用服务。(UDDI规范2.0)

商业需求

XML Web services是分布式计算的重要标准,也是未来软件开发的技术趋势,通过XML Web services标准,应用软件之间可以实现跨平台,跨编程语言的联接和互操作。作为微软平台的一个基本功能,.基于XML Web services标准的.NET 开发平台可以实现个人之间,个人与企业之间,和企业之间的信息互连,这样就实现人们可以随时随地存取和使用信息的梦想。

在微软构造和实现这种.NET- connected平台的同时,众多的合作伙伴和厂商也在开发基于XML Web services标准的可以互相联接和整合软件产品和解决方案。这些软件产品和解决方案正在给他们的客户带来巨大的好处:企业的信息系统可以更方便地为其用户提供更好的服务,企业的信息系统可以与合作伙伴的系统更好地相连,可以为企业的雇员提供及时正确的信息。

产业商机

微软公司的.NET Connected Logo计划,是一个全球认证计划,主要是用来标识那些基于XML Web services而开发的软件和解决方案。经微软认证的软件公司,可以将.NET Connected 标志图案置于其被认证软件产品的包装,文档,宣传材料和广告中。

.NET Connected标识,标志着您的应用软件基于.NET Framework开发,能够基于XML Web services标准和其他的软件共享数据和功能。.NET Connected Logo计划可以帮助客户识别应用软件、系统和服务是否为了适应下一代Internet计算的要求而进行了优化。

参加Microsoft .NET Connected Logo计划的好处

Microsoft .NET Connected Logo会:

标识领先的软件开发技术和实力。

区别您的应用软件于其他的软件产品。

充分利用微软在.NET上所做的广泛的市场宣传和投入。

通过.NET Connected 目录在全球推广和宣传您的软件产品和解决方案。

使用.NET Connected产品和服务的用户会受益:

经认证的软件产品和服务,可以基于XML Web services与其他的软件互联,并被无缝地整合进企业未来的信息系统中。

经认证的产品,基于.NET Framework开发,有良好的性能,稳定性和安全性,意味着这个产品或服务可以信赖。

可以帮助最终用户迅速地识别那些能够帮助他们随时随地信息互连的技术。

Microsoft .NET Connected 白金应用要求:

应用软件或服务应基于Microsoft .NET Framework 开发,主要的应用功能提供有基于XML Web service 的接口, 这个Web service调用的过程要符合业界标准:XML Schema 1.0, SOAP 1.1XML Schema 1.0, SOAP 1.1以及WSDL 1.1 。应用应该用到至少一种微软的应用服务器,如SQL Server, Exchange Server, Biztalk Server等。

The .NET Connected Directory

微软.NET Connected Directory 提供了一个中心的位置,用户可以在这里查找信息,合作伙伴可以在这个位置展示满足.NET Connected logo要求的软件和服务。即使微软推广这些应用软件和XML Web services时,合作伙伴仍然可以继续维护与宿主这些服务或应用软件,维护任何支付方式,处理所有与这些产品相关的问题。

通常,如果你的产品得到了.NET Connected 资质认证,他就会自动的在目录产品列表中显示出来。一个合作伙伴可以选择是否要在.NET Connected Directory中显示自己的产品。

合作伙伴的信息在加入目录之前要经过评审得到允许才可加入。

合作者详细网址(需要URL)

为了能够使合作者对它们提交的东西做出改动时(支付结构,下载网址,描述等)不用重新提交入口,我们需要连接到合作者的网址,这个网址包括后面列出的一些信息。这些信息不仅会帮助开发者得到计划的版本,下载信息等,它也包含应用软件自身的基本商业信息。合作者的网页包含的信息为:

使用XML Web service的XML Web 服务或应用软件的名字

描述产品的功能

执行它的步骤

连接到XML Schema的网址,浏览XML Schema(可选)

WSDL Schema Version (ie: v1.1)

SOAP Version (ie: v1.1)

XML Web service 或软件花费和支付方法

系统要求(可选)

和哪些产品一起工作效果好或要求(可选)

建立联系得到用户支持

建立连接下载软件(可选)

直接回到.NET Connected directory的链接

产品有效期(如果有的话)

可选信息--常见问题回答,其他信息,联系电话

网页必须显示适当的.NET Connected Logo

合作者的信息在加入目录之前要经过评审得到允许才可加入

未来的需求

将来.NET Connected Logo计划会产生更高级的标准。

这个文档只是作为参考,MICROSOFT并没有授权,或隐含什么。

使用 .NET

就其核心问题而言,Microsoft? .NET是关于使技术为人们所用,而不是强制个人适应其计算机的限制。利用 .NET,无论何时何地您总能连接到您首选设备上的信息。利用 .NET,您可以保护您的个人信息和企业数据,同时允许有您的授权的他人连接到这些信息。

.NET 的价值

对于个人(包括您自己、您的客户、雇员、供应商和合作伙伴)来说,使用 Microsoft .NET 进行生成的成果将是无缝的、吸引人的体验。

使用 .NET 进行开发

借助 Microsoft Visual Studio? .NET 和 Microsoft .NET 框架,Microsoft? .NET 提供了生成和部署最先进的应用程序和 XML Web services 的最快捷方法。

.NET 对开发人员意味着什么

通过使用 Microsoft? Visual Studio? .NET 和 .NET 框架,Microsoft 为开发人员提供了一整套开发工具,使用这些工具可以快速而轻松地创建最先进的应用程序和 XML Web services。

借助 Visual Studio .NET 和 .NET 框架,Microsoft .NET 允许更快地开发软件应用程序和服务。

.NET 框架和 Visual Studio .NET 将为应用程序和 XML Web services 提供更高的可靠性。

XML Web services 的使用将允许在 .NET 平台上创建的应用程序和服务更容易、更有效地集成在一起。

XML Web services

对于 Microsoft .NET,在处理一组有限任务的离散单元(XML Web services)中生成代码。由于基于 XML 的标准接口简化了软件之间的通讯,因此可以将 XML Web services 一起集成到高度专门化的应用程序和体验。您可以使用来自世界各地的最好的 XML Web services,快速而轻松地创建所需的解决方案。Microsoft 将提供一组以用户为中心的核心 XML Web services(即 Microsoft .NET 我的服务)以提供诸如用户标识和日历访问之类的功能。

什么是web service?

Web service 就是一个服务应用程序,它向外界暴露出一个能够通过http协议进行调用的应用程序接口。这就是说,你能够用编程的方法通过Http GET来调用这个应用程序。我们把调用这个Web service 的应用程序叫做客户。Web services是建立可互操作的分布式应用程序的新平台。Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。

(责任编辑:IT教学网)

更多

推荐人物新闻文章