`
wwty
  • 浏览: 542935 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

SOAP 体系结构

阅读更多
上篇文章(WSDL)已经说了:使用WSDL来理解一个web服务,当理解了之后,soap这个简单对象传输协议就开始负责整个通讯。

SOAP 体系结构
有了对 SOAP 和它的用途的基本理解,我现在就展开对其体系结构的讨论以了解一些深层知识。请参阅 图 1, 在此图里面您可以识别典型 SOAP 通信体系结构中的一些组件:
SOAP 客户机
SOAP 服务器
实际服务

图 1. 一个典型 SOAP 通信体系结构的组件

下面开始针对这张图上的实体进行分析说明:
1、SOAP 客户机
SOAP 客户机是一台有 SOAP 机制的机器,它可以产生 SOAP 请求并通过 HTTP 发送到服务器。一条 SOAP 请求是一种类型的 SOAP 消息,通常只有两种类型的 SOAP 消息:一条 SOAP 请求就是一台 SOAP 客户机发送给 SOAP 服务器的内容,一条 SOAP 响应就是 SOAP 服务器对 SOAP 客户机响应的内容。 清单 1是典型的 SOAP 请求,请参阅 清单 2来回顾 SOAP 响应。
清单 1:一条简单的 SOAP 请求
<SOAP-ENV:Envelope  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
   <SOAP-ENV:Body>
    <m:getListOfModels xmlns:m = "uri reference" >
    </m:getListOfModels>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


2、SOAP 服务器
SOAP 服务器也是一台有 SOAP 机制的机器,能够接收来自 SOAP 客户机的请求,并对之作出适当的响应。这些编过码的响应会返回发出请求的 SOAP 客户机。在 SOAP 服务器内部有三个实体:
服务管理器
被部署服务的列表
XML 转换程序

服务管理器负责根据请求管理服务。请参阅 清单 1 的服务请求,在这里元素 <m:getListOfModels xmlns:m="urn:MobilePhoneservice" > 包含了服务的名称。服务管理器会读取 SOAP 客户机想调用的 SOAP 服务的名称并检查所需的服务实际上是否驻留于这台 SOAP 服务器上。此后,它会查询被部署服务的列表(SOAP 服务器所托管的所有服务的列表)。若存在,服务管理器将把 SOAP 请求传送给 XML 转换程序。XML 转换程序就负责将 SOAP 请求的 XML 结构转换成程序员用来实现实际服务的编程语言(例如,Java 编程语言)的结构。还要负责将来自实际服务的响应转换回 SOAP 响应的 XML 结构。请参阅 清单 2获得 SOAP 响应的说明。
清单 2:一条简单的 SOAP 响应
<SOAP-ENV:Envelope  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
    <m:getListOfModelsResponse xmlns:m="urn:MobilePhoneservice">
        <Model>M1</Model>
        <Model>M2</Model>
        <Model>M3</Model>
    </m:getPriceResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


实际服务
图 1中标有 actual service的框就是实际服务驻留的位置。服务实现可以是:例如,COM 组件或 JavaBeans 组件的形式。XML 转换程序负责将 XML 结构转换成合适的方法调用。当 XML 转换程序调用了实际服务实现的某个方法时,这个方法就会完成它的工作并且将结果信息返回 XML 转换程序。

请看一看 图 1中连接 XML translator 和 actual service 的箭头。箭头的两端同在一个企业内,这意味着同一个组织控制着通信两端的接口。与穿过企业边界的在 SOAP 客户机和 SOAP 服务器之间的箭头相比,这正是 SOAP 的目的所在。

总结:
通过上面的理论,可以清楚的了解到当调用一个web服务时,soap协议的内部响应过程。另外,还有一点是非常重要的:
当 SOAP 客户机向 SOAP 服务器发送 SOAP 消息时,用 HTTP 协议传输。这就叫做 SOAP 与 HTTP 绑定。
当服务端根据用户请求返回请求结果时,又一次用 HTTP 绑定来传输 SOAP 响应。


最后关于soap与HTTP协议的绑定部分,参看以下:
http://www.ibm.com/developerworks/cn/webservices/ws-intwsdl/part2/
  • 大小: 46.4 KB
分享到:
评论

相关推荐

    J2EE体系结构图或三层结构图

    J2EE 体系结构图或三层结构图 J2EE 体系结构图是 Java 企业版(Java Enterprise Edition)的架构设计图,它描述了 J2EE 应用程序的逻辑结构和物理结构。J2EE 体系结构图可以分为三层结构图,即Presentation Layer、...

    软件体系结构(第2版)

    6. **Web服务体系结构**:详细阐述了基于Web服务的体系结构,包括SOAP、WSDL和UDDI等技术。 7. **基于体系结构的软件开发**:强调了在软件开发过程中如何自始至终考虑体系结构,以确保其符合系统需求。 8. **软件...

    软件体系结构ppt

    《软件体系结构》是计算机科学中的一个重要领域,它主要研究如何组织和设计大规模软件系统,以便于开发、维护和演化。这份名为“软件体系结构ppt”的资料,显然是一个本科教学资源,涵盖了软件体系结构的基本概念、...

    软件体系结构知识总结

    ### 软件体系结构知识总结 #### 一、软件工程基础 - **软件工程的三个要素**:软件工程的三大要素分别为方法、工具和过程。这三个方面共同构成了软件工程的基础,确保软件项目的高效和质量。 - **软件元素**:在...

    软件体系结构考试要点.doc

    本文档总结了软件体系结构考试的要点,涵盖了软件体系结构的基础概念、软件体系结构风格、软件体系结构描述语言、面向服务的体系结构、Web 服务、SOAP、WSDL、UDDI、软件体系结构分析方法、MVC 风格、Artifact-...

    软件体系结构构件

    【标题】:“软件体系结构构件”这一主题涵盖了软件开发中的核心概念,主要关注软件系统如何通过不同的组件或“构件”来组织和构建。在软件工程领域,软件体系结构是设计和构建大型复杂软件系统的基础,它定义了系统...

    详细讲解xml soap知识,让你了解面向服务的体系结构

    SOAP(Simple Object Access Protocol)则是基于XML的一种协议,主要用于在Web上交换结构化的和类型化的信息,是实现分布式计算的重要手段。 在Web服务的世界里,SOAP扮演着通信桥梁的角色。它定义了一种标准格式,...

    「软件体系结构考试参考试题」.pdf

    软件体系结构是构建大型软件系统的关键,它定义了软件组件的结构、交互方式以及它们的组织方式。在软件工程中,理解和掌握软件体系结构的概念、模式和描述语言至关重要。以下是一些重要的知识点: 1. **ADL ...

    Web服务体系结构论文

    Web服务体系结构论文主要探讨了在互联网环境中,如何构建和利用Web服务进行系统间的数据交换和协同工作。Web服务是基于开放标准的一种软件组件,能够通过网络进行交互,提供跨平台、跨应用程序的互操作性。 1. 引言...

    软件体系结构.pptx

    软件体系结构概述 软件体系结构是软件开发和设计的核心部分,它是软件系统的总体架构和设计原则。软件体系结构包含了软件系统的各个方面,包括软件的设计、开发、测试、维护和演进等。 在软件体系结构中,Web ...

    2010软件体系结构思考题

    软件体系结构是软件开发的核心,它定义了软件系统的高层次组织结构和交互方式。这个概念的引入是为了应对软件危机,即由于复杂性增加、成本上升和交付时间紧迫导致的诸多问题。通过对软件体系结构的研究,我们可以更...

    软件体系结构试卷.doc

    软件体系结构是构建大型复杂软件系统的关键组成部分,它定义了软件系统的高级结构和组织,以及组件间的关系。在本试卷中,我们探讨了几个关键概念和方法,它们构成了软件体系结构的基础。 首先,服务提供者、服务...

    软件体系结构期末考试主观题

    《软件体系结构》期末考试涉及了多个核心知识点,主要涵盖了软件体系结构的基本概念、Web服务栈、风险分析、评估方法、软件危机的理解、系统结构对比以及软件过程的变化。以下是详细解答: 1. 服务提供者、服务请求...

    软件体系结构复习参考.pdf

    本资源是软件体系结构领域的复习参考材料,涵盖了软件危机、软件重用、构件组装、构件、场景、软件体系结构、软件体系结构风格、服务模型、消息转换、C2 体系结构风格、COBRBA 接口池、DSSA 等关键概念。这些概念是...

    软件体系结构试题库(软件工程)试题和答案.pdf

    从给出的部分内容来看,文档似乎涉及了多个软件工程领域的专业术语和概念,它们与软件体系结构密切相关。以下是对这些知识点的详细解释: 1. C/S(客户端/服务器模型): 客户端/服务器(C/S)模型是一种计算模型,...

    网格体系结构概述网格体系结构概述

    本文深入探讨了网格体系结构的概念、重要性及三种主流的网格体系结构模型:五层沙漏结构、开放网格服务体系结构(OGSA)和Web服务资源框架(WSRF),并分析了网格的基本功能模块。 ### 网格体系结构的重要性 网格体系...

    ArcGIS Server体系结构和开发简介

    ### ArcGIS Server体系结构和开发简介 #### 一、ArcGIS Server概述 ArcGIS Server作为地理信息系统(GIS)领域的一款重要软件,旨在为企业提供高效、可靠的空间数据管理和地理信息服务。根据给定文件的部分内容,...

    软件标准体系结构期末考试资料.doc

    软件标准体系结构是软件开发中的核心概念,它定义了软件系统的高级构造和组织方式,以及这些构造元素之间的交互。在软件开发中,体系结构扮演着关键角色,它不仅影响着软件的质量、可维护性和可扩展性,还为设计决策...

    智能客户端体系结构与设计指南

    智能客户端体系结构是一种先进的软件开发模式,它将传统的桌面应用程序与现代网络技术相结合,提供更加丰富、高效且响应迅速的用户体验。智能客户端应用通常具备离线工作能力,同时也能利用网络进行数据同步和功能...

Global site tag (gtag.js) - Google Analytics