已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业级信息系统开发技术,济南大学信息学院刘鹍liukun,2,个人简介,主要开发的系统:山东省教育人事管理系统山东省基于互联网的高等教育信息管理及决策支持系统山东省学位与研究生教育管理系统(评审部分、高校端B/S部分、学历信息注册)济南大学学科建设与科研管理平台(开发中)教学资源平台建设铁路供电设备运行质量管理系统(开发中)山东省委党校干部在职研究生报名系统(开发中)参与开发了山东省制造业信息化系统建设(会议注册)、基于国产数据库应用系统建设等。主要研究方向:国产数据库、信息系统建设(JavaEE)、网络建设、网络管理和维护、手机软件开发(JavaME、SymbianC+、Android)。,3,课程简介,本课程重点介绍企业级信息系统开发的流程及相关技术主要分四部分内容:企业级信息系统开发概述基于开源框架的企业级信息系统开发技术基于EJB的企业级信息系统开发技术面向服务的企业级信息系统开发技术,4,课程目的,培养完整的企业级信息系统开发的概念,掌握JavaEE体系架构的主要技术,熟悉JavaEE平台的开发模式,并能够运用Java服务器技术开发多层架构的应用项目。主要任务:理解企业级开发的架构理解面向对象的思想和设计模式理解Java服务器应用开发理论;掌握JavaEE技术体系及特点;熟练掌握EJB组件开发技术;掌握基于Web服务的信息系统开发技术。,5,课程安排,第一部分:企业级信息系统开发概述(4课时)讨论“企业级”企业级应用架构企业级开发流程第二部分:基于开源框架的企业级信息系统开发技术(12课时)JSP、Servlet、JDBCStruts框架、Spring框架、Hibernate框架及三个框架整合第三部分:基于EJB的企业级信息系统开发技术(12课时)会话Bean、消息驱动Bean(MDB)JPA第四部分:Web服务技术(4课时)XMLWebService,6,课程概述,课程首先介绍企业级信息系统开发的基本思想,然后从JavaEE开源框架入手,分别介绍Struts、Spring、Hibernate,以及他们的相互整合应用。并在此基础上,深入学习WebService技术,深入学习EJB和JPA。,7,学习路线,建议学习路线,8,课堂互动,有多少同学学过Java?有多少同学学过Struts、Hibernate和Spring?EJB?,9,课堂组织,课堂讲授+实验为主,课堂报告+讨论为辅课堂讲授+实验主要以开源框架和EJB为主Struts、Hibernate和Spring框架JSF、EJB和JPAWebService课堂报告+讨论以设计模式和信息系统分析与设计思想为主23种设计模式JSP+Servlet能解决的问题,为什么需要轻量级框架?EJB和WebService都有分布式的特性,你在实际项目中怎样选择合适的技术?你对身边的应用系统都满意吗?怎样才能开发一个好的应用系统?掌握了哪些技能,才算是真正的高手?,第1部分企业级信息系统开发概述,1.1何谓企业级1.2企业级应用架构1.3企业级开发流程,11,案例:淘宝企业级!,淘宝是什么?淘宝是一个网站,WebServer,AppServer,DBServer,12,案例:淘宝企业级!,淘宝是什么网站?,13,案例:淘宝企业级!,淘宝是什么网站?淘宝是一个交易网站交易功能需求交易系统其他需求高稳定性7243652011年11月11日:交易额52亿高并发访问最高每天4000万用户,14,案例:淘宝企业级!,淘宝是什么样的交易网站?淘宝是一个很大的交易网站每天7亿次的页面访问,其中搜索宝贝过亿次,浏览宝贝过亿次超过40亿次的用户访问,超过6亿次的交易访问,超过6亿次的宝贝访问超过400万笔有效交易高峰期每秒超过25G的流量,核心业务每秒超过4.5G的流量每秒生成几百笔交易,8万次的用户访问,1.5万次的商品访问淘宝总共超过22TB的宝贝图片存储超过4亿条的在线交易记录,超过2亿的在线宝贝,15,案例:淘宝企业级!,淘宝发展历程,2000片/天,9000片/天,3.8W片/天2W片/天,8W片/天,0,1000500,250020001500,2003,2004,2005,2006,2007,2008,2009,PV全网成交,V2.2,V1.1,V1.0,V2.0,V2.1,V3.0,2008年:交易额999.6亿注册用户9800万卖出1.4亿件服饰卖出1366万部手机卖出3130万张充值卡,2008年每天:增加800G的数据高峰期流量超过30G/S处理超过1000G的日志处理40亿次的用户信息访问缓存处理60亿次的请求,16,1.1何谓企业级,企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。作为企业级应用,其不但要有强大的功能,还要能够满足未来业务需求的变化,易于升级和维护。,17,1.1何谓企业级,稳定大数据量大、并发量大、外部资源多、用户多分布式可移植面向Web体系可装配能满足企业计算要求一致性、事务性、安全性还要有好的特性可伸缩、可扩展、易维护,18,1.1何谓企业级,如何解决所有这些问题提供分布式、可移植构件的框架简化服务器端中间层构件的设计为构件应用服务器提供标准API应获得业界的广泛支持,第1部分企业级信息系统开发概述,1.1何谓企业级1.2企业级应用架构1.3企业级开发流程,20,1.2企业级应用架构,企业级应用程序结构模型单层N层C/SB/S企业级应用模式分层模式服务为中心的框架模式MVC框架模式分布式模式对象关系映射,21,1.2企业级应用架构,应用程序结构模型的变迁应用程序的组成部分用户界面部分:表示层应用逻辑部分:业务逻辑层数据访问部分:数据访问层应用程序结构模型的变迁过程,1,2,3,1,2,3,1,2,3,1,2,3,4,单层两层三层N层,22,1.2企业级应用架构,应用程序结构模型的变迁单层结构模型主机系统或单层结构:主机/终端模式,数据访问、表示和业务逻辑在一个应用中;功能紧紧耦合在一起;代码复用、代码可维护性、代码的修改十分困难;应用不是分布式的,不具有可伸缩性。,23,1.2企业级应用架构,应用程序结构模型的变迁二层结构模型(C/S)客户/服务器结构:“胖”客户端,服务器的数据库必须同每一个活动的客户保持连接,消耗大量的运算资源,随着客户数目的增加性能不断下降,且存在死锁及崩溃的可能对系统的修改将要求全体客户端改变,不利于更新和维护用户界面和程序逻辑绑在一起,代码难以重用原始数据通过网络传递:加重网络负担不适应多用户、多数据库、且非安全的网络环境,可扩展性差客户端应用程序越来越大,对使用者的要求也越来越高,数据库服务器,胖客户端:表示逻辑业务逻辑业务数据模型通讯,Fatclient,Fatclient,24,1.2企业级应用架构,应用程序结构模型的变迁三层结构模型(B/S)传统的Web应用程序模型:三层分布式架构,B/S结构带来的变化:“Browser-based”的客户端与“Internetworking”计算方式向服务器端的集中转化客户端:业务数据模型与UI分开,更“瘦”业务逻辑在中间层,通过连接池,多线程等技术,中间层可以处理多客户端,25,1.2企业级应用架构,应用程序结构模型的变迁N层计算模式的引入,采用N层计算结构,从逻辑角度看,系统分成客户端、Web服务器、应用服务器、数据库服务器四层;从物理角度看,应用服务器可以视用户并发数从1到N台进行扩充,以保证客户端用户的响应要求。,26,1.2企业级应用架构,应用程序结构模型的变迁从1层到N层,得到的改进:每一层可以被单独改变,而无需其它层的改变降低了部署与维护的开销,提高了灵活性、可伸缩性瘦客户端的引入使Internet接入方便,而计算被集中至服务器端,使性能提高成为可能仍然存在的问题:对企业级应用开发人员的要求太高:需要熟悉各种分布式协议,要自己进行一致性事务处理,处理负载平衡,考虑安全性,27,1.2企业级应用架构,采用多层结构的应用程序的真正优点,应用程序各部分之间松耦合,从而应用程序各部分的更新相互独立业务逻辑集中放在服务器上由所有用户共享,集中控制,使得系统的维护和更新变得简单,也更安全数据库不再和每一个活动的用户保持一个连接,而是由应用服务器组件负责与数据库打交道,降低数据库服务器的负担,提高了性能组件之间和编程语言之间的战争不会影响互操作性,28,企业级应用程序结构模型单层N层C/SB/S企业级应用模式分层模式服务为中心的框架模式MVC框架模式分布式模式对象关系映射,1.2企业级应用架构,29,1.2企业级应用架构,企业级应用模式:分层模式服务为中心的框架模式MVC框架模式分布式模式对象关系映射使用企业级应用模式构建企业应用框架能提高框架的可用性、健壮性和扩展性。,30,1.2企业级应用架构,企业级应用模式:分层模式分层构架优点:层次的复用性(抽象接口)支持基于抽象程度递增的系统设计,可以对复杂系统分解,更容易模块化支持功能增强,功能改变最多影响相邻的两层可替换性,容易被功能相同的模块替换分层构架缺点:效率低工作量增加连锁反应设计者建立合适粒度的抽象层次比较难,31,1.2企业级应用架构,企业级应用模式:分层模式一般企业级应用的分层,View,Control,Model,32,1.2企业级应用架构,企业级应用模式:分层模式,command层,Service层,domain层,Dao层,视图对象,领域对象,企业级信息系统开发技术,济南大学信息学院刘鹍liukun,34,1.2企业级应用架构,企业级应用模式:MVC架构模式,35,1.2企业级应用架构,企业级应用模式:以服务为中心的架构,36,1.2企业级应用架构,企业级应用模式:分布式模式,37,1.2企业级应用架构,企业级应用模式:OR映射:类-表对象-纪录行属性-列,38,1.2企业级应用架构,主体是MVC架构,39,1.2企业级应用架构,JavaEE将组成一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件,同时各种组件都能使用各种JavaEEService/API。,40,1.2企业级应用架构,JavaEE架构开发大型应用:异构、分布、数据交换,41,1.2企业级应用架构,JavaEE5架构,42,1.2企业级应用架构,案例:浪潮楼上应用架构,43,1.2企业级应用架构,案例:浪潮楼上企业及应用架构,44,1.2企业级应用架构,JavaEE企业级信息系统开发技术架构图,45,案例:淘宝网架构,应用1.4-1.5-1.6JSP-VelocityEJB+自主IoC容器-Spring-淘宝服务框架HSF开源OR-Mapping框架(Ibatis.)-淘宝数据层TDDL庞大的项目-按功能拆分+服务化/产品化紧耦合-使用消息系统解耦数据库MySQL(Master+Slave)-Oracle-Oracle(垂直水平分割)-Oracle+MySQL(垂直水平分割),46,案例:淘宝网架构,最早的淘宝架构,47,案例:淘宝网架构,最早的淘宝架构LAMP:Linux+Apache+Mysql+Perl/PHP/PythonMySQL读写分离存在问题数据库容量限制数据稳定性,48,案例:淘宝网架构,淘宝网2.0,49,案例:淘宝网架构,淘宝网2.0,50,案例:淘宝网架构,淘宝网2.0解决了数据库性能问题支撑高速业务发展支撑团队幵行开发支撑系统的可伸缩存在问题开发效率能满足长期持续维护连接池容量制约,51,案例:淘宝网架构,淘宝网3.0,52,案例:淘宝网架构,淘宝网3.0支撑大型团队,丰富业务的幵行开发支撑高速的业务增长透明的数据和应用伸缩提高可用性开放,第1章企业级信息系统开发概述,1.1何谓企业级1.2企业级应用架构1.3企业级开发流程,54,1.3企业级开发流程,开发者角色开发环境开发过程,55,1.3企业级开发流程,开发团队:项目经理系统架构师代码开发人员(程序员、美工)测试人员在JavaEE平台中规定了七种角色,这七种角色在开发JavaEE平台及JavaEE应用中承担各自的任务。JavaEE平台开发商应用组件提供者(Web组件、企业Bean、客户端)应用组装者应用发布者系统管理员工具提供者系统组件提供者,56,1.3企业级开发流程,开发者角色开发环境开发过程,57,1.3企业级开发流程,开发网络环境,APP服务器,SVN服务器,BUG服务器,58,1.3企业级开发流程,开发者角色开发环境开发过程,59,1.3企业级开发流程,开发过程开发流程:瀑布,用户需求,产品设计,确定系统架构,生成/修改代码,生成Build,测试,交付使用,反馈,60,1.3企业级开发流程,开发流程,61,1.3企业级开发流程,开发过程传统软件过程定义,62,1.3企业级开发流程,链接:敏捷开发敏捷开发作为一种开发方法始于2001年,当时全球非常有名的10多位软件开发的大师集中在一起,对当时出现的一些新的编程方法进行归纳,并用敏捷这个词来概括这几种类似的方法流程。,63,1.3企业级开发流程,敏捷开发的原则个体和交互胜过过程和工具工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划重视交付、紧密协作、快速反馈正是敏捷的特殊之处,这些特点保证了敏捷开发能够满足变化的需求。而用传统的软件开发方法开发出的软件成功与否很大程度上建立在需求分析是否有足够的远见,能把未来的需求都考虑在内,而实际上,这几乎是不可能的。,64,1.3企业级开发流程,讨论:人和流程哪个重要?个人认为:人比流程更重要讨论:文档是否重要?能够工作的软件比文档更重要,65,1.3企业级开发流程,开发过程软件配置软件配置管理的基本概念SoftwareConfigurationManagement版本控制VersionControl版本控制实例ExampleofVersionControl,66,1.3企业级开发流程,软件配置管理的基本概念软件配置管理(SCM):一组用于在计算机软件的整个生存期内管理变更的活动。一组活动,通过标识可能变更的工作产品、建立它们之间的关系、定义管理这些工作产品不同版本的机制、控制施加的变更以及审计和报告所发生的变更而控制变更。标识变更;控制变更实现变更;跟踪变更软件配置项(SCI):程序源代码/可执行程序/编译过程软件工具:编译环境运行环境文档数据基线(BaseLine):里程碑,67,1.3企业级开发流程,软件配置管理的基本概念软件配置管理,贯穿于整个软件生命周期,它为软件研发提供了一套管理办法和活动原则。软件配置管理无论是对于软件企业管理人员还是研发人员都着重要的意义。软件配置管理可以理解为三个方面的内容:VersionControl-版本控制ChangeControl-变更控制ProcessSupport-过程支持,68,1.3企业级开发流程,版本控制链接:FromUCBerkeleyAllSoftwareHasMultipleVersionDifferentreleasesofaproductVariationsfordifferentplatformsHardwareandsoftwareVersionswithinadevelopmentcycleTestreleasewithdebuggingcodeAlpha,betaoffinalreleaseEachtimeyoueditaprogram,69,1.3企业级开发流程,版本控制版本控制:全面实行软件配置管理的基础。版本控制是对系统不同版本进行标识和跟踪的过程。版本标识便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系。一个版本是软件系统的一个实例,在功能上和性能上与其他版本有所不同,或是修正、补充了前一版本的某些不足。版本操作,包括检入检出控制、版本的分支和合并、版本的历史记录和版本的发行。版本控制软件:RationalClearCase:expensiveM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年岱山县城市专职社区工作者招聘11人备考题库及完整答案详解1套
- 2025辽宁朝阳建平县面向社会招聘城市社区工作者21人备考题库含答案详解ab卷
- 2025上海市阳光社区青少年事务中心徐汇工作站招聘5人备考题库含答案详解(培优)
- 2026恒丰银行西安分行招聘备考题库(3人)及答案详解(夺冠系列)
- 2026“梦工场”招商银行温州分行寒假实习生招聘备考题库附答案详解(达标题)
- 轨迹回放与数据分析应用规则
- 2025福建厦门银行漳州分行招聘备考题库附答案详解(突破训练)
- 2025重庆丰都县民政局公益岗招聘1人备考题库及答案详解(典优)
- 个性化应急培训虚拟方案
- 个性化干细胞治疗AMD的方案优化
- 光伏电站启动验收工作方案
- 完型填空15篇(浙江专用)(期末题型考前过关练)-2023-2024学年八年级英语上册单元模块满分必刷题(人教版)
- 宠物市场趋势分析-洞察与解读
- 人际关系解决方法
- 钣金车间安全生产培训课件
- 自用船舶船主安全培训内容课件
- 2025年四川事业单位招聘考试综合类职业能力倾向测验真题模拟试卷
- 香港证券期货从业资格考试卷1及答案解析
- 青马培训课件
- 《地基处理技术》课件
- 欣赏 十面埋伏说课稿-2025-2026学年初中音乐八年级上册(2024)人音版(2024 主编:赵季平杜永寿)
评论
0/150
提交评论