应用模式建立企业应用框架.ppt_第1页
应用模式建立企业应用框架.ppt_第2页
应用模式建立企业应用框架.ppt_第3页
应用模式建立企业应用框架.ppt_第4页
应用模式建立企业应用框架.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

软件应用架构设计,计算机与通信学院 张聚礼 ,第二讲:应用模式建立企业应用架构,软件应用模式及实施实例,背景-业务变化,在大型企业应用中,办公地点不再局限在一栋楼内,异地办公成为必然,同楼办公 同城办公 异地办公,局域网办公 城域网、专线 Internet办公,背景-技术变化,单机-网络 主机-CS-BS CORBA,J2EE,.NET J2EE架构以其兼容性、开放性、跨平台性成为BS应用的主要选择 国内外高端应用基本都是采用J2EE架构,背景-组织变化,软件工厂 外包、第三方服务 组织形式更灵活 支持角色分层,分成几个部分来设计和实现,背景-企业级应用特点,大数据量 频繁数据库访问 界面要求高,大并发量 高复杂度 用户需求千差万别 成熟度要求高,背景-企业级Web应用风险,欠缺经验会导致: 开发成本高 软件质量不合格 扩展性差,可维护性、安全性、健壮性差 一个不好的经验就导致整个应用瘫痪 例子,EJB,Xml,Connection,Servlet实例变量,J2EE项目风险 *没有真正理解J2EE *过度设计 *业务规则和逻辑混在一块 *缺乏可伸缩性、性能差 *陈旧的开发过程 *没有好的框架方式 *脱离了技术现实。,面向企业级解决方案,企业级应用模式 企业级集成模式 企业级开发管理模式,企业级应用模式,分层模式 服务为中心的框架模式 MVC框架模式 分布式模式 对象关系映射 使用企业级应用模式构建企业应用框架能提高框架的可用性、健壮性和扩展性,企业级集成模式,网状集成 总线集成 发布订阅 请求应答 文件共享 数据库共享,企业级开发管理模式,框架为中心 角色分工 RUP(Rational Unified Process,统一软件开发过程)是一个面向对象且基于网络的程序开发方法论; 风险管理 用例驱动 测试驱动 迭代演进,应用模式-分层-续,OSI 7-层 通信模型 层1 物理层 层2 数据链路层 层3 网络层 层4 传输层 层5 会话层 层6 表示层 层7 应用层,应用模式-分层要素以及特点,分层原则 责任划分 层抽象,抽象例子,优点 可维护性 重用 可扩展性 可测试性,缺点 低效 增加额外的工作,应用模式-MVC责任区分,应用模式-MVC架构模式,应用模式-服务为中心的架构,应用模式-服务框架-特性,是一个容器 提供服务运行的上下文环境和其他一些特性,服务需要向架构注册 管理服务(监控、启动、销毁) 使用服务工厂来创建服务 每个服务都是插件 通过接口向外提供服务 可有多种实现方式 服务可以灵活定义,应用模式-服务框架-特性(续),服务方式多种多样 WebService 组件 API 服务是透明的 框架可以存在于环境上下文,比如服务框架可同时存在于两个ServletContext上下文中,也可以以独立应用程序方式单独运行,应用模式-分布式,东厂,克格勃,拉登的基地组织,应用模式-分布式-续,应用模式-OR映射(Object Relational Mapping ),类-表 对象-纪录行 属性-列,企业级集成模式-网状接口,企业级集成模式-星形接口,Xml RMI/CORBA WebService,开发管理模式-迭代,摘自RUP,开发管理模式-流程指南,摘自RUP,开发管理模式-架构为中心,摘自RUP,JDBC示例,public static void main (String args) try . Connection con = DriverManager.getConnection (); . Statement stmt = con.createStatement (); ResultSet rs = stmt.executeQuery (query); . rs.close(); / 关闭语句 stmt.close(); / 关闭连接 con.close(); catch (java.lang.Exception ex) ex.printStackTrace (); ,资源监视,一个程序如果忘记关闭数据库连接,如果这个程序连续运行几十次,就会造成整个应用程序的瘫痪。 在企业应用开发中存在大量的造成连接可能没有关闭的情况(很多demo例子也起了误导人的作用) 数据连接监视器采用代理、包装器、适配器等模式,监视连接,在开发过程中就能监控到每次连接没有关闭的情况,资源监视,翻页,几乎所有Web企业应用都会涉及翻页问题,翻页的问题处理得好坏与否,将会对系统的性能产生致命的影响。 虽然现在互联网上关于翻页的讨论非常之多,有的高效却开发效率低、功能弱,有的易于开发却非常低效。如何构建一个好的翻页系统?并实现列表中排序、查询、过滤?,翻页,缓存所有内容? 缓存索引(如JIVE) 只取当前页,EJB业务管理器,国内用户和开发者都喜欢追逐时髦,好用新技术。当前国内但凡开发J2EE程序,都要使用EJB、使用WebService,否则就觉得落伍。不过EJB的开发调试在当前都成问题,频繁的修改部署发布也让人伤透了脑筋。 结合Command模式、事件模式、单件模式、DAO模式,使用EJB管理器,只写一个EJB,既能利用EJB的分布式、事务处理等优点,又无须写EJB程序,让开发EJB变的真正简单。,资源,如何管理好系统的多种资源 图片、javascript脚本,按钮(快捷键、按钮名、按钮值 参数、像订单状态这种枚举类型、不同地区不同叫法。,=btnAdd btn.add.value=增加I btn.add.key=I,DBMAP,如果要取一个表的字段的数据类型,我们还可以根据JDBC连接的元数据来取,但是如果我们要取得某个表和某个字段的中文描述呢? 通过自定义的配置文件,不但可以取得中文描述,还可解决通过JDBC元数据的性能问题。通过这个对象,我们可以检验数据有效性、一致性,可以智能的在页面上将客户编号替换为客户名称,SQL对象,SQL数据对象,我们使用OOAD来处理大数据量的基于事务处理系统时,会碰到很多疑惑: 在一个方法里面完成一个事务,很难重用; 在多个方法(通常还可能调用了别的对象)里,本来一条SQL写完的,要用多条SQL执行,效率可想而知。 将SQL封装成对象,很对象化的在各个方法间传递,既能重用效率也不低。,事务上下文,DAO模式 如何让DAO不用修改就能在Ejb和Jdbc中使用 着重解决事务问题 事务上下文,单据维护,像订单和订单行这类的维护程序,对于习惯使用CS程序的企业操作员来说,如果指望他们像网上用户一样慢慢点击增加到购物车的方式,绝对是接受不了的。 在页面写上大量的javascript,是可以实现回车自动出来上面的帮助,回车自动到下一个输入框,或者到新的一行,其它等等,根据权限生成不同菜单 审计 最大号表 灵活报表 等等,企业应用框架概念,在面向对象的设计和编程中,复用主要通过框架的概念加以阐述。 是一些代表商业应用的实体对象,相互协作实现核心商业过程,允许开发者使用此框架来开发完成最终的不同需求。 基于框架的技术通过重用提高了生产效率,使用成熟的架构不仅能够降低开发风险、提高生产率,还能对系统统一规划,降低信息孤岛,提高整合度。,框架分层-横向,框架分层-纵向,实例: 浪潮楼上企业应用框架,Web应用框架组件图,企业应用模式示例 MVC,企业应用模式示例-基于服务,集成模式示例-EAI,集成模式示例-信息交换,集成模式示例-即时消息,符合WFMC规范 简单易用易于扩展 工作流程自定义 表单自定义 丰富的流程监管工具,企业应用模式示例 OR映射,工作流引擎-参考模型,企业应用模式示例 分布式,组织结构模型 权限模型 其它商业组件,业务模式示例-商业服务平台,根据Xml文件自动 生成Sql、Java、Jsp、 配置文件 生成70%代码 数据字典维护程序、 单据类维护程序无需写一行程序 代码生成技术是构建企业级、健壮的、Web应用程序的最为可用的技术,开发管理模式示例-代码自动生成机,开发管理模式示例-迭代,开发管理模式示例-流程,开发管理模式示例-角色,开发管理模式示例-模版,开发管理模式示例-架构为中心,扩展性 分布式 面向对象; 搭建底层平台,提供大量面向高层应用的组件,可在底层基础框

温馨提示

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

评论

0/150

提交评论