chapter绪论应用软结构PPT课件.ppt_第1页
chapter绪论应用软结构PPT课件.ppt_第2页
chapter绪论应用软结构PPT课件.ppt_第3页
chapter绪论应用软结构PPT课件.ppt_第4页
chapter绪论应用软结构PPT课件.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web开发技术NewTechnologyforApplicationSoftware第一章绪论 应用软件的结构 北京邮电大学计算机学院袁燕妮yuanyanni1 大四选修 32学时 4 19周 周一下午7 8节先修课程 算法与数据结构 数据库系统原理 软件工程具备面向对象程序设计基础知识 熟悉JAVA面向专业 计算机科学与技术 网络工程 智能科学与技术课程教学目的 了解并掌握计算机应用软件的多层体系结构及特点 了解中间件的概念和技术 了解并掌握XML技术 Web应用软件JEE轻量级开发模式及技术 了解并掌握某些开源软件开发框架等 能够利用所学的理论知识解决实际问题 培养学生动手实践能力 课程介绍 2 考核方式提交技术报告 成绩评定 成绩采用百分制平时考勤10 作业30 期末成绩60 教学重点 难点重点 软件多层开发模式及技术 开源框架难点 基于开源软件框架的应用软件开发参考书不限 课程介绍 3 作业技术分析报告 至少4000字 4页 小四宋体 60分从行业应用角度出发 提交Web应用解决方案及应用实现新技术分析报告从某项Web应用开发新技术出发 提交技术应用现状及前景分析报告 并总结技术特点 优点 缺点 关键技术实践程序代码 两个 XML模式设计 10分JEE轻量级架构实践 20分本课程主要掌握基于Web的应用软件开发技术 课程介绍 4 技术分析报告选题 Mashup技术AJAX技术业务流程管理开发技术 JBPM4等LAMP开源技术框架HTML5RIA技术Struct2 Spring3云计算对Web应用开发技术的影响移动互联网对Web应用开发技术的影响 5 课程内容安排 6 课件下载及作业提交 ftp地址 ftp web09 web09 59 64 156 79作业提交方式 提交作业名称 学号 姓名 N docN表示提交作业的次数 1 2 3同学只能上传文件不能删除修改文件可以在文件名后加后缀cancel表示无效 统一清理请勿抄袭 作业雷同抄袭者一律0分注重提高独立学习能力 7 课件下载及作业提交 课件也可从教室讲台电脑中Copyftp服务器不好用时 作业可以发邮件给助教 并抄送给我助教联系方式姓名 于成丽电话箱 azurasky 8 本章内容 应用软件概述软件体系结构基本概念C S结构及特点B S结构及特点多层分布式应用软件结构小节 9 软件分类 系统软件着眼于系统资源的管理 包括硬资源和软资源 主要目的是使得用户可以高效 公平 友好地使用资源 要求 运行效率高 占用资源省 抽象程度好 支撑软件着眼于向软件开发人员提供开发支持 以提高开发效率 保证开发质量 要求 配套 跨平台 适应性强 应用软件解决特定的应用问题 要求 方便 领域知识和模型完整 正确 10 1 应用软件概述 应用软件 泛指那些专门用于解决各种具体应用问题的软件 按照应用软件的开发方式和适用范围 应用软件可再分为 通用应用软件定制应用软件 11 主要通用应用软件类别和功能 12 定制应用软件是按照不同领域用户的特定应用要求而专门设计的软件 如某超市的销售管理和市场预测系统等 此类软件专用性强 运行效率高 但设计和开发成本相对较高 主要是分布在各大行业中的业务支撑信息化系统 定制应用软件 13 14 行业应用领域 行业应用软件 9E工程 金融 电信 保险 电力 邮政 有线电视 E Government电子政务E DefenceE 国防 E CultureE 文化E LearningE 教育E ScienceE 科研E HealthE 健康Infostructure信息基础设施 E ManufactureE 制造E Business电子商务 常见的应用系统 客户关系管理系统 CRM 企业资源管理系统 ERP 企业人力管理系统 HR 学校学生教务管理系统客服系统 CSM 计费系统 Billing 结算 Settlement 系统门户系统 Portal 知识管理系统 KMS 网络运维管理系统 NMS 渠道管理系统 PMS 数据仓库 数据挖掘系统 EDW DM BI 15 15年前的计算环境 回顾过去15年 随着CPU频率的不断提高以及PC和LAN的发展 把计算资源从大型主机带到了客户端两层 三层的C S从90年代开始成为了开发者所面对的经典计算模式 16 10年前开发者 Lotus1 2 3sybaseWordperfect PC DOS Windows Server UNIX NT C C CobolVisualBASICPowerBuilderOOOLE COMNetwareTCP IP 开发人员面对的计算平台 开发人员主要需要掌握的工具 一些典型的企业应用 17 今天的计算环境 PDA CellPhone LocalUsers Firewall Firewall Internet AccessGateway AdvancedAccessControlserver File PrintingServers Web AppServers OtherServers E mailServers IPPBX GameConsole HomePC MediaCenter CorporateLaptop 如今 随着CPU计算能力的进一步提高以及Internet的发展 计算资源从客户端推向了互联网 并且向更多的领域渗透 C S B S RIA等构成了如今开发者所要面对的复杂计算模式 18 今天的开发者 CRM ERPCollaborativeContentManagement PCServer大规模集群多核CPU虚拟化平台移动终端GPU物联网云计算 SOAXMLrubyOOC C C NetJavaSaaS多线程并行计算分布式SOAPRESTRIAMashupTCP IPHadoop虚拟技术 VT 开发人员面对的计算平台 开发人员主要需要掌握的工具 一些典型的企业应用 19 软件开发新技术 20 中国开发者关注的技术热点 移动设备 嵌入式开发云计算 物联网Web开发数据库中间件Java相关技术 NET相关技术开放源代码 Linux项目管理 新兴经济的发展热点 传统主流技术热点 薄弱环节 21 Web应用占到Java应用总数的50 以上 但它正受到来自像ruby等轻量级开发语言的威胁传统大型企业应用在相当一段时间内 Java仍然是企业首要的选择 开源Java开发工具一统天下格局已定 开发技术选择 Java 22 Net开发平台方面因为版本兼容性问题仍然有相当比例的企业没有选择升级到最新版本Net平台的安全性问题仍然是企业所担心的首要问题Net平台的首选语言是C C 迁移到 Net比较成功 开发技术选择 Net 23 中国开发者大部分还属于 开源消费者 正在参与到开源项目的比例还不高70 的项目大量或部分地使用了开源框架 控件等 但也有74 的开发人员 没有参与过开源项目 开发技术选择 Linux 开源 24 中国企业选择产品技术的决定因素 功能丰富 稳定且熟悉的软件产品技术是中国企业最先考虑的因素 25 本章内容 应用软件概述软件体系结构基本概念C S结构及特点B S结构及特点多层分布式应用软件结构小节 26 2 软件体系结构基本概念 1 软件体系结构奠基于程序算法 数据结构和对象设计 它是系统实施的抽象描述 体系结构概括了整体系统结构 功能部件分解 部件本质和特性 部件的界面 部件之间的通讯协议和整体性布局策略及法则 良好的软件系统 必须有合理健全 内在一致的体系结构 了解软件体系结构可以帮助各种不同背景的人 包括技术人员 用户或客户 项目管理人员 投资者等 共同就系统的总体性质和要求作讨论分析 从而对将要诞生的系统取得共识 27 2 软件体系结构基本概念 2 软件体系结构定义了软件的布局和总体计算部件的构成 以及这些部件 组件 之间的相互作用关系 部件包括诸如客户 服务器 数据库 程序包 过程 子过程等一切软件的组成成分 相互作用关系包括过程调用 共享变量访问 消息传递等 相互作用也包括具有十分复杂的语义和构成的关系 诸如客户 服务器的访问协议 数据库的访问协议 网络传输协议 异步事件的映射等 在系统的功能需求方面 体系结构还表达了系统需求和构成之间的对应关系 这为系统的设计提供了分析和评价的依据 在系统宏观层面上 人们所关心的是系统的非功能性需求方面的内容 诸如容量 数据吞吐量 一致性 兼容性 安全性 可靠性等 这些在体系结构中也都表达了出来 28 2 软件体系结构基本概念 3 体系结构设计与程序设计之间的侧重点不同 作体系结构设计时 主要关心的是各部件的协作 系统的总体性能 伸缩扩展能力等 而在程序设计时 则集中注意一个部件 界面或子系统内的详情 体系结构的重要性在于它决定了一个系统的主体结构 宏观特性和具有的基本功能及其特性 大型建筑物设计成功的关键首先在于主体结构 同样 复杂软件设计的成功与否在于软件系统的宏观上层结构设计的正确和合理性 29 2 软件体系结构基本概念 4 软件体系结构的作用可以表现在软件设计开发的各阶段 1 在项目规划阶段 粗略的体系结构是进行项目可行性 工程复杂性 工程进展 投资规模 风险预测等重要根据 2 在项目需求阶段 需要从需求出发建立更深入的体系结构描述 这时的体系结构 是开发商和客户之间进行需求交互的表达形式 也是交互所产生的结果 通过它 可以准确地表达用户需求 以及设计对应需求的解决方法 并考察终结系统的各项性能 3 在项目设计阶段 需要从实现角度对体系结构进行更深入的分解和描述 4 在项目实施阶段 体系结构的层次和部件是建立开发人员的组织和分工 协调开发人员关系的依据 30 2 软件体系结构基本概念 5 5 在项目的评估阶段 体系结构是性能测试和评价的依据 6 在项目维护和升级阶段 对软件的任何扩充和修改都需要在体系结构的指导下进行 以维护整体设计的合理性和正确性以及性能的可分析性 并为维护升级的复杂性和代价分析提供依据 常见的软件体系结构的样式有 1 流程处理系统 pricedutalprocessingdiagram 2 客户机 服务器 client server 系统 3 多级系统 multi tiersystem 4 集群 clustering 5 代理 agent 6 聚合 aggregate 和联邦体系 federation 31 本章内容 应用软件概述软件体系结构基本概念C S结构及特点B S结构及特点多层分布式应用软件结构小节 32 3 C S结构及特点 一 计算机应用程序的一般特点 大多数应用 从PC机上的简单报表程序到大型机上的复杂计算 都由三部分组成 用户界面部分 表示层应用逻辑部分 业务逻辑层数据访问部分 数据访问层二 应用程序开发模型的变迁过程 单层两层三层N层 1 2 3 1 2 3 1 2 3 1 2 3 4 33 3 1以大型机为中心的计算模式 数据访问 表示和业务逻辑在一个应用中代码复用 代码可维护性 代码的修改十分困难应用不是分布式的 不具有可伸缩性 主机系统或单层结构 主机 终端模式 34 3 1以大型机为中心的计算模式 以大型机为中心的计算模式又称分时共享模式 通过硬件连线把简单的终端接到主机上 所有用户的击键和光标位置传入主机 所有从主机返回的结果 显示在终端屏幕的特定位置 分时共享模式 所有的程序和数据都存储在大型的主机中 数据库 应用程序 通信程序 资源集中控制 利用主机的能力运行应用程序 利用无智能的终端来对应用进行控制 优点 数据存取管理方便 安全性好 缺点 系统投资大 维护费用高 35 C S两层结构 又称Client Server或客户 服务器模式服务器通常安装数据库系统 客户端需要安装专用的客户端软件 业务逻辑通常在客户端处理 适用于单机或者小型局域网 典型的例子 数据采集软件 VB ACCESS 3 2C S模式概念 36 3 2C S模式特点 在Client Server模式 应用被分为前端 客户端 和后端 服务器端 客户部分运行在微机或工作站上 而服务器部分可以运行在从微机到大型机等各种计算机上 客户机和服务器分别工作在不同的逻辑实体中 并协同工作 服务器主要是运行客户机不能完成或费时的工作 比如大型数据库的管理 而客户机可以通过预先指定的语言向服务器提出请求 要求服务器去执行某项操作 并将操作结果返送给客户机 优点 减轻服务器压力 逻辑清晰 缺点 易导致胖客户端 维护 更新 升级麻烦 37 本章内容 应用软件概述软件体系结构基本概念C S结构及特点B S结构及特点多层分布式应用软件结构小节 38 4 B S结构及特点 1 基于浏览器 WWW服务器和应用服务器的计算结构 称为浏览器 服务器 Browser Server 的计算模式 简称B S模式 该计算模式在20世纪90年代中期逐渐形成和发展 B S计算模式继承和共融了传统客户机 服务器模式中的网络软 硬件平台和应用 但它具有传统C S计算模式所不及的很多特点 比如更加开放 与软 硬件平台无关 应用开发速度快 生命周期长 应用扩充和系统维护升级方便等 39 B S三层结构 表示层 功能层 数据层其特点是在两层结构的基础上加入一个 或多个 中间件层 它将C S体系结构中原本运行于客户端的应用程序移到了中间件层 客户端只负责显示与用户交互的界面及少量的数据处理 如数据合法性检验 工作 客户端业务数据模型与UI分开 更 瘦 业务逻辑在中间层 通过 连接池 多线程可以处理多客户端 4 B S结构及特点 2 40 Web数据库应用的三层体系结构 利用Web三层结构可以比较圆满地解决基于C S系统存在的问题 B S模式的另一种说法 Web三层体系结构 即客户端浏览器 Web服务器 数据库服务器 B W D Browser WebServer DatabaseServer 结构 图B W D三层体系结构 41 特点三层架构将业务逻辑从数据管理和客户端中分离出来 从开发角度来看 三层架构适合团体协作开发 不同的人可以有不同的分工 从应用角度来看 系统具有的好的可扩展性和可维护性 同时也增加了数据库和后台应用系统的安全性 4 B S结构及特点 3 42 1 客户端浏览器从Web的观点可看出 任何事物都是由文件和关联构成的 客户端浏览器是客户机程序进入Web的窗口 它的工作是读取文件和链接用户选择的关联 其任务是 为用户定制一个请求将用户的请求发送给Web服务器接收Web服务器发出的信息 并将其呈现给用户目前浏览器主要有Netscape的Communicator Microsoft的InternetExplorer 基于文本的Lynx Opera等 4 B S结构及特点 4 43 2 Web服务器Web服务器提供HTTP服务 它接受客户的请求 并把静态和动态内容组装成Web页面 然后传递给客户 Web服务器通常具有连接数据库的功能 并能提供其它一些服务 Web服务器的任务是 接收用户的请求检查用户请求的合法性针对用户请求获取并制作数据 包括对数据进行前期处理和后期处理把信息发送给提出请求的客户机 4 B S结构及特点 5 44 Web服务器与客户端浏览器之间的信息交互过程如下 浏览器将用户的输入 如 进行分解 分为主机名和文件名两部分 如果客户没有提供文件名 则由主机 Web服务器 提供默认文件 如index html Web服务器与客户端连接后 检查客户端的请求 如果是一个文件 则将文件的内容传给客户端 由浏览器显示出来 如果客户端的请求是一个程序 则生成一个新的进程 提供相应的参数后运行这个程序 并将程序的输出结果传输给客户端 如同这个输出是一个已存在的文件 4 B S结构及特点 6 45 本章内容 应用软件概述软件体系结构基本概念C S结构及特点B S结构及特点多层分布式应用软件结构小节 46 N层计算模式的引入 采用N层计算结构 从逻辑角度看 系统分成客户端 Web服务器 应用服务器 数据库服务器四层 从物理角度看 应用服务器可以视用户并发数从1到N台进行扩充 以保证客户端用户的响应要求 5 多层分布式应用软件结构 1 47 四层架构WEB应用模型 N tier 四层架构具有三层架构的全部优点 系统可以实现负载均衡和分布处理应用 它比三层架构具有更好的响应速度 它比三层架构具有更好的可扩展性和可维护性 它还能够预防单点失败 并具有更好的安全性 5 多层分布式应用软件结构 2 48 从1层到N层 得到的改进 每一层可以被单独改变 而无需其它层的改变降低了部署与维护的开销 提高了灵活性 可伸缩性引入瘦客户端 计算被集中至服务器端 使性能提高成为可能仍然存在的问题 对企业级应用开发人员的要求太高 需要熟悉分布式协议 IIOP IIOPS HTTP HTTPS CGI ISAPI NSAPI 进行一致性事务处理 负载平衡 考虑安全性 N层计算模式的引入 5 多层分布式应用软件结构 3 49 应用程序各部分之间松耦合 从而应用程序各部分的更新相互独立业务逻辑集中放在服务器上由所有用户共享 使得系统的维护和更新变得简单 也更安全数据库不再和每一个活动的用户保持一个连接 而是由应用程序组件负责与数据库打交道 降低数据库服务器的负担 提高了性能 多层应用程序的真正优点 5 多层分布式应用软件结构 4 50 本章内容 应用软件概述软件体系结构基本概念C S结构及特点B S结构及特点多层分布式应用软件结构小节 51 C S 应用程序客户端 数据库服务器B S 浏览器 Web服务器 数据库服务器N Tier 浏览器 Web服务器 应用服务器 数据库服务器基于WindowsDNA 微软的WindowsDistributedinterNetApplicationArchitecture Windows分布式集成网络应用体系结构 的实现方案 Browser ASP ActiveXControl COM COM ODBC基于J2EE结构的实现方案是 Browser JSP Servlet JavaBeans EJB JDBC分层概念注意是逻辑分层在物理部署上 根据应用的规模大小 不同类型服务器可部署在一台机器上 6 小节 应用软件开发模式比较 52 Java 2PlatformEnterpriseEdition为开发 部署和管理以服务器为中心的企业应用提供了解决方案 J2EEisEnd to EndSolution企业应用的特点用户并发访问 业务逻辑负杂 数据量大 数据种类繁多物理分布 系统部署复杂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论