WebService是一种跨编程语言和跨操作系统平台的远程调用技术
所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统(采用交互提问的方式来加深大家对此技术的理解)。
远程调用技术有什么用呢?商场的POS机转账调用的转账方法的代码是在银行服务器上,还是在商场的pos机上呢?
什么情况下可能用到远程调用技术呢?例如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA应用。
所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。
除了WebService外,常见的远程调用技术还有RMI(Remote method invoke)和CORBA,由于WebService的跨平台和跨编程语言特点,因此比其他两种技术应用更为广泛,但性能略低。
WebService使用SOAP协议实现跨编程语言和跨操作系统平台
WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议(simple object access protocol,简单对象访问协议) 。
SOAP协议= HTTP协议+ XML数据格式
SOAP协议是基于HTTP协议的,两者的关系就好比高速公路是基于普通公路改造的,在一条公路上加上隔离栏后就成了高速公路。
商店的服务员只要收到了钱就给客户提供货物,商店服务员不用关心客户是什么性质的人,客户也不用关心商店服务员是什么性质的人。同样,WebService客户端只要能使用HTTP协议把遵循某种格式的XML请求数据发送给WebService服务器,WebService服务器再通过HTTP协议返回遵循某种格式的XML结果数据就可以了,WebService客户端与服务器端不用关心对方使用的是什么编程语言。
HTTP协议和XML是被广泛使用的通用技术,各种编程语言对HTTP协议和XML这两种技术都提供了很好的支持,WebService客户端与服务器端使用什么编程语言都可以完成SOAP的功能,所以,WebService很容易实现跨编程语言,跨编程语言自然也就跨了操作系统平台
WSDL文件
好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。
WSDL(webservicedescription language)是基于XML格式的,它是WebService客户端和服务器端都能理解的标准格式,其中描述的信息可以分为what,where,how等部分!
WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:
1.注册到UDDI服务器,以便被人查找
2.直接告诉给客户端调用者,例如,在自己网站给出信息或邮件告诉。
说明:
我们平常写的程序都是在同一个程序中调用其他对象的方法,而webservice是怎样实现调用其它计算机中的对象的方法的呢?
其基本原理是在客户端程序的本地有一个代理对象,这个代理对象和远程对象具有相同的方法声明,这个代理程序不用我们自己编写,工具可以帮我们生成。客户端程序调用本地代理对象的方法时,代理对象会通过某种网络传送技术去联系远程的程序,远程程序再调用代理对象请求的相应本地对象的方法,然后将方法执行的结果返回给客户端代理程序。远程调用技术就是要解决客户端如何将请求信息传送给远程的程序,远程的程序如何将结果回应给客户端,并且其实现技术对开发人员来说是透明的,即不需要开发人员自己的考虑和实现这些细节。
1.WSDL(网络服务描述语言,WebServices Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。
2.UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
UDDI,英文为"Universal Description, Discovery and Integration",可译为“通用描述、发现与集成服务”。
相关推荐
webService原理
【WebService原理详解】 WebService是一种基于Web的分布式计算技术,它允许不同的系统和应用程序通过网络进行交互,实现数据和功能的共享。WebService的核心理念是通过开放的互联网标准进行跨平台、跨语言的互操作...
### WebService原理深入解析 #### 一、WebService概念与历史 WebService是一种标准的跨平台通信方式,它允许不同操作系统上的应用程序通过HTTP协议进行交互。WebService的出现,解决了异构系统间的数据交换问题,...
### xfire Java WebService (CXF前身框架了解WebService原理很好的入门框架) #### 一、XFire框架简介 XFire是一个轻量级的Java WebService框架,它被设计为易于使用且具有高性能。XFire最初由Matt Stevenson和...
### WebService原理详解 #### 一、WebService概述 WebService作为一种重要的技术,在软件开发尤其是企业级应用领域占据着举足轻重的地位。随着互联网的发展和技术的进步,WebService已成为连接不同系统和服务的...
WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理...
### WebService的使用及原理详解 #### 一、WebService简介 WebService是一种用于在分布式环境中进行交互的技术,它允许运行在不同操作系统上的不同应用程序之间通过网络进行数据交换和通信。WebService通常基于...
【WebService原理详解】 WebSocket服务是一种基于开放标准的网络通信协议,其设计目的是允许web应用程序与其他服务器进行实时通信,打破传统的HTTP请求-响应模式的限制。WebSocket使得双向通信成为可能,即服务器和...
这样的实践操作将有助于加深对WebService原理的理解,提高编程实战技能,包括但不限于面向服务的架构设计、网络通信机制以及XML序列化等关键概念。 【标签】:“WebService” WebService是本教程的核心主题。它...
VB6调用WebService原理 VB6通过COM对象(通常是Microsoft XML, v3.0 或更高版本的MSXML组件)来实现对WebService的调用。这个COM对象可以解析WSDL文件,生成相应的客户端代理类,然后通过这些类的方法来调用...
【WebService原理】 WebService是一种基于开放标准的,允许不同系统之间进行互操作的网络服务技术。它的核心思想是,通过互联网实现应用程序之间的通信,打破语言和平台的限制,使得不同系统能够共享数据和服务。...
2. **WEBSERVICE原理** WEBSERVICE是一种基于Web的软件接口,它通过HTTP协议进行通信,使用XML作为数据交换格式。这种服务可以被任何支持标准Web协议的客户端调用,无论它们是用何种编程语言编写。在本例中,DELPHI...
- **WebService测试**:为了确保WebService能正确无误地处理请求并返回预期的结果而进行的一系列验证活动。测试通常包括验证输入参数的有效性、输出结果的准确性等。 ### 2. Java代码解析 #### 2.1 `...
总结起来,C#调用飞信WebService接口涉及的知识点包括C#语言基础、.NET Framework、WebService原理及使用、C#的异步编程、错误处理和网络通信。通过这些技术,开发者可以构建起与飞信服务器的交互,实现短信发送、...
【WebService练习代码】是...通过这个练习,开发者不仅可以掌握CXF和Spring的集成使用,还能加深对WebService原理的理解,为实际项目开发打下坚实的基础。在实践中不断迭代和完善,将有助于提升技能和解决问题的能力。
本讲解将深入探讨WSDL的工作原理,以及WebService调用的底层本质。 首先,WSDL文档描述了服务的接口,包括服务提供的操作(如方法),输入和输出的消息结构,以及服务的位置。这些信息使得客户端能够理解如何与服务...
**二、调用WebService原理** WebService是一种基于Web的、平台无关的交互模型,通常采用SOAP(Simple Object Access Protocol)协议封装数据,通过HTTP协议传输。.NET平台提供了丰富的WebService开发工具,如ASMX或...