J2EE平台多层体系架构.ppt_第1页
J2EE平台多层体系架构.ppt_第2页
J2EE平台多层体系架构.ppt_第3页
J2EE平台多层体系架构.ppt_第4页
J2EE平台多层体系架构.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、J2EE 平台多层体系架构,Java 2 PlatForm Enterprise Edition,信息部门主管关心的问题,信息孤岛问题。 不同的部门有不同的应用系统,使用传统的开发工具,无法实现信息的共享互用。 如何实现不同系统间信息的互用? 如何保护系统的投资? 业务在不断地发展,系统在不断地升级,单位在不断地投资 在传统的开发方式下,除了部分模块、函数能够在升级产品中利用来,其他大部分要推倒重做,需要重新投资完成以前投资的内容,造成极大的浪费。 如何保护以前的投资,使以前开发的应用产品能平滑地在新系统中使用? 如何减少系统的投资? 复杂的应用、数量庞大的系统用户,需要昂贵的系统硬件来支撑

2、. 如何改善系统购价,以期达到最少的投资? 如何面对瀑涨的应用要求? 应用在不断地添加、完善,处理不断地变得复杂,系统应用人员在不断地增加 主机系统已经变得不堪重负。是更换更加昂贵的主机设备,还是添加一些比较廉价的主机系统,由系统动态均衡负载? 在传统的方式下,只能通过更换更加昂贵的主机系统。 如何紧跟系统平台日异月新的升级换代。,系统管理员关心的问题,系统健壮性问题 应用主机系统Down机了,怎么办? 系统安全 如何保证系统不被非法使用? 如何改进系统运行效率 复杂的应用、数量庞大的用户,如何控制系统资源的耗费? 传统方式下,系统资源的耗费随着用户数量的递增而递增 系统软件的更新 应用软件更

3、新后,如何让数量庞大的前端用户也更新?,系统用户关心的问题,面对这么多的应用系统,怎么办? 一种应用系统一套软件,电脑桌面上的应用系统越来越多了。 不同的系统有不同的界面,不同的操作方式,需要不断的学习,命苦啊 不同的系统要记住不同的登录口令,真是命苦 不同的系统信息在各自的系统中展现,没法统一起来使用,还要手工计算,烦 怎么又要下载更新? 系统又不能用了 传统工具往往需要在客户端配置参数或安装驱动程序,如果前端用户环境发生变化,可能导致系统无法正常使用。 系统太慢了 当用户数量增多,系统负载变大,慢,开发商关心的问题,如何解决成本问题? 传统方式,要求开发人员的技术比较全面,从界面、前端开发

4、工具、数据库工具 成本比较高。 如何保证质量 传统方式,每个开发人员都可能涉及到软件系统的各个层次,要求每个开发人员都要关心、注意各个环节的技术细节,质量隐患点太多了。 如何保证开发进度 传统方式,各种业务模块都需要自己开发 如何满足用户对其他系统中的信息处理需求? A) 需要开发与该系统相近的处理代码;工作量太大了。 B) 对其他系统的业务、实现方式不了解;直接操作外部系统,风险太大了。 C) 每个外部系统的接口都不一样,都要分别编写,太难了。 如何复用以前开发的软件部件或产品? A) 面向过程代码级的复用。 B) 面向初级部件级的复用。 如何满足用户的性能要求? 系统响应能力与用户数的增加

5、、安全要求、动态均衡、系统强壮性要求. 很多需要自己开发。 开始系统实施,要跑遍所有的业务点安装。,C/S开发模式历程,2层体系结构 2.5层体系结构 3层体系结构,系统偶合模型发展历程,面向过程、代码的系统紧偶合 需要与系统联编,与系统一起打包 接口不标准而且复杂,需要知道过程或代码接口 产品复用能力低 面向组件级的系统紧偶合 需要与系统联编,并需要准确知道组件部署所在的位置 接口不一定标准而且复杂,需要知道组件的应用接口 产品复用能力较高 面向部件的系统松偶合 不需要了解部件部署的位置 接口不一定标准,需要知道部件的应用接口 产品复用能力高 面向服务的系统无关联松偶合 不需要了解服务部署的

6、位置 应用接口标准化;不需要知道服务的具体应用接口 产品复用能力高,2层、2.5层体系结构,随着用户数增加,系统资源耗费成几何级数增加,而且很多资源耗费呈空闲浪费。 部署不不方便 A) 系统实施问题 B)界面要求更新问题 C) 业务逻辑更新问题 D) 系统负载问题 E) 系统健壮性问题 产品可复用能力带来的投资保护问题 A) 面向过程代码级的复用 B) 更换开发商,可复用能力基本=0 信息孤岛问题 开发商产品难题,C/S 3 层体系架构,系统部署问题 系统实施、界面逻辑更改、客户端环境变化 信息孤岛问题 直接操作不同系统的数据,没有标准的接口方式,获取外系统的信息 可重用性:面向简单部件或过程

