`
wanxiaotao12
  • 浏览: 476454 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebService原理二

 
阅读更多

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",可译为“通用描述、发现与集成服务”。

转:http://my.oschina.net/u/232763/blog/69540

  • 大小: 45.7 KB
分享到:
评论

相关推荐

    webService原理

    webService原理

    WebService服务技术原理

    WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理WebService服务技术原理...

    WebService原理[借鉴].pdf

    【WebService原理详解】 WebService是一种基于Web的分布式计算技术,它允许不同的系统和应用程序通过网络进行交互,实现数据和功能的共享。WebService的核心理念是通过开放的互联网标准进行跨平台、跨语言的互操作...

    webservice的使用及原理

    #### 二、WebService的关键要素 WebService的关键要素包括: 1. **XML(Extensible Markup Language)**:用于描述数据的一种标记语言,WebService通过XML来定义和传输数据。 2. **SOAP(Simple Object Access ...

    webservice接口原理

    webservice接口技术webservice接口技术webservice接口技术webservice接口技术

    WebService原理

    ### WebService原理深入解析 #### 一、WebService概念与历史 WebService是一种标准的跨平台通信方式,它允许不同操作系统上的应用程序通过HTTP协议进行交互。WebService的出现,解决了异构系统间的数据交换问题,...

    xfire java webservice(cxf前身框架了解webservice原理很好的入门框架)

    ### xfire Java WebService (CXF前身框架了解WebService原理很好的入门框架) #### 一、XFire框架简介 XFire是一个轻量级的Java WebService框架,它被设计为易于使用且具有高性能。XFire最初由Matt Stevenson和...

    webservice原理

    ### WebService原理详解 #### 一、WebService概述 WebService作为一种重要的技术,在软件开发尤其是企业级应用领域占据着举足轻重的地位。随着互联网的发展和技术的进步,WebService已成为连接不同系统和服务的...

    WebService的原理

    【WebService原理详解】 WebSocket服务是一种基于开放标准的网络通信协议,其设计目的是允许web应用程序与其他服务器进行实时通信,打破传统的HTTP请求-响应模式的限制。WebSocket使得双向通信成为可能,即服务器和...

    webservice的原理及概念

    ### WebService的原理及概念 WebService是一种用于不同应用程序之间进行通信的标准协议,它允许应用程序通过标准格式(如XML)在不同的技术平台之间交换数据。WebService的主要组成部分包括:SOAP(简单对象访问...

    webservice

    #### 二、WebService的基本组成部分 WebService主要包括以下几个部分: 1. **服务提供者**:提供WebService的一方,通常是指实现了某些业务逻辑的服务端应用。 2. **服务消费者**:调用WebService的一方,可以是...

    oracle 调用webservice

    二、Java 编写简单的 WebService 实例 使用 Eclipse 编写简单的 WebService 实例,首先需要安装 Eclipse 和 Java Development Kit(JDK)。然后,创建一个新的 Java 项目,添加 WebService 依赖项,编写 WebService...

    RI Webservice TEST

    ### 2. Java代码解析 #### 2.1 `RiWebServiceTest` 类详解 - **继承自 `TestCase` 类**:这表明该类是用于单元测试的一个Java类。JUnit框架中的`TestCase`提供了一系列的方法来支持测试用例的编写,如设置前置条件...

    一个简单的WEBSERVICE 例子

    总的来说,这个示例为我们提供了一个很好的起点,可以帮助初学者理解 WebService 的基本工作原理及其与数据库交互的方式。对于进一步的学习和发展,还可以探索更多高级特性,比如异常处理、安全性增强等。

    axis2webservice接口例子

    标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web...通过这个例子,开发者能够深入理解Web服务的工作原理,以及如何利用Apache Axis2这一强大工具来简化开发流程,提高跨平台通信的效率。

Global site tag (gtag.js) - Google Analytics