与云端软件部署

上传人:a**** 文档编号:47222565 上传时间:2018-07-01 格式:PDF 页数:59 大小:1.72MB
返回 下载 相关 举报
与云端软件部署_第1页
第1页 / 共59页
与云端软件部署_第2页
第2页 / 共59页
与云端软件部署_第3页
第3页 / 共59页
与云端软件部署_第4页
第4页 / 共59页
与云端软件部署_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《与云端软件部署》由会员分享,可在线阅读,更多相关《与云端软件部署(59页珍藏版)》请在金锄头文库上搜索。

1、软件工程王忠杰 2014年11月6日软件工程 第四章 软件架构设计 4-2 SaaS与云端软件部署4-2 SaaS与云端软件部署主要内容1 软件架构初探软件架构初探2 C/S、B/S、M/S3 主流软件形态:主流软件形态:SaaS4 SaaS的部署环境:云平台的部署环境:云平台软件工程1 软件架构初探:超越程序和代码C/S、B/S、M/C4-2 SaaS与云端软件部署软件架构 软件越来越复杂,组成部分越来越多软件越来越复杂,组成部分越来越多 多个源文件 多种类型的文件:用户界面、算法、数据层程序、配置文件、etc 不是单纯的代码,还涉及到所依赖的硬件和网络环境不是单纯的代码,还涉及到所依赖的硬

2、件和网络环境 物理位置:单机、服务器、手机端、可穿戴硬件、etc 网络支持:有线网络、3G/4G、WiFi等 多个软件实体之间如何组织起来?多个软件实体之间如何组织起来? 软件和硬件之间的关系如何?软件和硬件之间的关系如何? 此即此即“软件架构软件架构”(Software Architecture)所关注的内容。所关注的内容。4-2 SaaS与云端软件部署一个例子:客户端/服务器结构(C/S)输入数据输出数据请求按钮表示层业务处理开始SQL 请求结束SQL 请求开始业务处理结束数据存取请求业务处理程序业务处理请求和业务处 理所需的全部输入数据全部处理结束DBMS 执行SQL数据层业务处理开始数

3、据存取请求业务处理结束数据存取程序数据登录/更新/读取的 请求数据登录/更新/读取的 结果 软件实体之间的关系:软件实体之间的关系:4-2 SaaS与云端软件部署一个例子:客户端/服务器结构(C/S) 硬件和网络环境之间的关系:硬件和网络环境之间的关系:用户1用户2用户3用户4用户5Print ServerLink/RxLPT1LPT2COMPower/TXPWROKWIC0ACT/CH0ACT/CH1WIC0ACT/CH0ACT/CH1ETHACTCOL其他公用设备打印机调制解调器Internet Intranet数据库服务器软件工程2 C/S、B/S、M/C4-2 SaaS与云端软件部署“

4、客户机-服务器”体系结构 客户机客户机/服务器:服务器:一个应用系统被分为两个逻辑上分离的部分一个应用系统被分为两个逻辑上分离的部分,每一部 分充当不同的角色、完成不同的功能,多台计算机共同完成统一的任 务。,每一部 分充当不同的角色、完成不同的功能,多台计算机共同完成统一的任 务。 客户机(前端,front-end):业务逻辑、与服务器通讯的接口; 服务器(后端:back-end):与客户机通讯的接口、业务逻辑、数据管理。 一般的,一般的, 客户机为完成特定的工作向服务器发出请求; 服务器处理客户机的请求并返回结果。客户机服务器Data(数据)4-2 SaaS与云端软件部署客户机/服务器的层

5、次性 “客户机客户机-服务器服务器”结构的发展历程:结构的发展历程: 两层C/S 三层C/S 多层C/S客户界面数据库 服务器客户界面数据库 服务器业务逻辑 服务器客户界面数据库 服务器业务逻辑 服务器Web 服务器4-2 SaaS与云端软件部署用户1用户2.用户nInternet Intranet数据库服务器1数据库服务器2应用服务器.三层C/S体系结构 在客户端与数据库服务器之间增加了一个中间层在客户端与数据库服务器之间增加了一个中间层 第一层:用户界面表示层 第二层:业务逻辑功能层 第三层:数据库数据层4-2 SaaS与云端软件部署三层C/S结构输入数据输出数据请求按钮表示层业务处理开始

6、SQL 请求结束SQL 请求开始业务处理结束数据存取请求业务处理程序业务处理请求和 业务处理所需的 全部输入数据全部处理结束DBMS 执行SQL数据层业务处理开始数据存取请求业务处理结束数据存取程序数据登录/更新 /读取的请求数据登录/更新 /读取的结果功能层4-2 SaaS与云端软件部署B/S结构 浏览器浏览器/服务器服务器(B/S)是三层是三层C/S风格的一种实现方式。风格的一种实现方式。 表现层:浏览器 逻辑层: Web服务器 应用服务器 数据层:数据库服务器 B/S与三层与三层C/S结构的区别:结构的区别: C/S:表现层仍部署在客户端; B/S:客户端除了浏览器之外 无任何程序需要部

7、署。数 据 库 服 务 器数据库客户端 浏览器客户端 浏览器Web服务器4-2 SaaS与云端软件部署B/S结构4-2 SaaS与云端软件部署HTML 超文本标记语言超文本标记语言HyperText Markup Language (HTML) Web页面文档页面文档(Document) = Hierarchical collection of elements inline (headings, tables, lists.) embedded (images, JavaScript code.) forms: 用于向服务端提交数据 (text, radio/check buttons, d

8、ropdown menus.) 每个每个element具有特定的属性具有特定的属性(attributes)和内容和内容(content)4-2 SaaS与云端软件部署层叠样式表Cascading Style Sheets (CSS) CSS:将:将HTML文档中各文档中各elements的可视化显示样式与待显示的内容 分开,在单独的文档的可视化显示样式与待显示的内容 分开,在单独的文档(stylesheet)中加以定义,从而将页面设计师和开 发者的工作分开。中加以定义,从而将页面设计师和开 发者的工作分开。 ,在,在元素内定 义,用于指明该元素内定 义,用于指明该HTML页面使用哪个页面使用哪

9、个stylesheet; 在每个在每个HTML要素内,使用要素内,使用id和和class属性来指向属性来指向CSS中的相关定义:中的相关定义: id:页面范围内的唯一标识; class:一个class可用于页面内的多个要素;Im Rainy. I teach Software Engineering and do research in the ICES Lab of CS/HIT.4-2 SaaS与云端软件部署动态产生HTML内容 最初的大部分最初的大部分HTML页面都是静态的:直接从服务端获取,直接在页面都是静态的:直接从服务端获取,直接在 HTML中展示;中展示; 目前的目前的HTML:

10、其中大部分内容是动态产生的,根据用户请求,服务 端的程序执行之后产生内容,填充到:其中大部分内容是动态产生的,根据用户请求,服务 端的程序执行之后产生内容,填充到HTML中,交付浏览器展示;中,交付浏览器展示; 实现方式:在实现方式:在HTML中嵌入动态代码。中嵌入动态代码。 技术:技术:JavaScript、4-2 SaaS与云端软件部署网站=应用程序 How do you: “map” URI to correct program public String execute() throws Exception public void submit(String param1) 软件工程3

11、 SaaS的部署环境:云平台4-2 SaaS与云端软件部署用户的实际环境何谓“软件部署” 软件部署与实施软件部署与实施(Software Deployment & Implementation):将系统 设计方案与软件系统转换成实际运行系统的全过程。:将系统 设计方案与软件系统转换成实际运行系统的全过程。可交付的软件系统需求分析设计实现测试软件开发环境实际运行的软件系统4-2 SaaS与云端软件部署将SaaS部署到哪里? 三种选择:三种选择: 本机(主要用于开发环境) 自己搭建服务器(组织内部使用) 公共的服务器云4-2 SaaS与云端软件部署什么是Cloud? 这是一种新的计算方式和共享基础

12、架构的方法,这是一种新的计算方式和共享基础架构的方法,IT相关的计算能力被 作为相关的计算能力被 作为“服务服务”,通过,通过Internet向外部客户提供,但客户不需了解这些计算 能力的物理来源及其分布。向外部客户提供,但客户不需了解这些计算 能力的物理来源及其分布。 目标:使目标:使IT计算能力计算能力(存储和计算存储和计算)可以向电能一样提供给客户。可以向电能一样提供给客户。4-2 SaaS与云端软件部署Cloud所能提供的三种典型服务 IaaS (Infrastructure as a Service,基础架构即服务,基础架构即服务) 通过互联网提供了数据中心、基础架构硬件,可以提供服

13、务器、操作系统、 磁盘存储、数据库和/或信息资源。 Amazon EC2 Paas (Platform as a Service,平台即服务,平台即服务) 提供了软件基础架构,软件开发者可以在这个基础架构之上建设新的应用, 或者扩展已有的应用。 S的F、 Google的App Engine和微软的 Azure SaaS (Software as a Service,软件即服务,软件即服务) S、NetSuite、 Google的Gmail4-2 SaaS与云端软件部署基础设施即服务(IaaS) 简单的说,简单的说,IaaS可看作物理服务器可看作物理服务器(裸机,裸机,CPU+内存内存+磁盘磁盘

14、)的虚拟 化;的虚拟 化; 用户可在上面安装操作系统、运行环境、装载数据,再在上面部署应 用系统。用户可在上面安装操作系统、运行环境、装载数据,再在上面部署应 用系统。 代表:代表: Amazon EC2 Google Compute Engine (GCE) OpenStack VMWare Eucalyptus4-2 SaaS与云端软件部署平台即服务(PaaS) 在在IaaS基础上,有了完整的运行环境和基础服务支持基础上,有了完整的运行环境和基础服务支持(例如例如OS、DB、 应用服务器、 应用服务器、MVC、Message等等); 将中间件环境作为了服务,向用户提供;将中间件环境作为了服务,向用户提供; 按照平台要求将程序部署到上面去。按照平台要求将程序部署到上面去。 代表:代表: Google App Engine (GAE) Windows Azure Sina App Engine (SAE) Heroku4-2 SaaS与云端软件部署Google App Engine4-2 SaaS与云端软件部署SAE作为PaaS软件工程结束2014年11月6日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号