7、,优点 A) 系统资源管理(连接池) B) 业务逻辑可重用程度比较高 C) 有些产品可以在业务逻辑层完成不同系统的信息共享 D) 跨平台信息共享,传统B/S开发模式历程,3层体系结构 界面逻辑/业务逻辑统一在系统主机上;系统升级、实施、部署方便 可以跨平台访问数据库,实现数据共享 一致的用户界面交互方式。 有些产品实现面向部件的复用能力 常用工具: Asp , 普通JavaBean,信息孤岛问题 直接操作不同系统的数据 没有标准的接口方式 可重用性: 简单部件或过程,没有标准 没有资源管理,无法满足复杂及大用户量的应用要求。,J2EE 多层体系架构,J2EE 技术基础 J2EE 概述 J2EE

8、 带来的优势,J2EE 基础:Java 的技术特点,目标代码与系统硬件平台无关 模板式的类继承方法 面向命名的系统联编 其他优势 面向对象的编程方式 准C + 语法结构;解决地址管理问题 众多厂家支持;统一版本标准 IBM WebSphere; WebLogic ; Oracle OC4J Sun 公司统一标准。,目标代码与系统平台无关,Java 虚拟机 可以在不同的系统软件、不同的硬件平台运行。( 2 PlatForm ) 系统平台的变化,不会影响已经投资开发的应用软件。 如:硬件系统、操作系统、数据库系统。,模板式的类继承方法,模板式的类继承方法,可以制定统一的业务处理接口标准;实现不同业

9、务系统间无逢的信息共享。 可以方便的实现不同业务的流水化处理作业。 通过接口的标准化,真正面向部件的产品复用能力;保护系统原来的投资。,面向命名的系统联编,传统工具连编方式:面向地址 A) 变量:编译联编完成后,通过地址访问变量中存储的内容 B) 过程或方法:联编完成后,也是转换成地址的方式,供其他过程调用。 C)联编系统中任何一个模块发生变化,都需要重新联编,以重新确定地址。 动态连接库 A) 通过命名的方式供其他过程调用。 B) 通过字符串的方式供过程调用,不参与系统编译,无法事先发现错误。 C) 动态连接库调用接口繁杂;仍然需要调用者重新确定系统地址后,再执行。 D) 动态连接库是以库的

10、方式提供命名连编。,Java 命名联编方式,真正的面向命名联编方式 A) Java程序编译成目标文件后,与系统地址无关; 通过名称找到过程所引用的变量或方法。 B) 系统开发初期,可以按系统定义空的框架结构供其他开发者使用;待开发完毕后,再发布到系统上,而不需要和其他模块一起联编。 C) 只与java 路径名称有关,与系统物理目录无关;在J2EE 架构中,甚至与对象运行所在的主机无关。 该技术所带来的优势 A) 各种的功能模块无须联编,只需要定义模块框架,即可在共同发布后使用。便于各种业务模块分工合作、集群开发,代码或版权保密。 B) 可以方便的实现系统模块的部件化,从而达到产品的可重用能力。

11、 C) 便于部件的部署;部件的部署可以在本机,也可以在J2EE架构的异地主机。 D) 实现面向功能单点级别的升级或修正。任何一个功能模块修改后,无需整个系统联编,既可使用。,J2EE 系统结构,Java 2 Platform Enterprise Edition 是一些列技术规范以及成熟的组件或部件的总和 在Java 语言的基础上;通过一系列框架基本类,规定一些商业部件的编程规范,以及一些成熟的商用部件,Web包容器,Java 虚拟机环境,单进程,多线程运行环境 Web 服务的提供者,管理者 标准规范 HttpServerlet 规范 Jsp 规范 提供组件 JAF RMI/IIOP Java

12、Mail JMS JDBC JTA JNDI 传统的Java Web 应用程序所在地 Tomcat等,Web包容器Web 请求,Java 虚拟运行环境 一个Http请求启动一个线程 Web 服务的提供者 A) 打包Http 请求,组成标准的Java HttpRequest 对象 B) 根据Http 请求地址,路由寻找对应 的 Serverlet 类或Jsp Web 部署描述器,Web包容器-Jsp 规范,提供了纯Html 与 java 相结合的界面逻辑编程方式 例子, + V_ServiceResult.getErrorMessage() ; return ; System.out.print

