1, 什么是 Web 服务?
Web 是使应用程序可以以与平台和编程语言无关的方式进行相互通信的一项技术。Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换的数据。一组以这种方式交互的 Web 服务在面向服务的体系结构(Service-Oriented Architecture,SOA)中定义了特殊的 Web 服务应用程序。
2, 什么是SOAP?
SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的轻量级协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。
SOAP包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例;SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
应用中比较关注的是envelop,由一个或多个Header和一个Body组成。
3, 什么是Axis?
Axis本质上就是一个SOAP引擎(Apache Axis is an implementation of the SOAP),提供创建服务器端、客户端和网关SOAP操作的基本框架。但Axis并不完全是一个SOAP引擎,它还包括:
是一个独立的SOAP服务器。
是一个嵌入Servlet引擎(例如Tomcat)的服务器。
支持WSDL。
提供转化WSDL为Java类的工具。
提供例子程序。
提供TCP/IP数据包监视工具。
4, Axis相比Soap v2的优点:
Axis是第三代Apache SOAP的实现,从2000年起,SOAP v2开发小组开始讨论如何让Axis更加灵活、可配置,以及能够处理SOAP和来自W3C的各种XML标准。通过不断地讨论和代码编写,Axis目前相比SOAP V2取得了如下成果:
速度提高。 Axis通过基于事件的SAX对XML文档进行处理,从而在速度和效率上比Apache SOAP有所提高。
灵活性提高。
稳定性提高。
提供面向组件的部署。
提供一个简洁的传输抽象框架。其核心引擎完全于传输方式独立。从而使基于何种协议传输的选择更加灵活。
支持WSDL。包括WSDL和客户端代码生成等。
5, 什么是WSDL?
WSDL(Web Service Description Language)Web服务器描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、MS等共同提出,通过WSDL,可描述Web服务的三个基本属性:
·服务做些什么——服务所提供的操作(方法)
·如何访问服务——和服务交互的数据格式以及必要协议
·服务位于何处——协议相关的地址,如URL
WSDL文档以端口集合的形式来描述Web服务,WSDL 服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。
6, 什么是WSDD?
WSDD就是WEB服务分布描述(Web Service Deployment Descriptor), 它定义了WEB服务的接口,如服务名、提供的方法、方法的参数等信息。
7, 什么是UDDI?
UDDI就是统一描述、发现和集成(Universal Description, Discovery, and Integration)。UDDI用于集中存放和查找WSDL描述文件,起着目录服务器的作用。
Web 服务中的角色、操作和构件:
服务提供者。从企业的角度看,这是服务的所有者。从体系结构的角度看,这是托管访问服务的平台。
服务请求者。从企业的角度看,这是要求满足特定功能的企业。从体系结构的角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。服务请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另外一个 Web 服务)来控制它。
服务注册中心。这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定信息(在服务描述中)。对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。同样,服务请求者可以从服务注册中心以外的其它来源得到服务描述,例如本地文件、FTP 站点、Web 站点、广告和服务发现(Advertisement and Discovery of Services,ADS)或发现 Web 服务(Discovery of Web Services,DISCO)。
8, AXIS的几种服务类型:
AXIS有四种service styles,分别是:RPC, Document, Wrapped, 和Message。最常用的就是RPC和Message。
RPC:在AXIS中是一个默认选项。当你部署的时候使用下列两种方式: 或则 ,它遵循SOAP RPC和编码规则。每个RPC都包括一个表示名称的外部接点和一些表示参数的内部接点。AXIS会根据规则将一个XML(WSDL文件)文件转化成一个JAVA对象,并对对想赋上在文件中描述的值。也可以根据规则将一个JAVA对象转化成XML文件。
Document
适合于老的XML schema。
Wrapped
和DOCUMENT一样,适合于老的XML schema。
在大多书情况下,你不许要担心是DOCUMENT服务还是WRAPPED服务。
Message
以这种方式部署的话,会使AXIS失去意义,它使你的代码真正的用XML形式,而不需要转化成JAVA对象。以这种方式部署的有以下四种服务方法:
public Element [] method(Element [] bodies);
public SOAPBodyElement [] method (SOAPBodyElement [] bodies);
public Document method(Document body);
public void method(SOAPEnvelope req, SOAPEnvelope resp);
几种服务类型的主要区别:
基于RPC(远程过程调用)方式,这也是Web服务最常用的方式。面向消息/文档的的类型跟RPC不同的是它提供了一个更底层的抽象,要求更多的编程工作。客户端可以传入任何的XML文档,得到的响应不一定是SOAPEnvelope,可以返回任何它所需要的东西,甚至不返回。虽然这对开发者来说非常的灵活,但是这种通讯类型在实际的应用中并不常见。面向消息/文档的Web服务主要适合于下面几种情况,比如批量处理,基于表单的数据导入,有需要返回非XML数据时,Web服务器实现中要求直接访问传输层等等
9、java类与wsdl相互生成工具:
Axis提供了”WSDL2Java”工具,可以利用wsdl描述来产生服务的Java代理和框架(proxy and skeletons)。
Axis提供了”Java2WSDL”工具,可以由java类生成wsdl文件。
分享到:
相关推荐
从给定的信息中,我们可以深入探讨几个关键的知识点,这些知识点不仅涵盖了J2EE Web Service的核心概念,还涉及了其在企业级应用中的作用以及与各种平台的互操作性。 ### J2EE Web Service的核心理念——互操作性 ...
在学习这个示例时,你应重点掌握以下几个核心概念: - WSDL:描述服务的接口和消息格式。 - SOAP:传输协议,用于封装数据并发送给服务端。 - UDDI(Universal Description, Discovery and Integration):服务发现...
Yahoo Web Service 2.11 是一个重要的API接口,它允许开发者利用Yahoo的在线资源和服务进行程序开发。这个版本可能是对之前版本的升级,可能包含了性能优化、新功能的添加以及已知问题的修复。在深入探讨之前,我们...
Web Service 的核心概念可以总结为以下几个方面: 1. **SOAP(Simple Object Access Protocol)**:SOAP 是 Web Service 的主体,它使用 XML 作为消息格式,通过 HTTP 或 SMTP 等网络协议进行通信。SOAP 消息描述了...
WSDL文档通常包含以下几个关键部分: 1. **Abstract Definitions (抽象定义)**:这部分定义了服务的抽象接口,包括数据类型、消息格式以及服务的操作。这些定义是与具体实现无关的,这意味着它们可以被不同的编程...
在 ASP.NET 中使用 C# 调用 Java Web Service 需要了解以下几个方面: 1. Web Service 的基本概念和特点。 2. 如何使用 C# 语言来调用 Java Web Service。 3. 如何在 ASP.NET 中实现 Web Service 的客户端和服务器...
本实例中,"Simple"可能是实现的一个简单Web服务示例,可能包括以下几个步骤: 1. **定义服务接口**:首先,我们需要定义一个服务接口,这通常是一个包含了特定操作(或方法)的类。这些操作将被Web服务客户端调用...
Web服务模型主要包括以下几个关键组件: 1. **SOAP(简单对象访问协议)**:SOAP是一种基于XML的消息交换协议,它定义了如何在不同的应用程序之间交换结构化和类型化的信息。SOAP消息通常封装在HTTP请求中,以实现...
在Delphi中创建Web服务的步骤通常包括以下几个关键知识点: 1. **理解Web服务基础**:首先,需要了解Web服务的基本概念,如SOAP、WSDL(Web Services Description Language)、UDDI(Universal Description, ...
论文标题"atl web service论文"暗示了这些文档可能涵盖了以下几个方面的内容: 1. **ATL Web Service基础**:介绍ATL Web Service的基本概念,包括如何使用ATL模板类来构建Web服务,以及如何通过IHttpServer接口...
服务端的实现通常会包含以下几个步骤: 1. 数据源准备:为了查询手机号归属地,服务需要连接到一个包含全国手机号码与归属地信息的数据源,这可能是数据库、CSV文件或其他数据存储。开发者需要根据实际的数据库结构...
【Web Service实例详解——Spring+Hibernate+Web Service】 ...通过这个实例,你可以学习到如何在实际项目中结合使用Spring、Hibernate和Web Service,掌握它们的核心概念和用法,为今后的开发工作打下坚实基础。
Java Web服务架构主要包括以下几个部分: - **服务提供者**:负责创建并发布Web服务。 - **服务请求者**:调用Web服务的客户端。 - **服务注册中心**:存储和管理服务描述的中心库,如UDDI注册中心。 - **服务描述*...
虽然“Web Service经典”这个概念本身可能更多地指向了一些经典的Web Service实现案例或是历史发展中的里程碑事件,但从更宽泛的角度来看,理解Web Service的基本概念、核心技术以及应用场景对于任何希望深入了解该...
学习Web Service文档,你需要掌握以下几个关键点: 1. Web Service的概念和目的。 2. SOAP协议的结构、语法规则及其在消息交换中的作用。 3. HTTP作为传输协议的角色。 4. WSDL的结构和作用,如何描述Web Service的...
在开发这个天气预报程序时,我们需要理解以下几个核心概念和技术: 1. **SOAP(Simple Object Access Protocol)**:SOAP是Web服务主要的数据交换协议,它定义了一种结构化消息格式,用于在不同平台之间传递信息。...
然而,随着Web Service技术的兴起,如何让PB这一传统开发工具与现代Web服务进行有效对接,成为了一个重要的课题。本文将详细探讨如何使用PB6.5版本来调用Web Service,虽然PB6.5版本相较于后续版本在某些功能上有所...
在深入理解SOAP之前,我们首先要明白Web服务的基本概念。Web服务是一种通过HTTP协议提供可被其他应用调用的接口,它以标准格式(如XML)来交换数据,使得不同系统间的集成变得简单。SOAP作为Web服务的核心通信协议,...
在这个话题中,我们可以深入探讨以下几个关键知识点: 1. **SOAP与RESTful Web服务**:Delphi支持创建两种主要类型的Web服务,即基于SOAP(简单对象访问协议)和REST(表述性状态转移)。SOAP是一种基于XML的协议,...
创建Web应用程序和服务涉及以下几个关键步骤: 1. **需求分析**:明确应用程序的功能需求,确定服务接口和数据格式。 2. **设计架构**:选择合适的开发框架,例如Spring Boot for Java或Django for Python。 3. **...