登陆注册
19092800000022

第22章 标准(3)

对比XML与JSON。当Java Script发送或接收数据时,应该使用JSON代替XML。其原因是:当在Java Script中使用XML时,将不得不编写脚本或者使用库来处理DOM对象,提取所需要的数据。但是在JSON中,数据已经在对象中了,因此不必做额外的工作。这样减少了系统开销、CPU使用,以及不得不编写的代码量。

7.4.2XML

可扩展标记语言(Extensible Markup Language,XML)是一种编码文本和数据的标准的、自描述的方式,使得利用极少的人类交互即可访问内容,或者跨广泛类型的硬件、操作系统和应用程序交换内容。

XML提供了一种标准化方式,能以一种可以跨平台使用的格式表示文本和数据。它也可以用于广泛的开发工具和实用程序。

XML基础知识。XML非常类似于HTML(两者都基于SGML语言,它自1986年起就成为了标准),因此那些已知HTML的人会发现很易于学习XML。另一方面,它们两者之间也有两个重大的区别:(1)表单与内容的隔离。HTML使用标签定义文本的外观,而XML标签定义数据的结构和内容。单独的应用程序将由应用程序或关联的样式表指定。(2)XML是可扩展的。开发人员可以为特定的应用程序定义标签,而HTML的标签是由W3C定义的。

功能。XML数据库使用比对关系数据库系统要容易得多。关系数据库系统不能满足电子商务的所有需求,因为它们独立于环境处理数据。它们也不能处理胖数据,如音频、视频或嵌套的数据结构,在云环境中它们很常见。通常改进传统的数据库来处理XML,但是转换过程易出错且有许多开销,尤其是对于更大的事务速率和文档复杂性更是如此。而XML数据库使这个过程变得顺畅,因为它们以结构化的分层形式存储XML。可以快得多地解析查询,因为无须把XML数据树映射到关系数据库表。

XML的其他优点包括:(1)自描述数据。XML不需要关系模式、文件描述表、外部数据类型定义等。此外,HTML只能确保数据的正确表示,而XML还能保证数据是有用的。(2)数据库集成。XML文档可以包含任何类型的数据——从文本和数字到多媒体对象,再到像Java这样的活动格式。(3)如果要执行修改则无须重新编程。可以利用XSL样式表修改文档和Web站点,而不必对数据重新编程。(4)数据的单个服务器视图。XML极其适合云计算,因为散布在多个服务器上的数据看起来像是存储在单个服务器上一样。(5)开放和可扩展。XML的结构可以在需要时添加其他元素。可以随着业务改变轻松修改你的系统。(6)面向未来。W3C将XML批准为一种行业标准,并且受到所有领先的软件提供商的支持。它已经变成了像医疗卫生这样领域中的行业标准。(7)包含机器可读的环境信息。标签、属性和元素结构提供了解释内容含义的环境,从而提供了开发的可能性。(8)内容与表示。XML标签描述了对象的含义,而不是它的表示。也就是说,XML描述了文档的外观和感觉,而应用程序则按描述的那样表示它。

7.4.3Web服务

Web服务描述了如何将数据从云传输给客户。我们在前面已经提到过本节的内容,现在我们深入了解REST和SOAP的工作方式,以及它们哪一个最适合你的云需求。

表象化状态转变(Representational State Transfer,REST)是一种从Web站点中获取信息内容的方式,它是通过读取包含XML文件的指定Web页面实现的,该XML文件描述和包括了想要的内容。例如,云提供商可以使用REST提供更新过的预订信息。通常,提供商可以准备一个Web页面,其中包括代码中描述的内容和XML语句。用户只需知道XML文件所在的页面的统一资源定位器(Uniform Resource Locator,URL),利用Web浏览器读取它,使用XML信息理解内容,并适当地显示它。REST在功能上类似于简单对象访问协议(Simple Object Access Protocol,SOAP),但它更容易使用。SOAP需要编写或使用一个数据服务器程序和一个用户程序(以请求数据)。但是,SOAP提供了更多的能力。例如,你想要通过云提供聚合内容以预订Web站点,那些用户可能需要使用SOAP,它允许用户与服务器之间更好的程序交互。REST使用的发布方法与许多站点用于RDF站点摘要(RDF Site Summary,RSS)的方法相同。RSS使用资源描述框架(Resource Deion Framework,RDF),它是描述Web站点的标准方式。

