登陆注册
19092800000020

第20章 标准(1)

标准是使IT世界向前发展的因素之一,它们对云计算很重要。标准使得有可能连接到云,以及开发和递送内容。本章将探讨使得云计算成为可能的流行标准,还将探讨用于在云上开发应用程序的各类标准。

7.1应用程序

云应用程序是云用于消除在客户计算机上安装和运行需要的软件架构。有许多应用程序可以运行,但是在客户和云之间需要一种标准的连接方式。在本节中,我们将更详细地探讨用于管理这两方之间连接的协议。

7.1.1通信

计算机需要一种公共方式相互通信。可以把它看成是打电话,接听电话的人不会说外语,而你不会说他们的语言,从而无法实现共同的理解。你也许能够猜测这里或那里的某个单词的意思,但是一般而言,谈话将无法进行下去。计算机甚至不能猜测一个普通单词的意思,因此如果没有共同的语言,通信将不会发生。

超文本传输协议(Hypertext Transfer Protocol,HTTP)是为了从云提供商那里获得Web页面,你很可能会使用HTTP作为在云与你的系统之间传输数据的计算机制。HTTP是一种无状态协议,这是有益的,因为主机不需要在请求之间保留关于用户的信息,但是这迫使Web开发人员使用替代方法来维护用户的状态。例如,当主机需要为用户自定义Web站点的内容时,必须编写Web应用程序来跟踪用户从一个页面到另一个页面的行进过程。用于解决这个问题的最常用的方法是发送和接收cookie。HTTP是云与计算机用于通信的语言。而且这种语言也并不难理解。

可扩展消息和表示协议(Extensible Messaging and Presence Protocol,XMPP)被称为云计算的下一件大事。问题是当前的云服务——包括SOAP和其他基于HTTP的协议,全都是单向信息交换。这意味着云不会实时工作,并且在清除防火墙时可能有困难。XMPP允许双向通信,并且消除了轮询。

XMPP(也称为Jabber)与Apple、AOL、IBM和LiveJournal都签字认可的协议。但最大的问题是它不是HTTP。有一种思想是:任何新事物都需要基于现有的Web标准,虽然HTTP工作得很好,但它并不是完美无缺的,对于云计算尤其如此。XMPP被开发用于即时消息传递和表示,并且它广泛用于这些领域。它包括以下特性:(1)XMPP允许容易的双向通信,消除了轮询的需要。(2)它基于XML并且易于扩展,这使得它非常适合云服务。(3)它比较高效,并且能够伸缩到满足单个服务器上的数百万位并发的用户。XMPP将流行起来,但是希望云供应商能提早而不是延后实现这种转变。

7.1.2安全性

保障云会话的安全特别重要,因为安全性问题是企业不情愿加入云的最重要的原因之一。可以通过加密和身份验证来保障云会话的安全。Web加密的最流行的方法在每种浏览器上都具有标准。身份验证是另一件事,你可以自己选择多个选项。在本节中,我们将探讨用于加密的广泛使用的安全套接字层(Secure Sockets Layer,SSL)以及一种身份验证方式OpenID。

SSL是在Web服务器与浏览器之间建立加密链路的标准安全技术。这确保了在浏览器与Web服务器之间传递的数据将保持秘密状态。在Web服务器上创建SSL连接需要SSL证书。当云提供商开启一个SSL会话时,将提示他们完成关于其公司和Web站点的身份的许多问题。云提供商的计算机能生成两个密钥——一个公钥和一个私钥。公钥不需要是秘密的,存放在证书签名请求(Certificate Signing Request,CSR)文件中,这个文件包含你的详细信息,然后提交CSR。在SSL证书申请过程中,证书颁发机构将验证你的详细信息并发放SSL证书,其中包含你的详细信息,允许你使用SSL。云提供商随后把发放的SSL证书与你的私钥进行匹配。你的Web浏览器能够在你的计算机与云提供商之间建立加密的链路。这是相当简化的过程,并且在后台操作。你可能看到的唯一区别是:由于在幕后传递所有的证书,页面可能需要更长一点的加载时间。

通常,SSL证书会包含云提供商的域名、公司名称、地址、城市、州和国家。它还将包含证书的到期日期,以及负责发放证书的证书颁发机构的详细信息。当浏览器尝试安全地连接到云时,它将检索站点的SSL证书并检查它有没有到期,并且是由发放给它的Web站点使用的。它还会检查证书是否是由浏览器信任的颁发机构发放的。如果其中任何一项检查失败,浏览器会让用户知道SSL不会保障站点的安全。

