了解Web服务规范1SOAP

上传人:枫** 文档编号:500652196 上传时间:2023-01-31 格式:DOC 页数:37 大小:485.01KB
返回 下载 相关 举报
了解Web服务规范1SOAP_第1页
第1页 / 共37页
了解Web服务规范1SOAP_第2页
第2页 / 共37页
了解Web服务规范1SOAP_第3页
第3页 / 共37页
了解Web服务规范1SOAP_第4页
第4页 / 共37页
了解Web服务规范1SOAP_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《了解Web服务规范1SOAP》由会员分享,可在线阅读,更多相关《了解Web服务规范1SOAP(37页珍藏版)》请在金锄头文库上搜索。

1、了解 Web 服务规范: 第 1 部分:SOAP面向服务的体系结构(Service-Oriented Architectures,SOA)当前强调的重点在 Web 服务上,但很容易被所传播的各种信息搞得昏头转向。本系列教程将对主要 Web 服务规范进行全面说明,从简单对象访问协议(Simple Object Access Protocol,SOAP)一直介绍到 WS Business Process Execution Language (WS-BPEL)。本教程将介绍 Web 服务和 SOAP 基本概念,并说明如何构建 SOAP 服务器和客户机。开始之前本系列教程将说明构建一家假想的报社 D

2、aily Moon 的基于 Web 访问的工作流系统的详细步骤。主要针对的是希望了解有关 Web 服务的更多信息的开发人员,以便他们能更为高效地创建应用程序。非技术用户也可以从中获得一些好处,因为在讨论如何编程前对相关概念进行了解释。您应该具有基本编程知识,如果希望按照实际编程示例进行操作,还需要一定的 Java 知识。我们将讨论 XML(但没有必要对其进行深入讨论),并将涵盖任何必要的概念。关于本系列本系列教程以假想的报社 Daily Moon 为例,为了提高在竞争激烈的环境中的生产力,其员工将使用各种 Web 服务来创建工作流系统,我们将在此过程中讲述各个 Web 服务基本概念。 第 1

3、部分比较简单,将说明 Web 服务背后的基本概念,并演示如何使用 SOAP(以后要讨论的大部分内容的基础规范)来将 Classifieds Department 连接到内容管理系统。本系列以后的部分将以这些基本概念为基础: 第 2 部分进一步深入说明如何使用 Web 服务描述语言(Web Services Description Language,WSDL)定义 Web 服务预期产生的消息,从而使团队更方便地创建服务以及连接到服务的客户机。 在 第 3 部分中,团队希望准备一系列服务,并希望能方便地查找这些服务。与此对应,统一描述、发现和集成(Universal Description, Di

4、scovery and Integration,UDDI)提供了可用服务的可搜索注册中心,以便将自己的服务发布给其他人。 第 4 部分和第 5 部分讨论 WS-Security 和 WS-Policy,将详细说明如何保证该报社的服务的安全,以及团队为了访问这些刚提供了安全保护的服务需要进行哪些更改。 第 6 部分重点讨论的是互操作性,因为必须从单个系统访问来自几个不同实现的服务。第 6 部分讨论了在 WS-I 证书中涉及的要求和测试。 最后,第 7 部分演示了如何使用业务流程执行语言(Business Process Execution Language,WS-BPEL)来从各个服务创建复杂应

5、用程序。接下来让我们更为详细了解一下本教程中将讨论的内容。1 什么是 Web 服务?首先,让我们从总体上了解一下什么是 Web 服务,以及它们为何对软件开发重要。1.1 究竟为什么重要呢?如果您没有听说过有关面向服务的体系结构 (SOA) 和 Web 服务的大量信息,您就不会阅读本文,那么问题就应该是,为什么此内容这样重要?答案是,此内容之所以重要,是因为这是应用程序彼此进行通信的方式的典型变 化。SOAs 已经存在很长很长时间了。SOA 最初主要由中间件应用程序组成,至少进行连接的两端都属于同一种类型的中间件。另一方面,Web 服务由一组标准组成,用于在不需要特定类型的中间件、编程语言甚至操

6、作系统的前提下让各种不同的系统进行通信。接下来,让我们了解一下其发展的历程。1.2 传统应用程序首先从计算机发明开始,当时给人感觉非常不错。计算机能执行奇迹般的任务,可实现很多手动工作的自动化,包括复杂的计算、财务工作等等很多其他任务。但传统应用程序是“竖井”(Silo) 型的。人力资源应用程序无法与财务应用程序真正通信,而后者又无法和分布应用程序进行真正的通信。所有这些应用程序都有独立的领域,在独立的计算机上运 行,尽管很有用,但并不能很好地在彼此间共享数据。当时可以选择对批处理流程进行连接,以将数据从一个系统移动到另一个系统,但这并不适合进行实时集成。1.3 分布式计算在我们的进化链中的第

