版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章 J2EE的概念与体系结构,2,本章目标,了解J2EE规范出现的背景 了解J2EE平台集成的技术 理解基于组件的多层体系结构 领会J2EE体系的优点,3,1.什么是J2EE?,J2EE是什么? J2EE用来做什么? J2EE的发展过程?,4,从应用开发的角度看,信息技术和电子商务的快速发展以及对它们的需求给应用程序开发人员带来了新的压力。须以更少的资金、更少的资源来更快地设计、开发企业应用程序。 J2EE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。,5,从Java语言的发展看,Java语言产生与发展 Sun的创立者提出“网络就是计算机”的独特理念。 95.5 S
2、un公司推出Java技术。10多年来,已发展成为全球第一大软件开发平台。 Java是长时间以来最卓越的程序语言。(Bill Gates),6,从Java语言的发展看,2000年左右,为了进一步开发基于Web的应用,出现了Sun ONE体系结构,以Java语言为核心,包括J2SE、J2ME、J2EE和一系列标准、技术及协议。 与同类Microsoft公司的.Net相比, Sun ONE 更接近或更能满足互联网在智能化Web服务方面对开放性、分布性和平台无关性的要求。,7,从Java语言的发展看,J2EE(Java 2 Platform ,Enterprise EditionJava2平台企业版)
3、,是使用Java进行企业级应用系统开发的一套扩展标准,必须基于J2SE。,8,J2EE是什么,J2EE是一套使用Java进行企业级Web应用开发的事实上的工业标准。 J2EE是一种平台规范,该平台提供了一套基于组件的方法来设计、开发、装配及部署企业应用。 J2EE平台提供了多层分布式的应用模型、重新利用组件的能力、统一安全的模式以及灵活的处理控制能力。,9,J2EE带来的效果,通常的瘦客户端多层次应用程序难于编写,因为它们要设计多行复杂代码,用于处理事务、状态管理、多线程、资源池以及其它复杂的低层细节。,10,J2EE带来的效果,基于组件和独立于平台的J2EE体系结构使得应用程序容易编写 业务
4、逻辑被组织成可重用的组件。 J2EE 服务器以针对每种组件类型的容器形式提供低层服务,可以集中精力解决手边的业务问题。,11,J2EE的发展,90年,Sun公司James Gosling领导的小组设计了一种平台无关的语言Oak,用于为各种家用电器编程。 95.1,Oak改名为Java,5.23 Sun正式发布Java。 96.2,Java beta版结束,Java 1.0诞生。 97.2,Java发展到1.1版。,12,J2EE的发展,99.7,重新组织Java平台的集成方法, 升级到1.2版;Java从一种语言发展成为一种开发平台,并将Java企业级应用开发平台作为发展方向,出现了Sun O
5、NE和Java平台的三个版本J2SE、J2ME和J2EE。,13,J2EE的发展,2000.9,Java升级到1.3版,J2XE 1.3。 2001.7,Java升级到1.4版,J2XE 1.4。 2005年8月, Java升级到1.5版,SUN的伙伴们将J2EE 1.5改名为java EE 5,以前J2EE版本还是称为J2EE。,14,J2EE的发展,目前的产品,J2SDK1.5(Java 5.0)正式版和java 6.0 beta版可用。Java EE 5.0的规范由Sun Microsystems 于11/18/05年发布。,15,2. J2EE的框架,J2EE包含什么? J2EE的框架
6、和特点是什么? 框架中主要技术。,16,J2EE包含什么,企业应用复杂性导致J2EE包含内容的复杂性。 J2EE包括JSP,Servlet, JNDI,RMI, JDBC,EJB,JMS,JavaMail,JMX, JTA,JCA等规范。,17,J2EE的框架,JavaTM平台中各元素之间的必要关系如图EE.2-1所示。 注意,图中所示为元素之间的逻辑关系,并不是说将各元素物理划分到不同的机器、进程、地址空间或虚拟机中。,18,EE.2-1 Java EE Architecture Diagram,19,J2EE的框架,符号释义 矩形表示容器。 表示应用程序组件。 格子表示容器提供的服务。 箭
7、头表示对部件的访问。客户端容器通过JDBC API为客户端应用程序提供对数据库的直接访问。 J2SE为每种应用程序组件提供服务,服务的APIs都由J2SE运行时环境支持(jre)。,20,J2EE的框架,Java EE应用程序组件 客户端应用程序。 Applets。 Servlets,JSP页面,JSF(JavaServer Faces)应用程序,过滤器和Web事件监听器。 企业JavaBeans (EJB)组件。,21,J2EE的框架,容器 容器是Java EE的运行环境,这种环境是为应用组件服务的。各容器为相应类型的应用程序组件提供底层服务,如各矩形下半部的格子表示 。,22,J2EE的框
8、架,四类容器 EJB容器 Web容器 Application Client容器 Applet容器,23,JAF StAX JAXR SAAJ JACC,24,25,26,27,J2EE的框架,Java EE服务器 Java EE服务器为适合的应用程序组件提供配置、管理和运行支持。 注意区分Web服务器和应用服务器,如Tomcat与Jboss。,28,J2EE的框架,Java EE服务器与容器之间的关系 服务器是Java EE容器基础,容器是它的一部分。,29,J2EE的框架,资源适配器 资源适配器是一个系统级的软件组件,它主要实现到外部资源管理器的网络连接。,30,J2EE的框架,Java E
9、E标准服务 每种容器提供相应的服务,如邮件服务、消息服务、安全服务、连接器提供的服务等,对每种服务都有相应的规范。,31,J2EE的特点,J2EE本身复杂,实现技术多样。 集成现有的企业信息系统。 提供可扩展性等。,32,J2EE规范简介,J2EE是Sun公司推出的一种全新概念模型。,33,J2EE规范简介(续),服务由分布的应用程序组成,包括前端数据端和后端数据源以及它们之间的一层或几层。 J2EE正是降低了开发这种中间层服务的成本和复杂程度。,34,J2EE规范简介(续),J2EE是一种规范,为软件开发生命周期制定了许多规则,使编码标准化 ,包括: 设计企业应用 把角色分配给与开发软件(规
10、划与产品)有关的人 应用打包 把用于J2EE的技术标准化 把不同的技术之间的交互标准化 为Java应用服务器提供了一个标准,35,J2EE 技术简介,J2SE 不支持服务器端部署。 企业 API 为服务器端部署提供企业级服务。 J2EE 是用于在分布式环境中开发、部署和执行应用程序的体系结构。,36,J2EE 技术简介(续),J2EE包括 JSP Java Servlet 企业 JavaBean (EJB) Java 远程方法调用和 RMI-IIOP Java 命名和目录接口 (JNDI) Java 数据库连接 (JDBC),37,J2EE 技术简介(续),J2EE包括 Java 事务 API
11、 (JTA) 和 Java 事务服务 (JTS) Java 消息传递服务 (JMS) Java IDL Java Mail 连接器 可扩展标记语言 (XML) 等,38,J2EE 技术简介(续),客户端技术 包括Java applets和客户端应用程序 (这些也包 括HTML和XML文件) 。 组件技术 被用来创建商业组件,这是应用最重要的部分。 包括 Servlets、JSP和EJB三种技术。,39,J2EE 技术简介(续),服务技术 提供必要支持,确保组件能发挥充分作用。 通信技术 HTTP、HTTPS、RMI等。,40,组件技术,软件组件是实现明确定义接口的代码。 组件不是完整的应用程序
12、。 企业 JavaBean (EJB) 是可以立即部署的组件,它定义可部署组件的组件体系结构。 组件在J2EE规范中有更广泛的含义组件是应用级的可重用单元。,41,组件技术(续),一个符合J2EE规范的产品必须支持四种类型的组件 客户端应用一般的胖客户端Java应用,使用RMI访问应用服务器。 Applets可视化客户端,在网络浏览器之内执行。 Servlets和JSP使在HTML 、XML和其它网络语言中,加入动态的内容成为可能。 Enterprise JavaBeans在应用服务器的容器中执行的组件,封装和管理商业逻辑。,42,组件技术EJB简介,EJB结构是一种分布式的组件模型,用来开发
13、安全的、可扩展的、事务性的、多用户的组件。 EJB是一些包含业务逻辑的可重用的软件单元。 EJB有两种形式:会话Bean和实体Bean。,43,组件技术EJB简介(续),EJB允许把应用逻辑从系统级服务中分离出来,让开发者的精力集中在商业领域的问题上,而不是系统级的程序设计上。,44,组件技术容器简介,容器是一种J2EE运行时组件,它管理不同的应用组件,并且允许对J2EE API的访问。 每个组件都活在容器里,容器为组件提供运行时服务。,45,组件技术容器简介(续),容器执行下述的任务 装载组件 提供事务服务 提供安全管理 提供对必要环境变量的访问 对象实例池 管理状态,46,组件技术容器简介
14、(续),在J2EE体系中,有不同类型的容器 Applet容器 客户应用容器 Web容器 装载JSP和Servlet应用组件,这些组件实现了Web客户需要的功能。 EJB容器 装载实体Bean 、有状态Bean 、无状态Bean 、消息Bean 。,47,组件技术容器简介(续),J2EE容器的体系结构分成四个部分 组件约定 为了让组件能够在容器运行环境中被管理,应用组件必须遵守容器定义的某种约定。 容器服务API J2EE平台规范定义了一套每个具体的J2EE平台都必须支持的Java标准扩展接口。Java容器提供了服务级的API抽象。,48,组件技术容器简介(续),J2EE容器的体系结构分成四个部
15、分 声明服务 具体的实现方式称为部署。部署定义了容器和组件之间的结构约定,要为每组应用组件定义一个部署。 其它的容器服务 对组件生命周期的管理、集群技术等。,49,组件技术EJB容器简介,编写EJB组件的主要目的就是为了利用EJB容器所提供的服务, 包括 持续化 声明性事务 数据缓存 声明性安全性 错误处理 业务逻辑的组件框架 伸缩性与错误修复 可移植性 可管理性,50,组件技术EJB容器简介(续),EJB容器的作用 负责管理EJB 为EJB提供运行时环境 为EJB提供系统级服务 作为客户端和EJB之间的中间件,51,服务技术,服务技术包含下述内容 JDBC JDBC 2.x应用程序接口包括两
16、部分2.x核心应用程序接口( java.sql包)和JDBC 2.x可选的应用程序接口包( javax.sql包) 。 Java事务API(JTA)和服务。 Java名字和目录接口JNDI 提供了名字服务,把一个名称与一个对象相联系,这样能使用指定的名称定位对象。,52,容器服务,事务管理 事务是多个组件参与分布式对象操作的安全方式。 安全性 验证用户是否能够执行某种任务。 远程可访问性 EJB容器使用 Java 远程调用 (RMI) 接口实现远程可访问性。 数据库连接池 管理数据库连接池。 资源管理和 Bean 生命周期管理 控制所部署的企业 Bean 组件的生命周期。,53,通信技术,通信
17、技术使得J2EE应用中的组件和服务彼此通信,它是重要的组成部分 Internet协议 主要指TCP/IP协议族 HTTP协议。 安全套接字协议(SSL) 当传送重要信息时,它将数据加密后在网络上传送。 远程对象协议 主要用于分布式应用中,这使组件分散在多个服务器上,彼此之间采用远程对象协议来通信 。包括RMI 、RMI-IIOP 、Java接口定义语言即IDL 、JMS 、JavaMail 。,54,通信技术(续),J2EE平台通过不同的方式与外界通信 应用程序接口。定义了应用组件和J2EE平台之间的接口。 网络协议。一般采用HTTP(或者HTTPS)、RMI和外界应用交互。 部署描述。采用X
18、ML语言,描述J2EE应用行为和配置,描述每个模块和应用怎样部署。,55,3.J2EE的体系结构,软件开发体系结构 二层体系结构 三层体系结构 J2EE三层体系结构 J2EE的N层体系结构,56,软件开发体系结构,“理想的建筑师应该既是文学家又是数字家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。” -Vitruvius(古罗马建筑师),约公元前 25 年,所以开发良好的企业应用程序的第一步就是寻找优秀的,系统构架师,57,软件开发体系结构 (续),传统的客户服务器系统基于两层体系,如图:,58,二层体系结构,没有任何中间层。 业务逻辑层与表示层
19、或数据层结合。,59,二层体系结构(续),二层体系结构的特点 数据库连接所需成本较高。 数据库驱动程序的切换成本较高。 数据库类型的切换成本较高。 数据库模式的切换成本较高。 业务逻辑的移植成本较高。 部署成本较高。,60,三层体系结构,由表示层、业务逻辑层和数据层组成。 各层的功能如下 表示层主要由 HTML等组成。 业务逻辑层为业务逻辑组件提供运行时环境。 数据层由数据库组成,并以存储过程的形式包含数据相关逻辑。,61,三层体系结构(续),62,三层体系结构(续),特点 所有层均可独立运行。 部署成本较低。 数据库间的切换成本较低。 业务逻辑的移植成本较低。 错误被局限在单个层中。,63,
20、中间层,处理客户端的请求,使客户端不用进行复杂的数据库处理。 透明地为客户端执行许多工作,如查询数据库、执行业务规则和连接现有的应用程序。 使开发人员可以创建适用于企业的大型分布式应用程序。,64,J2EE三层体系结构,J2EE 体系结构基于三层体系结构 表示层由处理用户交互的客户端组件及其容器所组成。 业务逻辑层由解决业务问题的组件组成。 数据层由一个或多个数据库组成,并可包含存储过程。,65,J2EE三层体系结构(续),66,J2EE三层体系结构(续),业务逻辑层由两个容器组成 Web 容器 JSP 和 Servlet 组件由 Web 容器管理。 EJB 容器 EJB由EJB容器管理。,6
21、7,J2EE的N层体系结构,J2EE是分层体系,分为许多功能层。 理想的J2EE体系包括六个层:表示、应用、服务、域、连通性和持续化。 这些层物理上横跨客户机和服务器,而他们逻辑上划分为Web容器、EJB容器和数据库。,68,J2EE的N层体系结构(续),69,J2EE的N层体系结构(续),表示层被划分成两个部分 客户端层:管理与用户的输入输出交互作用。该层提供HTML,表示应用数据 。J2EE还支持诸如applets,独立应用或者CORBA客户等其他类型的客户。 服务器端层:服务器端表达层包括JSP。JSP被用来产生Web的动态内容。这层把应用数据以网页的形式呈献给浏览器,然后数据按照在JS
22、P中开发的预定的方式表示出来。这层也称为布局层。,70,J2EE的N层体系结构(续),应用层:是客户端表达层和服务层之间相互作用的中介,根据用户请求来调用服务,也称为逻辑层。其主要的责任如下 适应对域进行分布式的表示。 从用户接口收集数据,解释数据并且发回数据。 为表示层保持会话的状态。 处理在服务激活期间发生的例外情况,在需要时提交给用户。 应用层容器的责任是实例化必要的商业组件和表示组件,可以是Servlet或者JSP。在这一层上更倾向于Servlet。Servlets对HTTP会话的会话管理负责。,71,J2EE的N层体系结构(续),服务层:为商业使用案例和应用要求的有用操作提供应用程序
23、接口。服务层可以是域模型的封装层。客户通过请求服务与应用的域模型交互,但是他们接触不到实际的域对象。有下述好处 服务层方法能对牵涉到多个域对象的事务处理负责。 服务允许掩藏系统规划。 掩藏规划,能在对象分布中提供更大的灵活性,进而改进性能。 许多应用能共享一套服务。 服务也提供一种十分高的杠杆作用测试点。,72,J2EE的N层体系结构(续),具有良好的层次、健壮的服务层的体系为可行的、可扩展的J2EE应用形成基础。服务层由如下组成部分形成 简单Bean 会话Bean 事务相关的组成部分,73,J2EE的N层体系结构(续),域层:是应用的问题领域中抽象出来的模型。 商业规则和语法被嵌入在域层中的域对象中。它对加强商业规则和过程负责,新信息的语义检查也在域层进行。 形成域层的组成部分是应用的真正模型,主要是实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厦门城市职业学院《宏观经济学》2025-2026学年期末试卷
- 中国药科大学《中国对外贸易史》2025-2026学年期末试卷
- 广东二模试题试卷及答案
- 福建师范大学协和学院《系统解剖学下》2025-2026学年期末试卷
- 九江学院《成本会计》2025-2026学年期末试卷
- 汽车回收拆解工道德知识考核试卷含答案
- 水声换能器制造工安全生产基础知识强化考核试卷含答案
- 复印设备制造工成果转化水平考核试卷含答案
- 化学检验员安全宣贯竞赛考核试卷含答案
- 计算机芯片级维修工岗前全能考核试卷含答案
- 2025初中英语词汇3500词汇表
- DB32-T 5236-2025 粮食生产“无人化农场”建设规范
- 2025年矿业工程采矿工程真题试卷(含答案)
- 2025年(新)基础考试电力交易员高级试题与答案
- 《四川省农村居住建筑抗震技术规程(修订)》
- 网络安防基本知识培训课件
- 物理竞赛中力学弹簧弹力问题试题及答案
- 2025年海南省海口市中考数学试题卷(含答案及解析)
- 青海省-玉树藏族自治州区划代码
- 2025内蒙古有色地质矿业(集团)综合普查有限责任公司招聘10人笔试参考题库附带答案详解(10套)
- 2025年湖南省初中学业水平考试中考(会考)生物试卷(真题+答案)
评论
0/150
提交评论