云计算基础技术与应用-11.Web服务.pptx
《云计算基础技术与应用-11.Web服务.pptx》由会员分享,可在线阅读,更多相关《云计算基础技术与应用-11.Web服务.pptx(103页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、回顾01 虚拟化概念02 虚拟化起源03 虚拟化的特征04 虚拟化技术分类Web服务第十一章目录01 Web服务的用户端和服务端02 三层架构03 Web服务相关知识04 实战项目PHP+MySQL+ Apache动态网站服务部署1. Web服务的用户端和服务端Web服务的用户端和服务端基于Web的服务开发具有简单易用的特点,Web技术通常被用作云计算服务的实现介质和管理接口。所谓Web,在互联网领域里指网页,可以表现为三种形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)等。Web技术指的是开发互联网应用的技术总称,一般包括Web服务端技术和We
2、b用户端技术。Web用户端Web用户端的主要任务是展现信息内容。Web用户端设计技术主要包括HTML语言、Java Applets、脚本程序、CSS、DHTML、插件技术以及VRML技术等。Web用户端(1)HTML语言:语言:HTML是Hypertext Markup Language(超文本标记语言)的缩写,它是构成Web页面的主要工具。Web用户端(2)Java Applets:即Java小应用程序。Java Applets使用Java语言创建小应用程序,浏览器可以将Java Applets从服务器下载到浏览器,在浏览器所在的计算机上运行。Java Applets可提供动画、音频和音乐等
3、多媒体服务。1996年,著名的Netscape浏览器在其2.0版本中率先提供了对Java Applets的支持,随后,Microsoft的IE3.0也在这一年开始支持Java技术。Java Applets使得Web页面从只能展现静态的文本或图像信息,发展到可以动态展现丰富多样的信息。动态Web页面不仅可以表现网页上午视觉展示方式的多样化,更重要的是它可以对网页中的内容进行控制与修改。Web用户端(3)脚本程序:)脚本程序:即嵌入在HTML文档中的程序。使用脚本程序可以创建动态页面,提高交互性。用于编写脚本程序的语言主要有JavaScript和VBScript。JavaScript由Netsca
4、pe公司开发,具有易使用、变量类型灵活和无须编译等特点。VBScript由Microsoft公司开发,与JavaScript一样,可用于设计交互的Web页面。虽然JavaScript和VBScript语言最初都是为创建用户端动态页面而设计,但它们都可以用于编写服务端脚本程序。用户端脚本与服务端脚本程序的区别在于执行的位置不同,前者在用户端计算机执行,而后者是在Web服务端计算机执行。Web用户端(4)CSS(Cascading Style Sheets):即级联样式表。通过在HTML文档中设立样式表,可以统一控制HTML中各标志显示属性。1996年底,W3C提出了CSS的建议标准,同年,IE3
5、.0引入了对CSS的支持。CSS大大提高了开发者对信息展现格式的控制能力,1997年的Netscape4.0不但支持CSS,而且增加了许多Netscape公司自定义的动态HTML标签,这些标签在CSS的基础上,让HTML页面中的各种要素的展现方式更加灵活。Web用户端(5)动态)动态HTML (Dynamic HTML,DHTML):1997年,Microsoft发布了IE4.0,并将动态HTML标签、CSS和动态对象(Dynamic Object Model)发展成为一套完整、实用、高效的用户端开发技术体系,Microsoft称其为DHTML。同样是实现HTML页面的动态效果,DHTML技术
6、无须启动Java虚拟机或其他脚本环境,就可以在浏览器的支持下,获得更好地展现效果和更高的执行效率。Web用户端(6)插件技术:)插件技术:这一技术大大丰富了浏览器的多媒体信息展示功能,常见的插件包括QuickTime、Realplayer、Media Player和Flash等。为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,1996年的Netscape2.0成功地引入了对QuickTime插件的支持,插件这种开发方式也迅速融入了Web技术。同年,在Windows平台上,Microsoft将COM和ActiveX技术运用到IE浏览器中,其推出的IE3.0正式支持在HTML页面中插入A
7、ctiveX控件,这为其他厂商扩展Web用户端的信息展现方式提供了便捷的途径。1999年,Realplayer插件先后在Netscape和IE浏览器中取得了成功,与此同时,Microsoft的媒体播放插件Media Player也被预装到了各种Windows版本之中。20世纪90年代初期,Jonathan Gay在FutureWave公司开发了一种名为Future Splash Animator的二维矢量动画展示工具,1996年,Macromedia公司收购了FutureWave,并将Jonathan Gayde的发明改名为我们熟悉的Flash。从此,Flash动画成了Web开发者一种常用的工
8、具。Web用户端(7)VRML技术:技术:Web已经由静态步入动态,并正在逐渐由二维走向三维,将用户带入五彩缤纷的虚拟现实世界。VRML是目前创建三维对象最重要的工具,它是一种基于文本的语言,并可运行于任何平台。Web用户端(8)HTTP2:HTTP2不再是纯文本协议,而是二进制协议,这样协议的解析也更简单,而传输也更快。HTTP2从Google的SPDY中借鉴了很多特性,重点改善了之前HTTP在网络环境下的性能。简单地来讲,HTTP2更快。先是来自于同一个domain的HTTP请求可以共享同一个TCP连接,这样可以很大程度上解决网络延时带来的性能问题。HTTP2的出现让之前的很多Web前端优
9、化技术可能不再需要。HTTP2还有其他一些特性,例如header压缩等。Firefox已经开始支持HTTP2,不少浏览器包括Chrome之前就支持SPDY。Web用户端(9)HTML5:HTML5的标准规范已经制定完成,并公开发布。HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas 标签。HTML5还提供了一些新的元素和属性,例如nav(网站导航块)和footer。这种标签将有利于搜索引擎的索引整理,同时更好的帮助小屏幕装置和视障人士使用。 HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括新的解析规则增强了
10、灵活性、一个HTML5文档到另一个文档间的拖放功能、离线编辑、多用途互联网邮件扩展(MIME)和协议处理程序注册、在SQL数据库中存储数据的通用标准(Web SQL)等。Web服务端与Web用户端技术从静态向动态的演进过程类似,Web服务端的开发技术也由静态向动态逐渐发展、完善起来。Web服务器技术主要包括服务器、CGI、PHP、ASP、ASP.NET、Servlet和JSP等技术。Web服务端(1)服务器技术:)服务器技术:主要指有关Web服务器构建的基本技术,包括服务器策略与结构设计、服务器软硬件的选择及其他有关服务器构建的问题。Web服务端(2)公共网关接口)公共网关接口(Common
11、Gateway Interface,CGI)技技术:术:最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器。CGI是第一种使服务器能根据运行时的具体情况,动态生成HTML页面的技术。1993年,NCSA(National Center Supercomputing Applications)提出CGI1.0的标准草案,之后分别在1995 年和1997年,制定了CGI1.1和1.2标准。CGI技术允许服务端的应用程序根据用户端的请求,动态生成HTML页面,这使用户端和服务端的动态信息交换成为可能。随着CGI技术的普及,聊天室、论坛、电子商务、信息查
12、询、全文检索等各式各样的Web应用蓬勃兴起,人们可以享受到信息检索、信息交换、信息处理等更为便捷的信息服务。Web服务端(3)PHP(原始为原始为Personal Home Page的缩写,已经正式更的缩写,已经正式更名为名为 PHP: Hypertext Preprocessor )技术:技术:1994年,Rasmus Lerdorf发明了专用于Web服务端编程的PHP语言。与以往的CGI程序不同,PHP语言将HTML代码和PHP指令合成为完整的服务端动态页面,Web应用的开发者可以用一种更加简便、快捷的方式实现动态Web功能。Web服务端(4)活动服务器页面)活动服务器页面 (Active
13、 Server Pages,ASP)技术:技术:1996年,Microsoft借鉴PHP的思想,在其Web服务器IIS 3.0中引入了ASP技术。ASP使用的脚本语言是VBScript和Javascript。借助Microsoft Visual Studio等开发工具在市场上的成功,ASP迅速成为Windows系统下Web服务端的主流开发技术。Web服务端(5)ASP.NET技术:技术:由于它使用C#语言代替ASP技术的JavaScripe脚本语言,用编译代替了逐句解释,提高了运行效率。ASP.NET是建立.NET Framework的公共语言运行库上的编程框架,可用于在服务器上生成功能强大的
14、Web应用程序,代替以前在Web网页中加入ASP脚本代码,使界面设计与程序设计以不同的文件分离,复用性和维护性得到提高,已经成为面向下一代企业级网络计算的Web平台,是对传统ASP技术的重大升级和更新。Web服务端(6)Servlet、JSP技术:技术:以Sun公司为首的Java阵营于1997和1998年分别推出了Servlet和JSP技术。JSP的组合让Java开发者同时拥有了类似CGI程序的集中处理功能和类似PHP的HTML嵌入功能,此外,Java的运行时编译技术也大大提高了Servlet和JSP的执行效率。Servlet和JSP被后来的JavaEE平台吸纳为核心技术。2.三层架构三层架构
15、三层架构(3-tier architecture)通常意义上是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。三层架构不是指物理上的三层,不是简单地放置三台计算机就是三层架构,也不仅仅有B/S应用才是三层架构,三层是指逻辑上的三层,即把这三个层放置到一台计算机上。区分层次的目的是利用了 “高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。三层架构三层架构三层架构的关键思想是在用户端与数据库之间加入了一个中间层,即业务逻辑层。3个
16、层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。三层架构的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,用户端不直接与数据库进行交互,而是通过COM/DCOM通信与中间层建立连接,再经由中间层与数据库进行交互。三层架构三层架构的具体定义如下:三层架构(1)界面层:)界面层:又称表示层,主要是指与用户交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据。界面层主要以Web方式表示,也可以表示成WINFORM方式,如果逻辑层足够强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。三层架构(2)业务逻辑层:)业务逻辑层:界面层和数据访问层之
17、间的桥梁,实现业务逻辑。业务逻辑具体包含验证、计算、业务规则等。业务逻辑层是系统架构中体现核心价值的部分,它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域逻辑有关。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与界面层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“透明”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可
18、抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于界面层而言,它却是被调用者。三层架构(3)数据访问层:)数据访问层:与数据库打交道,主要实现对数据的增、删、改、查,将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。数据访问层可以访问数据库系统、二进制文件、文本文档或是XML文档。用户的需求反映给界面层,界面层反映给业务逻辑层,业务逻辑层反映给数据访问层,数据访问层进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户。三层架构采用三层架构的优点在于以下几点:
19、三层架构(1)开发人员可以只关注整个结构中的其中某一层;(2)可以很容易地用新的实现来替换原有层次的实现;(3)结构清晰、耦合度低,可以降低层与层之间的依赖;(4)有利于标准化;(5)利于各层逻辑的复用;(6)结构更加的明确;(7)可维护性高,可扩展性高,极大地降低了维护成本和维护时间。三层架构采用三层架构的缺点在于以下几点:三层架构(1)降低了系统的性能:如果不采用分层式结构,很多业务可以直接访问数据库,获取相应的数据,如今却必须通过中间层来完成。(2)有时会导致级联的修改:这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑
20、层和数据访问层中都增加相应的代码。增加了开发成本。3. Web服务相关知识Web服务相关知识除了Web的用户端和服务端、Web的服务模式之外和三层架构之外,还有许多跟Web服务和技术相关的知识。包括统一资源标识符URL、HTML语言、HTTP协议、HTTPS协议、服务等级协议、服务质量QoS等。统一资源标示符URLInternet上的信息资源分布在各个Web站点,要找到所需信息就必须有一种确定信息资源位置的方法,这种方法就是统一资源定位符(Uniform Resource Locator,URL)。URL也被称为网页地址,是Internet上标准的资源的地址。它最初是由蒂姆伯纳斯李发明用来作为
21、万维网的地址,现在它已经被万维网联盟编制为Internet标准RFC1738。我们在浏览器的地址栏里输入的网站地址URL,通过HTTP或者HTTPS协议请求资源。浏览器将Web服务器上站点的网页代码提取出来,并翻译成网页。统一资源标示符URL一个完整的URL包括访问协议类型、主机地址、端口号、路径、参数、查询、信息片断。统一资源标示符URL(1)访问协议类型:)访问协议类型:指使用的传输协议。File代表资源是本地计算机上的文件,格式是file:/;ftp代表通过FTP访问资源,格式是FTP:/;gopher代表通过Gopher协议访问该资源;http代表通过HTTP访问该资源,格式是HTTP
22、:/;https代表通过安全的HTTPS访问该资源,格式是HTTPS:/;mailto代表资源为电子邮件地址,通过SMTP访问,格式是mailto:;MMS代表支持MMS(流媒体)协议播放该资源,格式是MMS:/;ed2k代表支持ed2k(专用下载链接)协议的P2P软件访问该资源;格式是ed2k:/;Flashget代表支持Flashget(专用下载链接)协议的P2P软件访问该资源,格式是Flashget:/;Thunder代表支持thunder(专用下载链接)协议的P2P软件访问该资源,格式是thunder:/;News代表通过NNTP访问该资源。统一资源标示符URL(2)主机地址:)主机地
23、址:指存放资源的服务器的主机名或IP地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:passwordhostname)。统一资源标示符URL(3)端口号:)端口号:整数,可选,省略时使用方案的默认端口,各种传输协议都有默认的端口号,如http的默认端口为80。如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。统一资源标示符URL(4)路径:)路径:由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。统一资源标示符URL(5)参数:)参
24、数:用于指定特殊参数的可选项。统一资源标示符URL(6)查询:)查询:可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。统一资源标示符URL(7)信息片断:)信息片断:字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。统一资源标示符URLURL可以实现转发,这是通过服务器的特殊设置,将访问当前域名的用户引导到指定的另一个网络地址。例如,URL转发可以让用户在访问http:/时,自动转向访问到一个指定的网址h
25、ttp:/,URL转发功能是万网提供的域名注册后的增值服务。HTML语言万维网上的一个超媒体文档称为页面(page)。作为一个组织或者个人在万维网上放置开始点的页面称为主页(Homepage)或首页,主页中通常包括有指向其他相关页面或其他节点的指针(超级链接),所谓超级链接是一种统一资源定位器URL指针,通过激活(单击)它,可使浏览器方便地获取新的网页。在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website或Site)。HTML语言超文本标记语言(Hyper Text Mark-up Language,HTML)是万维网的描述语言。设计 HTML语言的目的是为了能把存放在一台计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 基础 技术 应用 11. Web 服务
限制150内