13、ln( Result Has no Error); if( V_HttpRequest.getParameter(Add) != null ) System.out.println( Redirect:); response.sendRedirect(book_edit.jsp?bookno= + V_HttpRequest.getParameter(BookNo); return ; % ,Serverlet 规范,public class MeetMana extends HttpServlet public void init() throws ServletException publ

14、ic void destroy() public void service(HttpServletRequest request, HttpServletResponse response) throws IOException , function commitit() form1.action=book_add.jsp; return true; 编号 书名 出版商 文件 ,Web包容器提供的组件,JDBC : Java Database Connection 数据库连接池管理,使得系统主机资源不会空闲浪费。 跨数据库平台: Oracle , Sybase , Db2 , SqlServe

15、r 可以同时连接多个数据库 提供同样的组件接口模板规范 RMI/IIOP : Remote Mathod Invocation 远程方法调用 Internet Inter-Orb Protocol 互联网对象需求中介协议 实现分布式计算;是J2EE 实现基础技术 JNDI : Java Name Directory Interface JTA : Java Transation assistant 数据库事务管理 JavaMail : 邮件服务 JMS : Java Message Service 消息服务,Ejb 包容器,Enterprise java bean 与Web 包容器属于不同的进

16、程 是Ejb 部件的管理器 实现面向部件应用藕合方式 Java 部件技术规范 Java Ejb 基础类模板 提供与Web 包容器一样的风格。,实现面向部件应用藕合方式,实现面向部件藕合的应用方式,客户/服务 的部署方式 客户端通过命名的方式,获得的Ejb远程对象,就象操作本地对象一样操作。客户端不需要知道Ejb 对象部署在哪里,是本地主机还是异地主机。 客户端需要的只是部件的接口模板类;部件的业务逻辑全部部署在服务端。 通过JNDI / LDAP 命名目录服务获取Ejb 部件的部署的位置 通过RMI 或 IIOP 实现异地主机远程部署,Ejb 容器所完成的工作,Java 虚拟机环境;单进程,多

17、线程 部件服务的路由 容器中部件对象生命周期的管理 根据客户端请求,按照Ejb 模板基类声明的方法,实例化不同的Ejb 业务类 根据客户端请求,调用业务类中的方法。 管理永久性的Ejb 对象。 Ejb 对象的访问权限控制。 Ejb 对象的类型 永久性Ejb 暂时性Ejb Ejb 对象管理方法 交换 释放,Ejb 模板的种类,会话Bean ( Session Bean ) 业务处理逻辑类的接口规范 实体Bean ( Session Bean ) 业务数据结构及其数据的接口规范 提供了实体Bean 的生成工具,会话Bean,Session Bean 有状态Session Bean ; 无状态Ses

18、sion Bean 一种接口规范 主要用于业务逻辑的处理 模版 public class CountBean implements SessionBean public void ejbCreate() throws CreateException / 创建 public void ejbRemove() / 删除 public void ejbPassivate() / 从内存交换到硬盘 public void ejbActivate() / 从硬盘交换到内存 public void setSessionContext(SessionContext ctx) / Ejb 包容器初始化 pub

19、lic int businessDeal( BusinessObject I_Object) -业务处理逻辑 ,实体Bean,描述的数据集合 提供一些方法,操作数据 永久性 基类模板 public void ejbPostCreate(UwkDto uwkdto) throws CreateException public void ejbRemove() throws RemoveException public void ejbLoad() public void ejbStore() public void ejbActivate() public void ejbPassivate()

20、 public void unsetEntityContext() public void setEntityContext(EntityContext entityContext) ,J2EE 层次结构,J2EE 带来的优势,J2EE 带来的优势,面向Web 的应用开发 界面逻辑与业务逻辑都存放在系统主机,无须安装在各个客户端 信息孤岛问题的解决 EJB 实现了远程异地对象透明的访问; 信息共享时,本地不需要开发任何业务逻辑代码,其业务逻辑代码部署在对应外部系统的应用服务器上。 本地系统开发商不需要了解异地系统业务部件的具体业务逻辑,也不需要编写任何业务代码。 使得各个业务系统的信息都可以得到共享。 可复用程度的高,保护了原来的系统投资 Ejb 提供了面向部件的复用 实现均衡负载,重新调整主机的负载 当应用服务器负载过重时,可以通过添购比较廉价的主机设备,将负载过重的服务器上运行的Ejb业务逻辑部件,分散部署到不同的主机上。 减小开发周期,减少开发成本,降低开发风险 利用原先投资开发的成熟的Ejb业务部件 在市场上外购成熟稳定的Ejb部件;如流程管理部件,报表制定部件、数据分析部件等,J2EE 带来的优势,标准透明的资源管理 标准的,与数据库平台无关,接口标准。 透明的,编程人员无须关心连接池的关闭与否,降低了系统开发风险 连接池的管理,减少了空闲无

温馨提示

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

评论

0/150

提交评论