免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3938 | 回复: 0
打印 上一主题 下一主题

Web服务的关键技术之XML与SOAP技术 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-10 10:24 |只看该作者 |倒序浏览
很受启发的一篇文章哦
XML(eXtensibleMarkupLnaguage,可扩展标记语言)起源于SGML(Stnadard GenearzlideMkarPuLnauggae,标准通用标记语言),是w3C认可的文档标记标准。XML以人们易于理解的式描述业务数据,用于实现Intemet上机器与机器之间、系统与系统之间的通信。组成W亡b服务的相关技术基本上都是基于XML技术定义或是相互作用的。
    XML文档具有一个简单而且格式正规的层次树结构,每个文档都有一个而且只有一个根节点,该节点被称为文档实体或文档根,它是树中其他所有元素的父元素,并且它不可能被包含它其他任何元素当中。
    一个XML有三个组成部分:prolog,Body和Epilog。prolog(序言)包括XML声明,文档类型说明,注释,处理指令,空白等。Bdoy(主体)即文档元素,每个文档都仅有一个根元素,根元素可以包含任意多个子元素,元素可以嵌套。EPilgo(尾声)包含各混合项。
    XML数据的组成可以由以下方式(利用xML解剖器)进行定义和验证:
    .XMLI.O的语法,DTD(DoeumentTypeDefinition,文档类型定义)定义了标记的名称、数据结构(如字符串)、可允许的元素(如可重复的元素)。DTD列出了所有合法标记,并且指定文档在什么位置以及如何包含该标记,与DTD相匹配的文档称为有效的,否则称为无效的。DTD可以是单独的文档,或者是融合于XML文档中。在XML中,DTD是可选的。另一方面,由于DTD起源于SGML及其相应的文档或文件处理,所以在对数据类型的支持上存在很大的局限性。而XML的应用已经扩展到业务应用领域,数据类型对业务交易的数据验证非常重要。所以,W3C宣布将用XMLSchema(XML模式)来替代DTD。
    .XML名空间,XML名空间通过在XML元素和属性名称之前添加前缀,来达到区分具有相同名称的元素和属性的目的。XML名空间可以保证XML元素的唯一性,从而可以解决与对方交换XML文档是可能出现的命名冲突问题。名空间通常用U甩(UniofmrResouroedIentfiiers,统一资源标识符)表示,事实上任何唯一的字符串都能用来作为XML名空间。
    .XML模式,为了解决DTD的局限性,W3C创建了一种用于描述标记语言的新方法,即XML模式,,它是用于定义xML文档中数据结构的描述规则。它由两部分组成,一部分指定结构关系,另一部分则通过为每种元素制定某个数据类型,来指定用于验证XML元素内容的机制。 SOAP规范,SOAP(SimpleObjeetAecessprotocol,简单对象访问协议)是一个轻型的分布式计算协议,它允许在一个分散、分布式的环境中交换信息。SOAP规范定义了在分布式系统中传送消息的框架和支持远程过程调用和响应的惯例。但是,SOAP并没有详细说明消息的语义,其他规范利用50妙作为传输机制,可自行定义消息的语义。
    SOAP建立在开放式标准的顶部,它使用基于文本的XML协议与分布式系统通信,可以在HTTP,SMTP和JMS上进行传输。这些使得它既能易于被开发者领会,又能得到各种硬件、软件平台的支持。
    SOAp规范包括两部分:消息(messaging)和远程过程调用(Remoteprocedureeall,即C)封装。消息部分定义在分布式系统之间传输消息的消息框架,PRC部分定义了怎样把远程过程调用和响应嵌入到消息中。
    1.消息,SOAP消息是一个XML文档,它最多包含三个组成部分:SOAP封装(强制性的),SOAP标题(选择性的)和SOAP主体(强制性的),图.23.2.1表示了SOAP消息的组成。
    SOAP封装是一个SOAP消息的顶层元素,它包含了可选择的SOAP标题和一个必选的SOAP主体。在SOAP消息中,所有的元素都以SOAP一ENV命名空间标志符作为前缀,以保证SOAP元素不会与定义的其他元素互相冲突。SOAP标题是在SOAP消息中增加特性的一种常用的灵活的方法。在SOAP消息中,用50妙~ENV:Haeder元素来指定SOAP标题。50妙标题不是强制必须使用的,但是如果要用,必须紧接着放在SOAP封装元素之后。主体中包含有消息的接收者必须收到的有效载荷(信息)。典型的载荷是由一个即C调用、一个RPC响应或者错误报告组成。SOAP主体用<Body>元素来定义。如果有标题元素的话,则<Bde>y元素一定要紧跟在<Hedae>r元素之后。
    2.SOAPRPC,SOAPRPC使得SOAP能给Web服务提供一个协议层的抽象,这个抽象给远程系统提供了跨各种不兼容平台、操作系统和环境的对象访问。本质上就是利用SOAP将RPC封装,通过将SOAP消息绑定在底层传输协议(如HT’TP,SMTP等)上实现RPC的交换调用。最常用的是SOAP旧TTP绑定,RPC调用或响应自然会映射到对应的HTTP请求或响应上。无论SOAP是与哪种协议绑定,消息都可以通过消息路径来指定路线发送,消息路径机制使消息在到达最终目的地之前可以在一个或多个中间件上处理。这是一个非常有用、且极其适合分布式计算环境的一个机制。这样一种机制可以实现基于模块化服务设计基础的BZB商务流程实现,通过低藕合模块的统一集成获得良好的系统体系和功能实现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP