高级软件工程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《高级软件工程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 软件工程 课件
- 资源描述:
-
1、高级软件工程高级软件工程 平台即服务平台即服务 2/119高级软件工程高级软件工程l第一部分:动因云计算l第二部分:平台即服务l第三部分:实例 平台即服务平台即服务 3/119高级软件工程高级软件工程 平台即服务平台即服务 4/119高级软件工程高级软件工程云复制和云粘贴云复制和云粘贴小张在实验室下载了电影按下Ctrl+C就回家了,晚上躺在床上按下Ctrl+V用笔记本继续观看,舍友小李惊呆了。小张淡淡的说:“这叫云复制,云粘贴。”平台即服务平台即服务 5/119高级软件工程高级软件工程 平台即服务平台即服务 6/119高级软件工程高级软件工程l云计算是近年来得到广泛关注和快速发展的一种新型的计
2、算方式l云计算借助互联网实现计算资源和信息的按需供给l云计算是一个发展中的概念,其中的很多定义和标准都在激烈的讨论中 平台即服务平台即服务 7/119高级软件工程高级软件工程l云计算的定义还在广泛而激烈的讨论中l不同组织对云计算有着不同的理解l核心观点基本一致,具体实现截然不同的各种云计算产品已经大量出现 平台即服务平台即服务 8/119高级软件工程高级软件工程lCloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems
3、software in the datacenters that provide those services.平台即服务平台即服务 9/119高级软件工程高级软件工程云计算是一种基于互联网的计算方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。云计算的资源是动态易扩展而且虚拟化的,终端用户不需要了解云中基础设施的细节,只关注自己需要什么样的资源以及如何得到相应的服务。平台即服务平台即服务 10/119高级软件工程高级软件工程云计算是一种计算形式,其基础是用公有或私有网络实现服务、软件及处理能力的交付。云计算本身也是一种实现基础设施共享的方式,云服务使用者看到的只有服务的本
4、身,而不用关心相关基础设施的具体实现。平台即服务平台即服务 11/119高级软件工程高级软件工程云计算是一个模型,这个模型可以方便地按需访问一个可配置的计算资源(例如,网络、服务器、存储设备、应用程序以及服务)的公共集。这些资源可以被迅速提供并发布,同时最小化管理成本或服务提供商的干涉。云模型由五个特征、三个服务模型和四个发布模型组成,如此使以上成为可能。平台即服务平台即服务 12/119高级软件工程高级软件工程l按需自助服务l随时随地的网络访问l资源共享l快速的可伸缩性l可度量的服务 平台即服务平台即服务 13/119高级软件工程高级软件工程服务模型:软件即服务(SaaS)平台即服务(Paa
5、S)架构即服务(IaaS)发布模型:私有云社区云公有云混合云 平台即服务平台即服务 14/119高级软件工程高级软件工程应用层对应SaaS:Google Apps、Salesforce ERP Apps平台层对应PaaS:Google App Engine、F基础设施层对应IaaS:Amazo Ec2、IBM Blue Cloud 平台即服务平台即服务 15/119高级软件工程高级软件工程基于虚拟化技术快速部署资源或获得服务实现动态的、可伸缩的扩展按需求提供资源、按使用量付费通过互联网提供、面向海量信息处理用户可以方便地参与形态灵活,聚散自如减少用户终端的处理负担降低用户对于IT专业知识的依赖
6、 平台即服务平台即服务 16/119高级软件工程高级软件工程l资源高度集中大量的硬件、大量的软件、大量的数据以在线形式向用户提供服务资源利用率高l用户使用方便接入简单(本地用最小化的设施,浏览器)数目处于不断变化之中要求服务质量高 平台即服务平台即服务 17/119高级软件工程高级软件工程 平台即服务平台即服务 18/119高级软件工程高级软件工程l云计算的三种基本服务模式lIaaS:Infrastructure as a Service,基础设施即服务。服务的提供者将计算机基础设施作为计量服务提供给用户。lPaaS:Platform as a Service,平台即服务。服务的提供者将软件应
7、用的开发环境、运行环境等作为计量服务提供给用户。lSaaS:Software as a Service,软件即服务。服务的提供者将应用软件部署在服务器上,用户根据需求通过互联网访问应用并获得服务。平台即服务平台即服务 19/119高级软件工程高级软件工程服务的提供者将IT设基础设施资源的利用作为服务提供给用户,这些资源通常包括处理器资源、存储资源、网络带宽等。用户可以在这些基础设施上部署和运行软件,包括操作系统和应用软件。Amazon的EC2是一个典型的IaaS,通过互联网访问,向用户提供按需计费的计算能力和存储空间。Amazon的AWS是一个新的IaaS,可以直接向用户提供基于VMware的
8、虚拟机,支持windows和Linux等操作系统。平台即服务平台即服务 20/119高级软件工程高级软件工程lIaaSInfrustructure as a Servicel向客户提供处理、存储、网络以及其他基础计算资源,客户可以在上运行任意软件,包括操作系统和应用程序。用户不管理或者控制底层的云基础架构,但是可以控制操作系统、存储、发布应用程序,以及可能限度的控制选择的网络组件(例如,防火墙)。平台即服务平台即服务 21/119高级软件工程高级软件工程l服务的提供者把应用程序的开发和运行环境作为一种服务提供给用户,用户在平台的基础上开发或者部署自己的应用程序,并借助平台的服务器通过互联网交付
9、给应用程序的最终用户。PaaS可以给企业或个人提供研发的中间件平台如数据库、应用服务器等资源。l典型的PaaS平台有GAE、F等。平台即服务平台即服务 22/119高级软件工程高级软件工程lPaaSPlatform as a Servicel客户使用云供应商支持的开发语言和工具,开发出应用程序,发布到云基础架构上。客户不管理或者控制底层的云基础架构,包括网络、服务器、操作系统或者存储设备,但是能控制发布应用程序和可能的应用程序运行环境配置。平台即服务平台即服务 23/119高级软件工程高级软件工程软件即服务是最普遍的一类服务模式。服务的提供者将软件应用部署在服务器上,通过互联网分发给最终用户。
10、用户往往不再为“拥有”软件支付费用,而是为“使用”软件支付费用。服务的提供者所服务的每一个个人或者组织被称之为“租户”,这种配置模式被称为多租户架构。服务的提供者的资源被虚拟地划分为多个部分,使得每个租户都可以利用定制的实例进行工作。对于最终用户来说,使用SaaS无需前期的服务器或者软件许可投资。对于应用的开发者来说,只需要为多个客户端维护一个应用。平台即服务平台即服务 24/119高级软件工程高级软件工程SaaSSoftware as a Service客户所使用的服务商提供的这些应用程序运行在云基础设施上。这些应用程序可以通过各种各样的客户端设备所访问,通过瘦客户端界面像WEB浏览器(例如
11、,基于WEB的电子邮件)。客户不管理或者控制底层的云基础架构,包括网络、服务器、操作系统、存储设备,甚至独立的应用程序机能,在可能异常的情况下,限制用户可配置的应用程序设置。平台即服务平台即服务 25/119高级软件工程高级软件工程l你已经在使用大量的云了网络搜索:google search电子邮件:gmail查病毒:自动更新病毒库 云输入:自动更新常用输入l你甚至可能已经有过“云开发”的经历了CVS、SVNIssue Tracker 平台即服务平台即服务 26/119高级软件工程高级软件工程l平台即服务技术概览l平台即服务的基础设施l平台运行的相关技术l服务支持的相关技术lPaaS上的服务
12、平台即服务平台即服务 27/119高级软件工程高级软件工程l平台即服务发展大事记 平台即服务平台即服务 28/119高级软件工程高级软件工程lPaaS上的角色约定PaaS ProviderPaaS ConsumerService Consumer(SaaS Consumer)平台即服务平台即服务 29/119高级软件工程高级软件工程 平台即服务平台即服务 30/119高级软件工程高级软件工程lPaaS上的服务概念约定应用PaaS-Consumer View应用服务SaaS-Consumer View应用服务实例PaaS-Provider View 平台即服务平台即服务 31/119高级软件工程
13、高级软件工程 平台即服务平台即服务 32/119高级软件工程高级软件工程lPaaS平台可以大体分为以下几个层次l平台的最底层是基础设施层,为平台本身以及部署在平台上的各种服务提供硬件支持l基础设施层的上层是PaaS平台层,PaaS平台的核心功能都在这一层实现,为部署在平台上的服务提供运行时环境的支持。l平台的最高层是应用层,平台自身定制的各种服务,以及服务提供者部署在平台上的各种服务都运行在这一层。平台即服务平台即服务 33/119高级软件工程高级软件工程 平台即服务平台即服务 34/119高级软件工程高级软件工程 Azure Services Platform 平台即服务平台即服务 35/1
14、19高级软件工程高级软件工程35 平台即服务平台即服务 36/119高级软件工程高级软件工程l平台即服务技术概览l平台即服务的基础设施l平台运行的相关技术l服务支持的相关技术lPaaS上的服务 平台即服务平台即服务 37/119高级软件工程高级软件工程l基础设施层是PaaS的硬件基础,为PaaS平台提供硬件和系统软件的支持,这一层又可以细分为以下几个层次:硬件设备层虚拟化层操作系统层 平台即服务平台即服务 38/119高级软件工程高级软件工程l硬件设备层是组成平台的硬件设备通俗地说,就是服务器机群。l硬件设备层的性能是平台性能的重要决定因素CPU内存外存储器大小和读写速率网络带宽l在大多数已经
15、公开的PaaS平台中,硬件设备层对平台上的应用是透明的主要原因是硬件虚拟化层的存在。l硬件设备层的硬件可以是同构的,也可以是异构的机架式服务器PC服务器小型机混搭机群 平台即服务平台即服务 39/119高级软件工程高级软件工程l隐藏硬件细节,实现抽象的硬件平台通俗的说就是用一台高性能计算机模拟多台中低性能的计算机l提高硬件资源的利用率l实现资源的隔离和较细粒度的管理l实现节点的快速复制、迁移l技术不断走向成熟vSphere(VMware)Citrix(Microsoft)XEN(OPEN SOURCE)平台即服务平台即服务 40/119高级软件工程高级软件工程l虚拟化层为平台模拟除了大量逻辑上
16、的计算机l逻辑计算机的运行仍然要借助操作系统l为了支持更多种类的服务,就必须为逻辑计算机安装种类丰富的操作系统WindowsLinux 平台即服务平台即服务 41/119高级软件工程高级软件工程l平台即服务技术概览l平台即服务的基础设施l平台运行的相关技术l服务支持的相关技术lPaaS上的服务 平台即服务平台即服务 42/119高级软件工程高级软件工程l平台运行支持的相关技术主要体现在PaaS的平台层,与服务的支持技术有所重叠。为了便于理解,本节先介绍平台层的基本情况,然后介绍平台运行支持的相关技术。整体分为以下几点:PaaS平台层简介平台交互信息控制平台运行控制平台用户身份认证平台路由Paa
17、S平台的中间件PaaS平台的数据库管理系统 平台即服务平台即服务 43/119高级软件工程高级软件工程l平台层为应用提供运行时环境(系统软件)系统类库中间件数据库l平台层为应用的运行提供基本服务服务的部署服务的负载控制服务信息的分析和推荐服务和平台的安全保障用户的身份认证 平台即服务平台即服务 44/119高级软件工程高级软件工程l统管平台层上各种信息的传递l实现的方式多种多样RPC(远程程序调用)客户端控制服务调用消息总线l信息的种类控制命令资源路径 平台即服务平台即服务 45/119高级软件工程高级软件工程 平台即服务平台即服务 46/119高级软件工程高级软件工程l管理员可以直接使用Wi
18、ndows Azure门户来管理程序门户提供了创建,删除项目,创建,删除,更新部署,等众多功能。此外还提供了Management API,让开发人员自行开发程序来管理他们的部署。今后还会将System Center与Windows Azure集成,从而可以使用同一套工具,同时管理企业内部的服务器,以及云端的资产。平台即服务平台即服务 47/119高级软件工程高级软件工程l屏蔽不同文件系统对应用的影响网盘FTPHadoopl提供平台相关文件的存储空间l提供应用相关文件的存储空间l控制应用的文件操作权限 平台即服务平台即服务 48/119高级软件工程高级软件工程四种存储服务Blob类似文件系统的存
19、储方式Table结构化的存储方式Queue先进先出的存储方式Drive使用标准的NTFS API读写文件 平台即服务平台即服务 49/119高级软件工程高级软件工程沙盒无法向文件系统写入只允许读取与该应用程序一起上传的“资源”文件。无法产生子进程或线程无法打开套接字或直接访问另一主机禁用不适用于 GAE的 java.lang.System 类的功能允许应用程序对自己的类进行完全、无限制的反射访问,无法对不属于自己的任何其他类进行反射,也无法使用 setAccessible()方法来避开这些限制 平台即服务平台即服务 50/119高级软件工程高级软件工程l平台运行参数的设置与调整l平台各模块运行
20、的控制与协调l平台运行管理的控制接口 平台即服务平台即服务 51/119高级软件工程高级软件工程l请求计时器请求处理程序对请求生成和返回响应的时间是有限的,通常约为 30 秒。达到限制时间后,请求处理程序将中断。lJava 运行时环境通过引发com.google.apphosting.api.DeadlineExceededException中断 servlet。l如果请求处理程序不捕获此异常,那么和所有未捕获的异常一样,运行时环境将向客户端返回 HTTP 500 服务器错误。平台即服务平台即服务 52/119高级软件工程高级软件工程负责系统中的所有状态改变保证所有的依赖可用将服务和应用绑定所
21、有影响用户、应用和服务的操作都由cloud controller来进行PushInstancescreate-service当应用被组装好以后,cloud controller负责将应用和一个DEA执行单元连接起来 平台即服务平台即服务 53/119高级软件工程高级软件工程l平台用户的身份认证l平台用户的权限分配部署在平台上的服务的使用者部署在平台上的服务的提供者l平台上服务的用户身份统一认证单点登录oAuth身份认证 平台即服务平台即服务 54/119高级软件工程高级软件工程l隔离平台内外网络环境l实现应用的弹性扩展l实现应用的负载平衡 平台即服务平台即服务 55/119高级软件工程高级软件
22、工程l路由负责接收外界的所有请求,并负责维护外网URL到内部服务实例的映射l除了对应用的请求,对所有的Cloud Foundry的API的请求(一般是由vmc和STS发出的)也会经过路由l路由同时也是一个负载均衡器,负责把请求平均的分发给一个给定应用的所有实例 平台即服务平台即服务 56/119高级软件工程高级软件工程l控制平台上的WEB服务器lWEB服务器的配置与部署l保证服务在运行时环境上的隔离性l两个层面的应用服务器管理平台核心服务所使用的应用服务器部署在平台上的服务所使用的应用服务器l服务管理的基本单位服务的部署服务的迁移服务的监测 平台即服务平台即服务 57/119高级软件工程高级软
23、件工程l控制平台上的数据库管理系统l保证应用在数据库上的隔离性l两个层面的数据库管理平台自身所需的数据库l平台的相关信息l用户的相关信息l服务的相关信息应用所需的数据库l权限分配l冲突配置的分析与排除 平台即服务平台即服务 58/119高级软件工程高级软件工程l部署在云端的关系型数据库引擎l绝大多数的管理工作都由微软为你完成,因此你不用担心任何诸如备份,集群,等管理方面的问题lSQL Server 2008 Management Studio R2(目前为CTP版本)针对SQL Azure也提供了很强大的支持 平台即服务平台即服务 59/119高级软件工程高级软件工程l平台即服务技术概览l平台
24、即服务的基础设施l平台运行的相关技术l服务支持的相关技术lPaaS上的服务 平台即服务平台即服务 60/119高级软件工程高级软件工程lPaaS平台层的重要功能是对服务进行支持,本节主要介绍平台层如何对服务整个生命周期提供支持。本节主要从以下几个方面展开讨论:服务的上传服务的部署服务的状态管理服务的运行时监测 平台即服务平台即服务 61/119高级软件工程高级软件工程l将应用的代码包装入服务器端的文件系统l检查并调整应用代码中与平台冲突的配置l利用静态分析技术检查代码中的缺陷 平台即服务平台即服务 62/119高级软件工程高级软件工程l帮助用户完成服务在平台上的上传客户端及IDE插件(GAE)
25、服务器端命令(Cloud Foundry)基于浏览器的部署(SASEP)l上传的方式一般上传方式增量上传方式支持Maven的上传方式 平台即服务平台即服务 63/119高级软件工程高级软件工程l常见的冲突配置数据库配置的冲突监听端口的冲突文件读写的冲突l调整方法重包装bean修改配置文件修改代码并重新编译 平台即服务平台即服务 64/119高级软件工程高级软件工程对服务的源代码进行全面的静态分析,并给出详细的分析报告,防止有缺陷的代码被部署到平台上,保护服务的公共运行环境代码违禁调用分析安全类缺陷分析代码低效调用分析资源泄漏分析 平台即服务平台即服务 65/119高级软件工程高级软件工程Saf
展开阅读全文