OpenID是一种开源解决方案,针对的是需要唯一用户名和密码来访问不同Web站点的问题,从而使你的生活更简单。这允许你选择能够最好地满足你的需求和信任的OpenID提供商。此外,不论你转移到哪个提供商,OpenID都可以使你来去自由。最重要的是,OpenID是免费的。这非常适合于企业,因为它意味着密码和账户管理所需的成本较低。OpenID仍然处于采用阶段,随着一些重要的公司(如AOL、Microsoft、Sun和Novell)开始接受和提供OpenID,它正变得越来越流行。OpenID是开源社区的产品,用于解决现有技术不容易解决的问题。OpenID是对用户进行身份验证的轻量级方式,使用的技术与用于确定Web站点的技术相同。任何人都可以免费成为OpenID用户或提供者。

支付卡行业数据安全标准(Payment Card Industry Data Security Standards,PCI DSS)需求是一个用于许多方面的模糊领域,尤其是当它与云计算相关联时。该需求指出组织可以“在每台服务器上只实现一种主要功能”。但它不是一台物理(Physical)服务器。你可以具有多个虚拟化的系统,以及只需确保它们是分段的并且彼此隔离。

7.2客户

当你的客户连接到云时,他们需要在机器上运行某个软件,并且通常是Web浏览器,或者是类似装备的应用程序。Web浏览器使用许多方式存储和显示数据,比如广为人知的超文本标记语言(Hypertext Markup Language,HTML)。在本节中,我们将探讨存储和显示信息的不同方式。

7.2.1HTML

由于云计算在很大程度上基于WWW的连接,探讨用于传送数据的主要标准(HTML)就很重要。HTML处于持续不断的修订中,以改进其有用性和功能。W3C是负责设计和维护该语言的系统。当你点击Web页面中的一个链接时,就会以超链接的形式访问HTML代码,然后它会把你带到另一个页面。

(1)HTML的工作方式。HTML是你在文本文件中输入或者由Web页面设计软件创建的一系列短代码。这些短代码称为标签(tag)。然后,把这些文本保存为HTML文件,并通过像Internet Explorer或Mozilla Firefox这样的浏览器查看它。从浏览器读取文件,并把文本转换成你看到的形式。可以使用许多方法编写HTML,还可以利用简单的文本编辑器或者功能强大的图形编辑器。

(2)标签。标签是HTML代码中单独的正常文本。你很可能把它们看成<;尖括号>;之间的单词。标签允许像表格和图像这样的内容出现在Web页面中。不同的标签执行不同的功能。在通过浏览器查看页面时不会显示标签,但是它们会影响浏览器的行为。例如:

This text will appear in bold. But this text won"t.

在这个示例中,标签包围了一些文本,在通过普通的Web浏览器查看时,它们将显示为粗体。

(3)HTML中的层叠样式表。层叠样式表(Cascading Style Sheet,CSS)用于控制页面的表示方式,并使得页面更容易访问。基本的特殊效果和交互是由JavaScript提供的,并为基本的HTML添加了许多强大的能力。

7.2.2动态HTML

动态HTML(Dynamic HTML,DHTML)并不是HTML的新规范,而是一种查看和控制标准HTML代码和命令的不同方式。当常规的HTML页面加载时,在另一个请求到达服务器之前它不会改变。DHTML可以让你更多地控制HTML元素,无须返回到Web服务器即可改变它们。DHTML有4个部分:

(1)DOM(Document Object Model)允许你访问Web页面,并利用DHTML做出改变。DOM指定了Web页面的各个部分,并且提供了一致的命名约定,允许访问Web页面并改变它们的属性。

(2)脚本。DHTML中最常见的脚本语言是JavaScript和ActiveX。脚本用于控制DOM中指定的对象。

(3)DHTML中的层叠样式表。在DHTML中使用CSS控制Web页面的外观和感觉。样式表列出了文本的颜色和字体、背景颜色和图像,以及页面上对象的位置。使用脚本和DOM,可以改变多种元素的样式。

(4)DHTML Web页面实际上是用XHTML或HTML 4.x编写的。DHTML也用于构建CSS和DOM处理的元素。对于DHTML来说,XHTML并没有什么独特的地方。但是具有有效的XHTML很重要,因为还有更多的事情涉及它,而不仅仅只是浏览器。

DHTML具有4种主要特性:

(1)更改标签和属性;

(2)实时定位;

