Web Service 简介

最近使用ODI的工具箱中的ODIInvokeWebService。因此简单了解下WebService的理论知识。

一、Web Service 简介

Web Service就是可编程的URL,使用标准的Internet协议(比如HTTP或 XML)远程可调用的应用程序组件。

二、为什么使用 Web Service?

本质:以标准化的方式实现企业内外各个不同服务系统之间的互调或者集成。

Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。

Web Service减少了应用接口的花费。为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

三、Web Service的3个要素

  • SOAP (简易对象访问协议)
  • UDDI (通用描述、发现及整合)
  • WSDL (Web Service 描述语言)

假如服务A要远程调用服务B上的服务

1、服务B要用一种标准化的语言 (WSDL)告诉服务A能提供什么样的服务,以及如何调用它的服务,它的服务在那里,这称为Web Service的服务描述 (what、how、where)

2、服务A要以一种标准化的通信消息格式(SOAP)告诉服务B, 它想调用什么服务并加入相应的输入参数等,当服务B完成服务后,会同样以标准化的通信方式告诉A相应的服务结果,这是Web Service的服务消息的 request和response。

3、服务B要注册到相应的公共网址,以便外部能找到,是URL部分。(UDDI)

3.1、SOAP

什么是 SOAP?HTTP + XML = SOAP

SOAP采用了已经广泛使用的两个协议:HTTP 和XML标准通用标记语言下的一个子集)。HTTP用于实现 SOAP 的RPC 风格的传输, 而XML 是它的编码模式。

  • SOAP 指简易对象访问协议
  • SOAP 是一种通信协议
  • SOAP 用于应用程序之间的通信
  • SOAP 是一种用于发送消息的格式
  • SOAP 被设计用来通过因特网进行通信
  • SOAP 独立于平台
  • SOAP 独立于语言
  • SOAP 基于 XML
  • SOAP 很简单并可扩展
  • SOAP 允许您绕过防火墙
  • SOAP 将被作为 W3C 标准来发展
Why SOAP?

对于应用程序开发来说,使程序之间进行因特网通信是很重要的。

目前的应用程序通过使用远程过程调用(RPC)在对象之间进行通信,但是 HTTP 不是为此设计的。RPC 会产生兼容性以及安全问题;防火墙和代理服务器通常会阻止此类流量。

通过 HTTP 在应用程序间通信是更好的方法,因为 HTTP 得到了所有的因特网浏览器及服务器的支持。SOAP 就是被创造出来完成这个任务的。

SOAP 提供了一种标准的方法,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以互相进行通信。

SOAP 消息的基本结构

一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

  • 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
  • 可选的 Header 元素,包含头部信息
  • 必需的 Body 元素,包含所有的调用和响应信息
  • 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Header>
...
</soap:Header>

<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>

</soap:Envelope>

可以使用 SoapUI 或在ODI ODIInvokeWebService属性 XML请求 选项查看生成的soap请求消息

一个 SOAP 实例

WSDL(网络服务描述语言,Web Service Description Language)是一门基于 XML 的语言,用于描述 Web Service 以及如何对它们进行访问。

3.2.1 WSDL 文档结构

      一个基本的WSDL文档包含7个重要的元素:

  • Types - 数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。
  • Message - 通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。
  • Operation - 对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求/响应消息对。
  • PortType - 对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。
  • Binding - 特定端口类型的具体协议和数据格式规范的绑定。
  • Port - 定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。
  • Service- 相关服务访问点的集合。

WSDL types

types元素定义 Web Service 使用的数据类型。为了最大程度的平台中立性,WSDL 使用 XML Schema 语法定义在文档中的其他位置使用的复杂数据类型与元素;

WSDL import

import元素类似于XML模式文档中的import元素,用于从其他WSDL文档中导入WSDL定义;

WSDL message

message元素使用在WSDL文档的type元素中定义或在import元素引用的外部WSDL文档中定义的XML模式的内置类型、复杂类型或元素描述了消息的有效负载;<message> 元素定义一个操作的数据元素。每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。

WSDL Bindings

Binding元素将portType元素和operation元素赋给一个特殊的协议和编码样式;<binding> 元素为每个端口定义消息格式和协议细节。

WSDL Service

service元素负责将Internet地址赋给一个具体的绑定;

WSDL Operation

Operation - 对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求/响应消息对。operation元素使用一个或者多个message类型来定义他的输入和输出的有效负载;类似于java接口中定义的方法声明