资源。REST中的一个重要成分是资源的存在。资源是特定信息的来源,并且每种资源都由一个全球标识符(如HTTP中的URL)引用。为了操纵这些资源,网络组件通过一个标准接口(如HTTP)通信并且交换资源的表示(如传送信息的实际文档)。例如,一个三角形资源可以描述为三条边相等的等边三角形。它可能还在逗号分隔的列表中结合了连接的三个点。

好处。REST提供了以下好处:

(1)它提供了更好的响应时间并且减少了服务器负载,这是由于它支持表示的缓存。

(2)通过减小维护会话状态的需求而改进了服务器的可伸缩性。

(3)单个浏览器可以访问任何应用程序和任何资源,因此需要编写的客户端软件较少。

(4)无须单独的资源发现机制,这是由于在表示中使用了超链接。

(5)与RPC中相比,存在更好的长期兼容性和可演化性特征,这是由于:①文档(如HTML)经过演化而具有向前兼容性和向后兼容性的能力;②资源可以根据新内容类型的定义添加对它们的支持,而不会取消对旧内容类型的支持。

在云上使用REST的应用程序的好处是:REST允许用户标记特定的查询,并且允许通过电子邮件或即时消息把这些查询发送给其他人。进入应用程序的路径或入口点的“表示”变得非常具有可移植性。

简单对象访问协议(Simple Object Access ProtocoI,SOAP)是让在一种操作系统(如Windows Vista)中运行的程序通过使用HTTP和XML作为工具交换信息与在同一种或者另一种操作系统(如Linux)中的程序进行通信的方式。过程调用。通常,远程过程调用(Remote Procedure Call,RPC)使用在像DCOM或COBRA这样的对象之间,但是HTTP并不是用于此目的。RPC带来了一种兼容性问题,因为防火墙和代理服务器将阻塞这种类型的通信量。由于Web协议已经安装并且可供主流操作系统使用,HTTP和XML提供了一种简单的解决方案,用于解决在网络中的不同操作系统下运行的程序相互之间如何通信的问题。

SOAP准确描述了如何编码HTTP和XML文件,使得一台计算机上的程序可以调用另一台计算机上的程序,并给它传递信息。它还解释了被调用的程序如何返回响应。SOAP的优点之一是:程序调用更有可能穿过通常会遮挡对那些应用程序的请求的防火墙。

由于HTTP请求通常允许穿过防火墙,因此使用SOAP可以与任意位置的程序通信。

同类推荐
  • 三维动画审美谈

    三维动画审美谈

    数字时代,美的标准充满更多的不确定性。而三维动画以数字图像形式成为这个图时代的代表。三维动画及三维图像不仅仅是由于应用了仿真数字图像技术而带来的虚拟空间,还有更多的是由三维图像技术所引发或引导的被扩展的图像技术,这些技术无不应用在现代视觉设计领域的各个方面,并且,由此引起社会的追热,引起审美观念的改变。这些改变是在进行中的,变化中的,也是在发展中的。对于未知的美,我们做的只是追寻和记录,我们不知道以后的美将会是什么样,尽管我们苦苦追寻,孜孜探讨,同时也在默默审视。我们在追寻中享受美,在探讨中认知美,在审视中体验美……
  • EDA技术

    EDA技术

    根据课堂教学和实验操作的要求,以提高实际工程设计能力为目的,深入浅出地对EDA技术相关知识作了系统和完整的介绍,相关知识作了系统和完整的介绍。
  • 综合应用软件设计

    综合应用软件设计

    本书是为计算机、信息管理等相关专业高年级本科生在开设相关课程时所编写的一本教学参考书,它将全面指导学生学习、熟悉和运用当今被广泛采纳的一些主流技术去进行综合应用软件设计的有效实践。
  • Delphi程序设计教程

    Delphi程序设计教程

    本书为适应不同层次读者的需要,从Delphi的基本知识讲起,由浅入深,全面讲述了Delphi的集成开发环境、Delphi的编程语言——ObjectPascal、常用组件的使用、窗体的设计、菜单的设计、对话框的设计、多文档界面程序的设计、多媒体编程和数据库应用程序设计等内容。