7、二步是分布式计算。分布式计算允许不同的应用程序彼此进行通信(即使位于不同的计算机上也是如此)。CORBA、MTS 和 Enterprise Java Bean (EJB) 等技术提供了包含各种类别的注册中心的系统,因此应用程序可以找到其希望与之进行交互的组件,然后像调用本地的组件一样调用这些组件。这些系统由可同时满足这两个要求的中间件(或更具体一些,面向消息的中间件)提供支持。现在能以特定的方式构建应用程序,即使位于不同的地理位置,也能访问其他系统上的资源。但仍然有一个问题。虽然系统可以自由地与系统内的任何对象进行通信,但仍然是一个封闭的系统。至少,客户机应用程序必须与服务器应用程序使用相同的

8、技术。另外,通常并不会将系统设计为从创建其的个体组织外进行访问。1.4 Web 服务此进化链中下一个几乎不可避免的链接点就是 Web 服务。“Web 服务”基于 XML 和 HTTP(大多数情况下),对很多人具有不同的含义,但在此处,我们要将 Web 服务作为系统间基于 SOAP 的消息交换进行讨论。这些消息由 XML 组成(XML 是一个基于文本的开放标准),可由来自任何应用程序(任何设计为接收此类消息的应用程序)的任何人进行访问。这就扩展了应用程序的范围,从而包含任何可通过网络对其进行访问的任何人。(如果这让您开始考虑安全问题,不要紧,您将在本系列的第 4 部分了解如何处理这方面的问题。)

9、基于 SOAP 的 Web 服务将要发送与清单 1 中所示类似的 XML 消息。清单 1. 基于 SOAP 的 Web 服务classifieds这些消息将从一个系统进入另一个系统(通常通过 HTTP)。接收系统对消息进行解释,进行应该进行从处理,然后发送另一个 SOAP 消息作为响应。这个系统很简单,正因为如此,有很多企业级计算方面的内容都尚未涉及。幸运的是,其中的很多方面已被纳入考虑范畴,且具有自己的相关规范来确定此事务应如何进行,以包含传统的面向消息的中间件的很多安全和其他方面的内容。1.5 其他类型的 Web 服务如果我没有说明 SOAP 并不是唯一的处理 Web 服务的方法,那就有些

10、失职了。有很多其他基于 XML 的方法用于在系统间发送信息,其中一些适用于企业环境,而另一些则不适合此用途。例如,Amazon 是为公众提供对其系统的 Web 服务访问的第一批基于 Web 服务的公司之一。Amazon 包含了一个基于 SOAP 的服务,但也提供了一个基于 Representational State Transfer (REST) 的服务。REST 是一种 Web 服务类型,其中,用户直接访问 URL,相应的响应是与清单 2 中所示类似的简单 XML 文档。清单 2. REST 响应classifiedsforsale30 ft ladder, only used once.

11、 Willing to let go for halfits worth. Has slight dent near the middle. Harder than ahuman head. $150 OBO.Vintage 1963 T-Bird. Less than 300 miles. Driven by mydaughter until I took it away. Serious inquires only.555-3264 after 7 PM.这些消息并没有特定的格式。可以为任何数据。另一种 Web 服务类型要使用 XML-RPC 之类的标准。在这种情况下,命令将通过与清单 3

12、 中所示类似的 XML 发送到系统。 清单 3. XML-RPCCMS.getNumberOfArticlesclassifiedsforsale其响应将采用类似的格式。在学习使用 SOAP 的过程中,您可以会打心底里认为 REST 和 XML-RPC 比基于 SOAP 的系统要简单得多。的确如此,在某些情况下 REST 和 XML-RPC 比 SOAP 系统简单。不过,我们讨论的不是在网站上显示天气的简单应用程序。我们此处讨论的是企业级应用程序,而企业级的应用程序需要企业级的属性,如安全、互操作 性等等。这些功能在有关基于 SOAP 的 Web 服务的其他规范中进行了定义,因而,从长期来看,

13、SOAP 更适合用于企业级应用程序。让我们了解一下这些规范。1.6 基本 Web 服务规范Web 服务规范通常归为两类:基本 Web 服务规范和扩展 Web 服务规范。基本规范有: SOAP:SOAP 规范是所有基于 SOAP 的 Web 服务的基础,详细说明了实际消息的格式。其中还详细说明了应用程序应如何对待消息的特定方面(如“Header”中的元素),从而可以创建特定类型的应用程序,使其中的消息在达到最终的目的地前在多个中间层之间进行传递。本教程将涵盖 SOAP 规范的内容。 WSDL:Web 服务描述语言是详细说明描述基于 SOAP 的 Web 服务的标准方式的规范,包括消息应采用的形式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号