(3)动态字体;

(4)数据绑定。

更改标签和属性。DHTML最常见更改标签和属性的应用之一是:根据浏览器外部的某个事件(如鼠标单击、某个时间等)更改HTML标签的性质。可以使用它在页面上预先加载信息,但是在用户点击特定的链接之前不会显示它。

实时定位。实时定位允许对象、图像和文本在Web页面上四处移动。通常用于交互式游戏,但是你可能基于系统的需求会把这种特性编进云页面中。

动态字体。只有Netscape提供了动态字体特性。Netscape开发了它,以避免设计师因为不知道阅读者的系统上将使用哪些字体而引发的问题。字体与页面一起编码和下载,使得页面总是看起来像设计师所预期的那样。

数据绑定。只有Internet Explorer提供了数据绑定特性。Microsoft开发了该特性,允许更容易地访问数据库和Web站点。它类似于使用CGI访问数据库,但是要使用一个ActiveX控件执行操作。

7.2.3JavaScript

基本的HTML只能做基本的事情。当你使用JavaScript编写嵌入在HTML页面中的函数并且与DOM交互时,你就开始添加了活力和特定用户输入的数据,它们增加了Web页面的功能。我们列举一些使用JavaScript的示例:(1)打开或弹出新窗口,并且控制窗口的大小和属性(是否包括菜单、工具栏等)。(2)验证Web表单的输入值,确保在把它们提交给服务器之前是可接受的。(3)当光标悬停在图像上时改变图像。

JavaScript是一种用于客户端Web开发的脚本语言。JavaScript受到许多语言的影响,并且设计得看上去像Java,但是非程序员更容易使用。尽管JavaScript最适合用在Web站点中,但是它也用于支持对嵌入在其他应用程序中的对象进行脚本式访问。

虽然JavaScript与Java的名称相似,但是JavaScript与Java程序设计语言几乎没有任何关系,尽管它们都使用公共的C语法,并且JavaScript使用了许多Java名称和命名约定。对于Java程序员,JavaScript看起来像是Java程序设计语言的“轻型”版本。JavaScript这个名称来源于Sun与Netscape之间的市场营销协议,作为交换,Netscape在它当时占主导地位的浏览器上捆绑Sun的Java Runtime。

JavaScript在本地运行在用户的浏览器上,而不是在服务器上,因此它会快速响应用户的动作。此外,JavaScript代码可以检测用户的动作,比如感知各个击键动作,而HTML则不能做到这些。

JavaScript最常见的宿主环境是Web浏览器。Web浏览器使用公共API创建宿主对象,它们负责将DOM反射进JavaScript中。JavaScript Web服务器将存放表示HTTP请求和响应的宿主对象,然后JavaScript程序可以操纵数据动态生成Web页面。

同类推荐
  • 组态软件控制技术

    组态软件控制技术

    监控组态软件是完成数据采集与过程控制的专用软件,它以计算机为基本工具,为实施数据采集、过程监控、生产控制提供了基础平台和开发环境。本书从应用角度出发,详细介绍了组态软件应用程序的开发过程。对窗口界面编辑、动画链接、实时和历史趋势、安全机制、I/O设备连接,以及生产应用等内容都做了非常详细的介绍。MCGS是优秀的监控组态软件之一,它功能强大、使用方便,可以非常容易地实现监视、控制、管理的各项功能,并可提供软、硬件的全部接口,方便、快速地进行系统集成,构成不同需求的数据采集与监控系统。本书可作为高等学校计算机应用、自动控制、电子技术、机电技术专业的教材,同时还可作为相关专业工程技术人员的自学用书。
  • 中文版AutoCAD2005建筑绘图精讲精学

    中文版AutoCAD2005建筑绘图精讲精学

    本书从中文版AutoCAD2005建筑绘图的基础进行介绍,讲解了建筑绘图的环境设置、二维建筑图形的绘制、二维建筑及装饰图形的编辑、建筑绘图中的文字标注和图形查询、建筑装潢平面图中的尺寸标注、建筑绘图中图块的应用、建筑平面图的绘制、建筑立面图的绘制、建筑剖面图的绘制、建筑绘图中的三维造型、三维建筑模型绘制及建筑图纸的布局与打印输出等内容。
  • 体感交互技术

    体感交互技术

    本书提出了体感计算的研究,探讨了基于体验性认知的个性化电子学习方式,并且分析了面向儿童的艺术创造体验,在体感虚拟化身的帮助下,用户可以通过身体运动,促进情感心智的全面发展,
  • Delphi程序设计教程

    Delphi程序设计教程

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

    创业在微软

    身处软件巨擘微软之中,何来“创业”二字?本书详尽勾勒了微软亚洲工程院(ATC)的成长历程,披露了工程院人在“创业”过程中不为人知的种种酸甜苦辣,生动展现了工程院的独特文化,并从另一个角度展现了其领袖人物张宏江博士的心路历程和管理思想。