热门推荐
  • 神刃传说

    神刃传说

    数万年前仙神留下的神兵为何在此,那强大的气息又是从何而来?数万年来为争夺十柄神兵有多少人埋没尘土之中,不知它们终将会被谁占有?被遗忘的凡夫俗子曾经是否想过,他们能否将其驾驭。难不成矗立在群峰之上的神兵只是供世人瞻仰?不,原来是这样,但现在变了。【感谢腾讯文学书评团提供书评支持】
  • 穿越之相如文君

    穿越之相如文君

    中国爱情故事“梁山伯与祝英台”,“白素贞与许仙”,“杨贵妃与唐玄宗”都为我们演绎了爱情的伟大,却都已悲剧结尾,而司马相如与卓文君与前三个并称中国古代四大爱情故事,他却以喜剧结尾,让我们一起走近这爱情,感受文君当垆相如涤器吧。
  • 神武西行记

    神武西行记

    盛唐之主李世明称可汗,大唐宝刹花生寺藏龙脉,玄奘西行取真经,十二门派战九黎,救世之神武之战!这是在大唐历史上的另一个“史实”与故事!用另一个角度看历史,给你一个新奇的世界!【开始节奏比较慢】
  • 英雄联盟之重生阔少

    英雄联盟之重生阔少

    他曾经是个王者,后来被人。。。咳咳咳,其实就是个王者重生了,成了富二代,然后嘿嘿。。。
  • 血染彼岸:腹黑三小姐

    血染彼岸:腹黑三小姐

    她是二十一世纪的杀手,不过眨眼,便杀人于无形,一朝穿越,成为软弱无能,饱受欺负的三小姐。疼爱她的爷爷归来,守护她的哥哥仍在,谁还敢再说她一句不是?乱棍打死!夫人?夫你妹啊,姐姐?妹妹?就知道欺负她是吧?好得很,好到该报复一下了!他,神出鬼没,意外救起濒死的她,被人小鬼大的她吸引。红衣妖娆,游戏,才刚刚开始……
  • 无双王妃:凤华天下

    无双王妃:凤华天下

    上一世错信他人,最爱自己的男人因此被夺兵权,终日颓废,自己也被赐毒酒而亡。重活一次,痴傻庶女指婚前世爱人,她立誓为自己为夫君重夺一切。虐嫡母、虐姐妹、重整将军府,前世今生欠自己的都要一一讨还。倾尽一切只为将新皇拉下马,自家夫君重夺万里河山。怎奈何夫君无情,贤妻又该如何重新抢回本就属于自己的那颗真心?
  • 校草之过路的她

    校草之过路的她

    本书恢复更新,全文免费。第一次被妈妈逼迫去相亲,照片上的对象居然是她的青梅竹马!第二天,她怀着忐忑不安的心去相亲,对象就被竹马调包!小时候的承诺就这样成空言了吗?那个小女孩她一直一直等你回来,虐文慎入。
  • 第二界位

    第二界位

    第二界位这个位面,三十万年来经历过三次不同修仙文明的碰撞,最终谁也没覆灭,而是走上了融合互补的道路。这次又到了十万年这个期限,整个世界都准备着第四个修仙文明的碰撞,却没想到这次等来的异兆,史上记载是万古大劫的征兆,世界进入末法时代。第四个文明依期而来,却不知道第二界位将要发生的事情努力的侵占这个世界,在双方打得不可开交第二界位的人急的直跳脚的时候,第一界位却浮现了出来……·林因为一个自称神的家伙而来到异界,降临在一个诡异的丛林中,迷离的异界之路开启。
  • 诛神记:狂傲天下女神

    诛神记:狂傲天下女神

    【完结】千年前的那次背叛,让她恨得牙痒痒地,看着他一步步堕入魔道,她有种恨钢不是铁的感觉。无奈,对方剔除神籍时说了句,根本没有爱过自己。那刚才还抱着自己哭,贱!狠狠甩了他几巴掌后,从此恩断义绝,心彻底死去。原本以为今生再不会相见,可谁知神族人的身体消失后,灵识还可以活这么长。是呀!自从被那小三暗算后,到现在已经过去几千年了,自己终于出“山”了!可变数却相继出现,那个贱男也现世了!还好自己有云成,抱着亲一个,气死贱男!
  • 门派之前世因果

    门派之前世因果

    魏凡本来是在城市跟收养自己的师傅周清扬一起卖煎饼果子,然而一次学校组织的郊游却发生了意外,师傅为自己不幸身死,魏凡的命运也因此而改变。