Web Service接口
1.1 接口方式说明和优点
在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为客户端去调用第三方提供的接口时,大部分时候都是使用Web Service接口,Web Service作为接口使用广泛的原因,与它的特点息息相关。
Web Service的主要目标是跨平台的可互操作性,为了实现这一目标,Web Service 完全基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。因此使用Web Service有许多优点:
1.1.1 跨防火墙的通信
如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。要调用Web Service,可以直接使用SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。
1.1.2 跨程序语言的应用程序集成
在企业的各种应用系统中,很多系统不是使用相同的语言编写的,例如有的使用Java,有的使用php、C#、asp。当各种系统之间需要交互时,可使用各种语言都通用的WSDL定义接口,对外将需要的接口暴露给指定的客户。
XML Web services 提供了在松耦合环境中使用标准协议(HTTP、XML、SOAP 和 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作为通信协议。
它提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫WSDL(Web服务描述语言,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应用程序,因为很多程序员已对DCOM或CORBA熟悉。它还支持Document-style应用程序(SOAP消息只包含XML文本信息)。Document-style应用程序有很好的灵活性,所以很多用RPC很难构建的Web Service用这种方式构建。
最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。这并不代表SOAP只能用HTTP来作为传输协议,MSMQ、SMTP、TCP/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消息和这些消息是怎样交换的。IDL(Interface Description Language,接口描述语言)是用于COM和CORBA的,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?
XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。在Web Service接口中,WSDL和UDDI目录文件都是一种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
相关推荐
在现代信息技术领域,Web Service接口开发扮演着至关重要的角色,它使得不同系统之间的数据交换和功能调用变得简单而高效。本文将深入探讨T100 Web Service接口开发的最新版本v1.5版,以及其在实际应用中的相关知识...
本篇文章将深入探讨如何使用XFire来开发Web Service接口,并提供一个初学者友好的教程。 一、XFire简介 XFire(后被集成到Apache CXF项目)是一款轻量级的Java Web服务框架,它提供了快速、简单的方式来创建符合WS-...
本实例将详细讲解如何使用Delphi创建Web Service接口以及在客户端进行调用。 1. **创建Web Service接口** 在Delphi中,我们可以使用内置的`WebBroker`组件来创建Web Service。首先,创建一个新的VCL Forms应用程序...
在本场景中,我们关注的是专门针对Web Service接口的测试工具。Web Service接口通常是基于SOAP(Simple Object Access Protocol)或者REST(Representational State Transfer)等协议,用于不同系统间的数据交换。 ...
Web Service 接口文档 Web Service 是一种基于网络的应用程序接口,它允许不同的系统和应用程序之间进行交互和数据交换。MyKoo Web Service(MKWS)是以 RESTful Web Service 形式提供的,MKWS 只用到了 2 种 HTTP ...
本篇文章将详细探讨几个常用Web Service接口的例子,以及它们在商业和贸易中的应用。 首先,股票行情数据WEB服务是一个非常实用的接口,尤其是对于金融领域的应用。它提供了香港、深圳、上海的股票、基金和债券的...
在本项目中,我们将深入探讨Web Service接口及其Java中的实现类,以理解其工作原理、创建过程以及如何在实际开发中应用。 首先,Web Service是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的协议,它允许不同平台...
在本项目中,我们主要探讨如何使用SpringBoot、MyBatis和CXF框架来开发Web Service接口,并且数据库选用MySQL。这是一个完整的后端服务开发流程,涵盖了从数据存储到服务暴露的所有关键步骤。 首先,SpringBoot是...
在这个“xfire开发Web Service接口第一个程序源代码”的资源中,我们将探讨如何利用Xfire来开发一个简单的Web服务。 首先,理解Web服务的基本概念是至关重要的。Web服务通常基于SOAP(Simple Object Access ...
本实例主要关注的是如何调用Web Service接口,我们将探讨相关的关键知识点。 首先,理解Web Service的基本概念非常重要。它通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web Services ...
本文将详细介绍如何在SAP系统中实现对Web Service接口的调用,并通过实际案例进行演示。 #### 二、SAP调用Web Service概述 SAP调用Web Service通常涉及以下几个步骤: 1. **创建WebService连接**:首先需要在SAP...
X省县级平台通用Web service接口.rar
在本文中,我们将深入探讨如何使用Cfx(Confluence)来创建Web服务接口,并结合提供的jar包和源码示例进行详细讲解。 Cfx,全称Apache CXF,是一个开源的Java框架,用于构建和开发SOAP和RESTful Web服务。它提供了...
SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。SoapUI...
2. **DBWS(Database Web Service)服务器**: 提供了访问数据库的能力,通过Web Service接口实现。 3. **中国股票Web服务**:此处提到的Web服务主要用于提供中国股票市场的相关信息。 #### 三、具体操作示例解析 ...
Axis2是Apache软件基金会开发的一款开源Web服务框架,主要用于生成和处理Web服务接口文件。它是一个高度可扩展且模块化的平台,支持多种协议,如SOAP、REST、HTTP、HTTPS等,使得开发人员能够轻松地创建和部署Web...
在VC++开发环境下,gSOAP作为调用Web Service接口的工具,极大地简化了开发者的工作。 gSOAP的核心功能包括: 1. **代码生成器**:gSOAP提供了一个强大的代码生成器,可以从WSDL(Web Services Description ...
#### Web Service 接口检测 为了确保T100 Web Service的正常运行,首先需要检查其接口是否处于正常状态。具体检查方法如下: 1. **检查 WebService 接口是否正常:** - 使用浏览器输入特定URL来检测Web Service...