`
阅读更多

轉載自:http://space.itpub.net/22434610/viewspace-614821

一、概述
SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议。SOAP 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。

SOAP为在一个松散的、分布的环境中使用XML对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机制来表示应用语义。SOAP的这项能力使得它可被很多类型的系统用于从消息系统到RPC(Remote Procedure Call)的延伸。


SOAP由四部分组成:
1)SOAP envelop (SOAP信封),它构造定义了一个整体的表示框架,可用于表示在消息(message)中的是什么,谁应当处理它,以及这是可选的还是强制的。

2)SOAP encoding rules (SOAP编码规则),它定义了一个编序机制用于交换应用程序定义的数据类型的实例。

3)SOAP RPC representation (SOAP RPC表示),它定义了一个用于表示远端过程调用和响应的约定。

4)SOAP binding (SOAP绑定),它定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。

SOAP的主要设计目标是简明性和可扩展性。这就意味着有一些传统消息系统或分布式对象系统中的特性将不包含在SOAP的核心规范中。这些特性包括:


分布式垃圾收集;

批量消息传输/处理;

对象引用 (需要分布式垃圾收集的支持);

对象激活 (需要对象引用的支持)。


SOAP定义了一种消息交互机制,它描述了如何用XML对信息进行编码。通常,SOAP用于在运行时解释远程调用的参数值,并且使用特定的编码方式将这些值填充在XML文档中。然后,XML数据通过HTTP协议传输至远程服务器,当然有时也使用其他传输协议。除此之外,还有许多远程方法调用规范,例如,CORBA的 IIOP,DCOM的ORPC,以及Java的Remote Method Protocol。 SOAP的特点——也是最大的优点在于它是基于文本的(通过采用XML),而不是二进制,而且它不是某个制造商所特有的。、

SOAP使用通用的传输协议-----主要是HTTP。这不仅是SOAP的秘密武器,也是它成功的关键。由于公司的防火墙很少限制HTTP数据,(使用HTTP作为传输协议的)SOAP应该很容易通过防火墙。专用的分布式计算协议是不可能做到的。它们使用的网络地址通常不允许进入安装了防火墙的安全系统。  


  SOAP的另一优点在于XML。SOAP能够将以前无法通信和共享资源的系统集成在一起。目前,各种计算系统正逐渐支持XML。只要能够将XML文档传入系统,通常就可以找到用于读取和解释XML编码信息的
软件。为了支持远程计算,SOAP将方法调用参数保存为特有的二进制格式,并将这些参数作为XML信息传递到远程服务器,然后,服务器上相应的SOAP处理程序提 XML信息,并将它恢复为二进制形式进行处理。
 


二、分布式协议技术与SOAP关系
1、分布式协议技术CORBA、COM/DCOM/COM+和EJB
 
  
CORBA(Common Object Request Broker Architecture)公共对象请求代理体系结构是由OMG组织制订的一种标准的面向对象应用程序体系规范。由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成。其核心部分是对象请求代理ORB(Object Request Broker)。ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。分布的、可以互操作的对象可以利用ORB构造可以互操作的应用。ORB可看作是在对象之间建立客户/服务关系的一种中间件。基于ORB,客户可以透明的调用服务对象提供的方法,该服务对象可以与客户运行在同一台机器上,也可以运行在其他机器上通过网络与客户进行交互。ORB截取客户发送的请求,并负责在该软件总线上找到实现该请求的服务对象,然后完成参数、方法调用,并返回最终结果。CORBA 1.1 由对象
管理组织在 1991 年发布。定义了接口定义语言(IDL)和应用编程接口(API),从而通过实现对象请求代理(ORB)来激活客户/服务器的交互。CORBA 2.0 于 1994 年的 12 月发布定义了如何跨越不同的 ORB 提供者而进行通讯。

    CORBA规范的近期发展,增加了面向Internet的特性,服务质量控制和CORBA构件模型(CORBA Component Model)。Internet集成特性包括了针对IIOP传输的防火墙(Firewall)和可内部操作的定义了URL命名格式的命名服务(Naming Service)。服务质量控制包括能够具有质量控制的异步消息服务,一组针对嵌入系统的CORBA定义,一组关于实时CORBA与容错CORBA的请求方案。CORBA CCM(CORBA Component Model)技术,是在支持POA的CORBA规范(版本2.3以后)基础上,结合EJB当前规范的基础上发展起来的。

    COM/DCOM(Component Object Model / Distributed Component Object Model )是微软公司提出的分布式组件对象模型标准,支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。DCOM基于COM的应用程序、组件、工具等的基础之上,处理网络协议的低层次的细节问题,而不必关心太多的网络协议细节,从而使用户能够集中精力解决用户所要求的问题。DCOM位于应用程序的组件之间,将组件以不可见的方式胶合在一起组成具有完整功能的应用程序。COM+是随着Windows 2000的发布,Microsoft在COM的基础上针对应用层的需要而推出的一套组件框架技术。COM+不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现,COM+继承了COM几乎全部的优势,同时又避免了COM实现方面的一些不足。COM+紧紧地与操作系统结合起来,通过系统服务为应用程序提供全面的服务。COM+不仅继承了COM,DCOM和MTS的许多特性,同时也新增了一些服务,比如负载平衡、内存数据库、事件模型、队列服务等。COM+新增的服务为COM+应用提供了很强的功能,建立在COM+基础上的应用程序可以直接利用这些服务而获得良好的企业应用特性。

EJB(Enterprise JavaBeans)是Sun推出的基于Java的服务器端构件规范J2EE的一部分,自从J2EE推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。Sun EJB技术是在Java Bean本地构件基础上,发展的面向服务器端分布应用构件技术。EJB给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。从分布式计算的角度,EJB像CORBA一样,提供了分布式技术的基础。提供了对象之间的通讯手段。

EJB是用于开发安全、可扩展、事务型以及多用户组件的一种分布式组件模型。简单地讲,EJB是(理想的)包含业务逻辑的可重用软件单元。正如JSP网页允许把应用程序和表示逻辑分开,EJB允许把应用程序逻辑与系统级服务分开,这样开发者可以集中精力于具体业务问题,而不是系统编程。这些企业小程序(bean)业务对象具有三种基本形式,同样也没有必要三者都实现,它们分别是会话(session)bean、实体(entity)bean和消息驱动(message-driven)bean。 企业级JavaBean是一种以组件为基础的分布式计算环境的结构体系,企业Bean是分布式的面向交易处理的企业应用系统的组件。

分享到:
评论

相关推荐

    浅谈SoapWeb Service架构及其应用

    浅谈SoapWeb Service架构及其应用

    Jabber与SOAP协议Agent模型及其实现

    为解决其他应用系统与Jabber系统的通信问题, 讨论了Jabber协议与SOAP ( Simp le Object Access Pro2 tocol) 协议, 并对这两个协议进行了比较。提出一种Jabber协议与SOAP协议的代理模型, 并用Java语言实 现了...

    XML的特点及其应用

    XML简介 XML的历史 XML是什么 XML与HTML XML技术细节引路 XML文档 相关技术: SOAP, DTD, Schema, CSS, XSL, DOM, SAX, XML数据岛等 XML的特点及其应用 相关资源

    WebService技术及其应用实例论文

    其次介绍了WebService技术中的关键技术,其中包括可扩展性标记语言(XML)、简单对象访问协议(SOAP)、Web服务描述语言(WSDL)和统一描述、发现与集成(UDDI)注册中心。最后本文依据WebServices的技术原理、体系...

    Python中SOAP项目的介绍及其在web开发中的应用

    SOAP.py 客户机和服务器 SOAP.py 包含的是一些基本的东西。没有 Web 服务描述语言(Web Services Description Language,WSDL)或者任何其它附加的东西,只有用 Python 实现的 SOAP 客户机和服务器的透明支持。甚至...

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

    这样,只用一组简单的API就将用户从SOAP细节实现工作中解脱了出来,可以专注与应用程序逻辑的实现工作了。gSOAP编译器可以集成C/C++和Fortran代码(通过一个Fortran到C的接口),嵌入式系统,其他SOAP程序提供的实时...

    detergentex:Elixir绑定到用于调用WSDLSOAP Services的洗涤剂erlang库

    使用erlang洗涤剂库的SOAP Services的Elixir客户端。 用法 将去污剂及其erlang依赖项添加到您的部门: { :erlsom , github: " willemdj/erlsom " }, { :detergentex , " 0.0.5 " } 将:detergentex添加到mix.exs中...

    SOAP头部在身份验证中的应用 (2003年)

    介绍了Windows NT的Internet信息服务器(IIS)中提供的几种身份验证方法,并介绍了在利用SOAP和Web服务开发分布式应用过程中如何使用SOAP头部进行身份验证,给出了实现的方法及其步骤。

    论文研究-基于Web服务和信息检索技术的信息整合方案及其应用.pdf

    从国内企业信息管理存在的问题入手,针对数据分散,信息利用效率低下等问题,提出了基于XML网络服务和Office信息检索技术的一个解决方案,并结合微软员工信息系统(MEIS)的系统设计实例,介绍了如何利用网络服务和...

    Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务 - ImportNew1

    第二步:编写 WS 接口及其实现 第四步:部署应用并启动 Tomcat 第一步:配置 Maven 依赖 第二步:写一个 WS 接口及其实现

    使用 XML-RPC 为 C++ 应用程序启用 Web 服务

    Internet 现在的受欢迎程度越来越高,由于这个原因及其固有的优势,促使开发人员和 IT 部门开始着手将复杂的 C/C++ 业务和科学应用程序向基于 Web 的环境迁移。简单对象访问协议(Simple Object Access Protocol,...

    net学习笔记及其他代码应用

    30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。 答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。 31.公司要求开发一个继承System....

    Axis高级编程

    最简单的发布AXIS的Web Service 工程应用中的AXIS的发布方法Stub AXIS高级应用,使用Handler来增强Web服务的功能 ...AXIS高级应用,在AXIS服务间传递JavaBean及其安全解决 使用TCPMonitor监控WebService SOAP消息

    LDAP统一身份认证

    LDAP的研究及其在统一身份认证系统中的应用 LDAP的研究与在校园网统一身份认证中的应用 基于LDAP的统一身份认证的设计与实现 基于LDAP的统一身份认证系统的实现 基于LDAP的校园网统一身份认证系统设计 基于LDAP和...

    servestr:SOAP服务日志

    build.gradle使用Gradle shadowJar插件将应用程序及其所有依赖项组装到单个“胖” jar中。 制作“胖子罐” ./gradlew shadowJar 运行胖子罐: java -jar target/servestr-3.0.0-SNAPSHOT-fat.jar (您可以将...

    C#.Net的常见面试试题

    列举一下你所了解的XML技术及其应用 <br/>5.值类型和引用类型的区别?写出C#的样例代码。 <br/>6.ADO.net中常用的对象有哪些?分别描述一下。 <br/>7.如何理解委托? <br/>8.C#中的接口和类有什么...

    中美 IT 培训 C# Asp.net 笔记2

    详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS(Visual Source Safe)。讲授用户控件和第三方控件的开发和使用。学习HTML、XML、...

    中美 IT 培训 C# Asp.net 全套笔记1

    详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS(Visual Source Safe)。讲授用户控件和第三方控件的开发和使用。学习HTML、XML、...

Global site tag (gtag.js) - Google Analytics