WSDL portType

<portType>它可描述一个 Web Service、可被执行的操作,以及相关的消息。portType元素和operation元素描述了Web服务的接口并定义了他的方法。可以把该portType比作传统编程语言中的一个函数库(或一个模块、或一个类),而把每个操作比作传统编程语言中的一个函数。

WSDL 例子

3.3、UUID

UDDI,英文为 "Universal Description, Discovery and Integration",可译为“通用描述、发现与集成服务”。

UDDI是一种目录服务,企业可以使用它对 Web Service 进行注册和搜索。

UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

参考文档

WSDL 详解详细介绍了WSDL的结构,并附了例子

Web 服务编程,REST 与 SOAP

可供测试的在线webservice

时间: 2024-08-09 02:09:24

Web Service 简介的相关文章

SAP Web Service简介与配置方法

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt } h1 { margin-top: 17.0000pt; margin-bottom: 16.5000pt; margin-left: 0.0000pt; text-indent: 21.0000pt; page-break-after: avoid; text-al

Web Service简介

1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap:(Simple Object A

Web Service简介(一)

这篇博文,我们对Web Service进行一个简单的介绍和认识,作为Web Service的入门.在学习之前,你需要对HTML和XML有基本的了解,Web Service并不是什么难,而且非常的简单. 什么是Web Service? Web service是应用程序组件,可以被其他应用程序使用,不是框架,甚至不是一种技术, 而只是一种跨平台.跨语言的规范. 为什么要用Web Service? 几年前,Web Service并不流行.由于所有主要的平台均可通过Web浏览器访问web,不同的平台可以

Web Service简介(一)(转)

这篇博文,我们对Web Service进行一个简单的介绍和认识,作为Web Service的入门.在学习之前,你需要对HTML和XML有基本的了解,Web Service并不难,而且非常的简单. 什么是Web Service? Web service是应用程序组件,可以被其他应用程序使用,不是框架,甚至不是一种技术, 而只是一种跨平台.跨语言的规范. 为什么要用Web Service? 几年前,Web Service并不流行.由于所有主要的平台均可通过Web浏览器访问web,不同的平台可以借助W

Web Service简介(RESTful Web Services 第一章笔记)

什么是Web Service 它是一种基于HTTP协议的服务,用户通过发送HTTP请求服务器上的数据,服务器也会把数据放在HTTP响应中返回给请求者. Web Service请求主要由两个部分组成,一是方法信息,二是作用域信息,它们做为区分Web Service的关键因素 方法信息 方法信息用来说明要对数据采用什么样的操作,比如是创建还是删除,是更新还是获取.具体来说有两种方式: 一是把方法信息放在HTTP方法中,这种服务方式是RESTful的:例如用HTTP的GET表示获取数据,DELETE表

Web API 2 (一)之Web Service简介

Web Service 是什么? Web Service 也叫作XML Web Service,是一种网络化的,分布式的软件系统,通常通过Http交付,可以跨编程语言和操作系统进行远程调用操作,通常情况下,Web Service包括服务本身和客户端,后者也被称为消费者或请求者,可以通过网络访问部署在服务器提供的某种服务(通过调用Web服务对外公开的访问接口).其可以是网页浏览器,一个桌面应用,更甚至是一个没有图形界面的应用程序 图 1.1 一个Web 服务和它的一个客户端 根据定义,Web服务和

Android Web Service学习总结(一)

最近学习android平台调用webWebService,学习了一篇不错的博客(http://blog.csdn.net/lyq8479/article/details/6428288),可惜是2011年时的方法,而不适合现在android4.0之后的android版本,所以通过一番学习和研究,总结如下. web Service简介 通俗的理解:通过使用WebService,我们能够像调用本地方法一样去调用远程服务器上的方法.我们并不需要关心远程的那个方法是Java写的,还是PHP或C#写的:我

Web Service 学习

一.Web Service简介 1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap:(S

Web Service Adapter简介:

Web Service Adapter简介: 业务集成中常用的适配器有3种 1.Database Sql Adapter 2.Data Table Adapter 3.Web Service Adapter 前面两个都是写sql的 而Web Service Adapter是专门针对WebServices的 Url:WebServices的url的地址 UserName:安全认证的用户名 Password:安全认证的密码 Domain:安全认证的域 一般来说配置好url就可以了 Url的写法:ht