`

webservice 简单介绍

 
阅读更多

1.什么是webservice?

webservice是一种跨编程语言和跨操作系统平台的远程调用技术。

所谓的远程调用,就是一台计算机a上的一个程序可以调用另一台计算机b上的一个对象的方法,比如:银联提供给商场的pos机刷卡系统。

什么情况下可能用到远程调用技术呢?

例如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA(面向服务体系)应用。

所谓的跨编程语言就是服务端程序采用java语言编写,客户端程序则可以采用其他编程语言编写,反之亦然。

所谓的跨操作系统平台就是服务端程序和客户端程序可以在不同的操作系统平台上运行。

除了webservice外,常用的远程调用技术还有RMI(Remote Method Invoke)和CORBA,由于webservice的跨编程语言和跨平台的特点,因此比其他两种技术应用更为广泛,但性能略低。

2.webservice的调用原理

webservie采用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很容易实现跨编程语言,跨编程语言自然也就跨了操作系统平台。

3.webservice调用之前的工作

WSDL文件 好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。

WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。

WSDL(webservice description language)是基于XML格式的,它是WebService客户端和服务器端都能理解的标准格式,其中描述的信息可以分为what,where,how等部分! WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。

客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址: 注册到UDDI服务器,以便被人查找 直接告诉给客户端调用者,例如,在自己网站给出信息或邮件告诉。

4.webservice的工作过程

5.webservice的开发应用

WebService开发可以分为服务器端开发和客户端开发两个方面: 把公司内部系统的业务方法发布成WebService服务,供远程合作单位和个人调用。(借助一些WebService框架可以很轻松地把自己的业务对象发布成WebService服务,Java方面的典型WebService框架包括:axis,xfire,cxf等,java ee服务器通常也支持发布WebService服务,例如JBoss。这框架应用不是学习的重点,看看相关的技术手册都很轻松地掌握,关键还是要了解WebService的工作原理。)

6.WebService框架的底层实现原理

技术实现原理: 各类WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它通过http协议发送过来soap格式的请求数据时,它分析这个数据,就知道要调用哪个java类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,通过http响应消息回给客户端。

 

分享到:
评论

相关推荐

    webservice 简单介绍 含例子代码解释

    webservice 简单介绍 含例子代码解释

    Java_WebService 简单介绍

    关于实现WebService的两种形式的简单介绍:Axis2 和 CXF

    Android调用天气预报的WebService简单例子

    此文档介绍了Android调用天气预报的WebService简单例子。

    WebService入门介绍及实例

    WebService入门介绍及实例 可以作为简单入门,如果要了解关于WebService更详细的内容,不建议您下载

    利用Java编写简单的WebService实例

    在本文中,我们将详细介绍如何使用 Java 编写简单的 WebService 实例。首先,我们需要了解什么是 WebService,以及如何使用 Java 实现它。 什么是 WebService? WebService 是一种基于网络的分布式系统,可以提供...

    VC6调用WebService

    在这里详细的介绍了,VC6调用WebService的方法。

    eclipse自带webservice调试工具介绍

    eclipse自动webservice工具简介,特别简单,比soap方便

    webService客户端调用服务端传对象参数

    这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...

    vb6.0调用webservice详解

    网上写vb6.0调用webservice的都写得比较简单, 这个结合实例作了较详细介绍

    WebService传XML 简单实例

    主要介绍了WebService传XML 简单实例的相关资料,需要的朋友可以参考下

    WebService实现步骤(包括WEBSERVICE的demon)

    下面是WebService 实现步骤的详细介绍: WebService 实现步骤 1. 程序发布 在 WebSphere 中,发布 war 包是将应用程序部署到服务器上的一个重要步骤。首先,需要将应用程序打包成 war 包,然后将其部署到 ...

    WebService实例

    下面是一个从编写测试例子到发布WebService,以及编写测试代码的过程介绍。 本例子的WebService提供了两个方法,分别是sayHello和sayHelloToPerson,第一个只是返回一个"Hello"字符串,没有参数,第二个函数接受一...

    WebService技术及其应用实例论文

    其次介绍了WebService技术中的关键技术,其中包括可扩展性标记语言(XML)、简单对象访问协议(SOAP)、Web服务描述语言(WSDL)和统一描述、发现与集成(UDDI)注册中心。最后本文依据WebServices的技术原理、体系...

    Eclipse+Webservice简单开发实例

    主要介绍了Eclipse+Webservice简单开发实例的相关资料,需要的朋友可以参考下

    xfire教程+axis+webservice

    XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的...即时发布提供了一种非常简单的webservice的发布方式,但是其中限制太多,因此在实际的开发中定制发布才是首选。这里也将会以定制发布为重点来介绍。

    Java WebService 简单实例(附实例代码)

    本篇文章主要介绍了Java WebService 简单实例(附实例代码), Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。有兴趣的可以了解一下

    C#创建和调用WebService详细教程

    本文档将详细介绍C#创建和调用WebService的教程,涵盖WebService的基本概念、特点以及如何使用C#语言来创建和调用WebService。 WebService基本概念 WebService是一种可以接收从Internet或者Intranet上的其他系统中...

    java webservice的发布以及调用

    使用Axis编写WebService比较简单,这是一个从编写测试例子到发布WebService,以及编写测试代码的过程介绍。

Global site tag (gtag.js) - Google Analytics