`

Web Service接口

 
阅读更多

Web Service接口

1.1 接口方式说明和优点

在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为客户端去调用第三方提供的接口时,大部分时候都是使用Web  Service接口,Web Service作为接口使用广泛的原因,与它的特点息息相关。

Web Service的主要目标是跨平台的可互操作性,为了实现这一目标,Web Service 完全基于XML(可扩展标记语言)、XSDXML Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。因此使用Web Service有许多优点:

1.1.1 跨防火墙的通信

如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。要调用Web Service,可以直接使用SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。
   
1.1.2 跨程序语言的应用程序集成

在企业的各种应用系统中,很多系统不是使用相同的语言编写的,例如有的使用Java,有的使用phpC#asp。当各种系统之间需要交互时,可使用各种语言都通用的WSDL定义接口,对外将需要的接口暴露给指定的客户。

XML Web services 提供了在松耦合环境中使用标准协议(HTTPXMLSOAP  WSDL)交换消息的能力。消息可以是结构化的、带类型的,也可以是松散定义的。 
       1.1.3 软件和数据重用

Web Service在允许重用代码的同时,可以重用代码背后的数据。使用Web Service,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端的Web Service就可以了。

另一种软件重用的情况是,把好几个应用程序的功能集成起来,通过Web Service “暴露出来,就可以非常容易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友好的界面。

可以在应用程序中使用第三方的Web Service 提供的功能,也可以把自己的应用程序功能通过Web Service 提供给别人。两种情况下,都可以重用代码和代码背后的数据。

1.2 重要概念

 1.2.1 何为Web Service
        Web Service是构建互联网分布式系统的基本部件,它是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,别人能够用编程的方法通过Web来调用这个应用程序。

它通过标准通信协议,在互联网上以服务的方式发布有用的程序模块,目前大部分是用SOAP作为通信协议。

 它提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫WSDLWeb服务描述语言,Web Service Description Language)。

通常已发布的Web Service要注册到管理服务器,便于使用者查询和使用。这个是通过UDDI统一描述、发现和集成,Universal Discovery Description and Integration)来完成的。 
       1.2.2 何为SOAP协议?

SOAP定义SOAP消息的XML格式(XML格式),如果你用一对SOAP标记(SOAP Elements)把XML文档括起来,那么这个就是一个SOAP消息。 

SOAP规范还定义了怎样用XML来描述程序数据,怎样执行RPC远程过程调用,Remote Procedure Call)。大多数SOAP解决方案都支持RPC-style应用程序,因为很多程序员已对DCOMCORBA熟悉。它还支持Document-style应用程序(SOAP消息只包含XML文本信息)。Document-style应用程序有很好的灵活性,所以很多用RPC很难构建的Web Service用这种方式构建。 

最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。这并不代表SOAP只能用HTTP来作为传输协议,MSMQSMTPTCP/IP都可以做SOAP的传输协议。

安全性对于应用程序来说是很重要的。那么SOAP的安全性如何呢?对于把HTTP作为传输协议的SOAP来说是没有问题的,因为HTTP协议已经有很好的安全构架。那么用其他传输协议会出现安全问题吗?这方面也已经有相关规范

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/ws-security.asp)。
     1.2.3 何为WSDL

WSDL是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDLInterface Description Language,接口描述语言)是用于COMCORBA的,WSDL是用于SOAP的。WSDL是一种XML文档,所以可以阅读和编辑,但很多时候是用工具来创建、由程序阅读。

举个实例,当读者需要使用第三方的Web Service构建应用程序。你可以向接口提供商索取使用WSDL文档,在该文档中详细的说明了各个方法的方法名、参数和参数类型等信息。在Java等编程语言的IDE(例如My Eclipse)中,可以根据Web Servie生成对应的测试代码,稍微修改一下即可。
   
1.2.4 何为UDDI

UDDI可以比喻成电话本,电话本里记录的是电话信息,而UDDI记录的是Web Service信息。可以不把Web Service注册到UDDI。但如果要让全球的人知道这个Web Service,最好还是注册到UDDI 

UDDI目录说明文件也是一个XML文档,它包括三个部分。“白页(White Paper)”说明提供Web Service的公司(人)信息,比如说名称、地址和联系方式等等。“黄页(Yellow Paper)”说明UDDI目录的分类,比如说金融、服务和印刷等等。“绿页(green Paper)”说明接口(Web Service 提供的)的详细信息。 UDDI提供多种查询方式,来帮助你找到需要的Web Service。如果你查询与财务有关的Web Service,那么UDDI会提供详细的信息。
   1
.2.5 何为XML

XMLExtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。在Web Service接口中,WSDLUDDI目录文件都是一种XML文档,XML解决了数据表示的问题。
   1.2.6 何为XSD

XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整型数到底代表什么?16位,32位,还是64位?

W3C制定的XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。Web Service就是用XSD来作为其数据类型系统的。

1.3 开发Web Service接口和调用测试

Java IDE环境中开发Web Service接口,以及如何调用第三方的WSDL文档如何进行接口测试的参考文章详见:

1)《使用XFire+Spring构建Web Service(一)——helloWorld》:

http://www.blogjava.net/amigoxie/archive/2007/09/26/148207.html

2)《使用XFire+Spring构建Web Service(二)》:

      http://www.blogjava.net/amigoxie/archive/2007/09/28/149074.html

3)《根据wsdl生成对应的Java代码进行接口测试(一)》:

      http://www.blogjava.net/amigoxie/archive/2009/11/20/303038.html

1.4 开发举例

1.4.1 作为提供商提供hello world的接口
   参见:《
使用XFire+Spring构建Web Service(一)——helloWorld》:

http://www.blogjava.net/amigoxie/archive/2007/09/26/148207.html
   1.4.2
作为提供商提供用户信息查询接口

   参见:《使用XFire+Spring构建Web Service(二)》:

   http://www.blogjava.net/amigoxie/archive/2007/09/28/149074.html

分享到:
评论

相关推荐

    T100 Web Service 接口开发v1.5版.rar

    在现代信息技术领域,Web Service接口开发扮演着至关重要的角色,它使得不同系统之间的数据交换和功能调用变得简单而高效。本文将深入探讨T100 Web Service接口开发的最新版本v1.5版,以及其在实际应用中的相关知识...

    xfire开发Web Service接口详解

    本篇文章将深入探讨如何使用XFire来开发Web Service接口,并提供一个初学者友好的教程。 一、XFire简介 XFire(后被集成到Apache CXF项目)是一款轻量级的Java Web服务框架,它提供了快速、简单的方式来创建符合WS-...

    delphi web service接口实例

    本实例将详细讲解如何使用Delphi创建Web Service接口以及在客户端进行调用。 1. **创建Web Service接口** 在Delphi中,我们可以使用内置的`WebBroker`组件来创建Web Service。首先,创建一个新的VCL Forms应用程序...

    web service接口测试工具

    在本场景中,我们关注的是专门针对Web Service接口的测试工具。Web Service接口通常是基于SOAP(Simple Object Access Protocol)或者REST(Representational State Transfer)等协议,用于不同系统间的数据交换。 ...

    web service 接口文档

    Web Service 接口文档 Web Service 是一种基于网络的应用程序接口,它允许不同的系统和应用程序之间进行交互和数据交换。MyKoo Web Service(MKWS)是以 RESTful Web Service 形式提供的,MKWS 只用到了 2 种 HTTP ...

    常用的web service接口

    本篇文章将详细探讨几个常用Web Service接口的例子,以及它们在商业和贸易中的应用。 首先,股票行情数据WEB服务是一个非常实用的接口,尤其是对于金融领域的应用。它提供了香港、深圳、上海的股票、基金和债券的...

    web service接口实现类

    在本项目中,我们将深入探讨Web Service接口及其Java中的实现类,以理解其工作原理、创建过程以及如何在实际开发中应用。 首先,Web Service是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的协议,它允许不同平台...

    SpringBoot+mybatis+CXF开发web service接口.rar

    在本项目中,我们主要探讨如何使用SpringBoot、MyBatis和CXF框架来开发Web Service接口,并且数据库选用MySQL。这是一个完整的后端服务开发流程,涵盖了从数据存储到服务暴露的所有关键步骤。 首先,SpringBoot是...

    xfire开发Web Service接口第一个程序源代码

    在这个“xfire开发Web Service接口第一个程序源代码”的资源中,我们将探讨如何利用Xfire来开发一个简单的Web服务。 首先,理解Web服务的基本概念是至关重要的。Web服务通常基于SOAP(Simple Object Access ...

    webservice接口调用实例

    本实例主要关注的是如何调用Web Service接口,我们将探讨相关的关键知识点。 首先,理解Web Service的基本概念非常重要。它通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web Services ...

    SAP-WEBSERVICE调用案例

    本文将详细介绍如何在SAP系统中实现对Web Service接口的调用,并通过实际案例进行演示。 #### 二、SAP调用Web Service概述 SAP调用Web Service通常涉及以下几个步骤: 1. **创建WebService连接**:首先需要在SAP...

    X省县级平台通用Web service接口.rar

    X省县级平台通用Web service接口.rar

    cfx 创建 web service接口

    在本文中,我们将深入探讨如何使用Cfx(Confluence)来创建Web服务接口,并结合提供的jar包和源码示例进行详细讲解。 Cfx,全称Apache CXF,是一个开源的Java框架,用于构建和开发SOAP和RESTful Web服务。它提供了...

    Web Service接口测试工具 SOUP UI -PRO

    SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。SoapUI...

    web-service接口

    2. **DBWS(Database Web Service)服务器**: 提供了访问数据库的能力,通过Web Service接口实现。 3. **中国股票Web服务**:此处提到的Web服务主要用于提供中国股票市场的相关信息。 #### 三、具体操作示例解析 ...

    axis2(web service接口文件生成工具)

    Axis2是Apache软件基金会开发的一款开源Web服务框架,主要用于生成和处理Web服务接口文件。它是一个高度可扩展且模块化的平台,支持多种协议,如SOAP、REST、HTTP、HTTPS等,使得开发人员能够轻松地创建和部署Web...

    gsoap 调用 web service 的接口工具

    在VC++开发环境下,gSOAP作为调用Web Service接口的工具,极大地简化了开发者的工作。 gSOAP的核心功能包括: 1. **代码生成器**:gSOAP提供了一个强大的代码生成器,可以从WSDL(Web Services Description ...

    T100 Web Service开发,调试整合重启检查说明(简体版)

    #### Web Service 接口检测 为了确保T100 Web Service的正常运行,首先需要检查其接口是否处于正常状态。具体检查方法如下: 1. **检查 WebService 接口是否正常:** - 使用浏览器输入特定URL来检测Web Service...

Global site tag (gtag.js) - Google Analytics