热门推荐
  • 宗门玄鉴图

    宗门玄鉴图

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 我的老婆是妖精

    我的老婆是妖精

    练武成神,修道成仙,道武双修,长生不灭?人有神魂念头,而人的念头就是七情六欲,修道修的就是七情六欲?泡极品美女,打装b分子,练绝世武功,修无上道术,我将翻手为云覆手为雨!千年蛇精尸解重生来报恩,看叶景轩如何从一个小小流氓变成纵横天下的流氓之神!
  • 蛇王索妃

    蛇王索妃

    别人是穿越,她却是莫名其妙地跟着考古队到了埃及的某个地方,来到了一个怪异的族群。那个美的像妖精一样的男人说他是蛇王,而且还动不动就亲她两下。她叫玄菲,不是叫玄妃,也不是他的妃子,拜托,她明明是没有兴趣好不好?亲了她,说味道还可以;把她全身上下吃个精光,竟然还是一句“味道还不错”,他究竟把她当成什么了?更可恶的是,他的后宫明明已经有了那些个狐狸精、蜘蛛精,竟然还来个凤凰精,哼,她又不是没人要,非得只挑他一个。糾葛千年的愛情,洗去了所有人的記憶。
  • 决战朝鲜

    决战朝鲜

    没打过仗,没杀过人,但是当他在命运的安排下回到朝鲜战场的时侯,却成了一名杀手!他冷酷无情,他手法老道,他机智过人……在生活中,杀手是罪犯;但是在战场上,杀手却是英雄!※※※※※※※※※※※※※※※※本书以真实的朝鲜战场为背景,带各位书友一同游历志愿军战士走过的那血与火的援朝之路,希望各位书友能喜欢!※※※※※※※※※※※※※※※※
  • 修仙伏妖志

    修仙伏妖志

    天下之大,无以究其极,若仅仅以人的视角来看,就会有“鲲之大,不知其几千里也”的感叹,然而世界之大,与我们并没有太大的关系,人们好奇的是生命是否亦如那星空,能恒古永存?大千世界,数以万记的生灵,都在不断追寻,奋力在长生的道路上向前行进。修仙,不仅仅是人的向往,也是妖、神的极致追求!
  • 剑舞飞花

    剑舞飞花

    花开千年,花落千年,身为剑中皇者,这片宇宙至尊的他触碰到了亿万年的阴谋,不甘成为棋子的他奋起而上,为求突破桎梏,以剑皇之魂轮回转世......
  • hello恶魔校草

    hello恶魔校草

    17岁的方筱筱终于考上了梦寐以求的圣音高中,本想踏踏实实的考上大学。不料,第一天便惹上了尚恩熙这个恶魔第一次见面,夺走了她的初吻第二次见面,他就缠上她了尚恩熙本以为她只是他解闷的玩具,可是当她被陷害,被人欺负,还因为发高烧而进手术室的时候,他才发现这个女孩在不知不觉中已经霸占了他的一整个心……
  • 彼岸花之暗夜

    彼岸花之暗夜

    这是一个关于亦正亦邪的杀手,当她遇到他时,她是救赎,还是堕落?(看丁墨美人为馅的小说后,有感而发,想给变态杀手一个美好的爱情,所以突发奇想,写了这个文,第一次写,请大家多包容,多支持!谢谢!!)
  • 强宠王妃

    强宠王妃

    她为幽怨而生,为复仇而活。前世的背叛和伤害,宿命轮回,命运弄人,再次重蹈覆辙。权倾朝野的王爷一度为保护心爱之女,让她受尽折磨。她命为棋子,一入侯门深似海。怨恨,不甘,宿命纠结,心灰意冷再次让整盘命定的棋盘,扭转乾坤。置之死地而后生,最终注定为死棋的她再次掀起十六年的血雨腥风。
  • 重甲

    重甲

    天才陌路,巫明被人陷害,一个机甲天才患上了肌肉萎缩症,并被家族驱逐。意外中,他却得到了来自洪荒的《剑毒》传承,展开了自己的逆袭之路。