J2ee简介
- 格式:pps
- 大小:840.00 KB
- 文档页数:83
什么是J2EEJ2EE: 电子商务和信息技术的快速发展以及对它们的需求给应用程序开发人员带来了新的压力。
必须以比以前更少的金钱、更少的资源来更快地设计、开发企业应用程序。
为了降低成本,并加快企业应用程序的设计和开发, J2EE 平台提供了一个基于组件的方法,来设计、开发、装配及部署企业应用程序。
J2EE 平台提供了多层的分布式的应用模型、组件再用、一致化的安全模型以及灵活的事务控制。
您不仅可以用比以前更快的速度向市场推出创造性的客户解决方案,而且您的平台湾搞独立立的、基于组件的J2EE 解决方案不会被束缚在任何一个厂商的产品和API 上。
1. J2EE 规范定义了以下种类的组件应用客户组件。
Enterprise JavaBeans 组件。
Servlet及JavaServer Pages(JSP 页面)组件(也被称作Web 组件)。
Applet。
一个多层的分布式的应用模型意味着应用逻辑被根据功能划分成组件,并且可以在同一个服务器或不同的服务器上安装组成J2EE 应用的这些不同的组件。
一个应用组件应被安装在什么地方,取决于该应用组件属于该多层的J2EE 环境中的哪一层。
这些层是客户层、We b层、业务层及企业信息系统层( EIS )等。
(1) 客户层J2EE 应用可以是基于Web 的,也可以是不基于Web 的。
在一个基于Web 的J2EE 应用中,用户的浏览器在客户层中运行,并从一个We b服务器下载Web 层中的静态HTML 页面或由J S P或Servlet 生成的动态HTML 页面。
在一个不基于Web 的J2EE 应用程序中,一个独立客户程序不运行在一个HTML 页面中,而是运行在其他一些基于网络的系统(比如手持设备或汽车电话)中,Applet 程序,在客户层中运行,并在不经过Web 层的情况下访问Enterprise Beans。
这个不基于Web 的客户层可能也包括一个JavaBeans 类来管理用户输入,并将该输入发送到在企业层中运行的Enterprise Beans类来进行处理。
J2EE的体系架构——J2EEJ2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition),它的核⼼是⼀组技术规范与指南,提供基于组件的⽅式来设计、开发、组装和部署企业应⽤。
J2EE使⽤多层分布式的应⽤模型。
J2EE分层:客户层,执⾏在客户计算机上的组件,⽤户与系统的接⼝逻辑,通过http协议的来訪问应⽤server。
表⽰层,执⾏在J2EEserver上的组件,通过与业务逻辑层互动。
将⽤户须要的数据以适当的⽅式输出。
业务逻辑层,相同是执⾏在J2EEserver上的组件。
企业信息系统层(EIS),是指执⾏在EISserver上的软件系统。
以上层次⼀般也指三层应⽤,也就是客户层+J2EE应⽤服务层+企业信息系统层。
分布在三个不同位置:客户计算机、J2EEserver及后台的数据库或过去遗留下来的系统。
客户层Web浏览器也称Webclient,以标准格式来显⽰从server传递过来的⽹页,它们传递给浏览器时已经是HTML或者XML格式,浏览器正确的显⽰给⽤户。
⼩应⽤程序(Applet)是嵌在浏览器中的⼀种轻量级client。
当web页⾯不能充分的表现数据或者应⽤界⾯的时候,才使⽤它,Applet是⼀种替代web页⾯的⼿段。
可以使⽤J2SE开发Applet。
Applet⽆法使⽤J2EE中的各种Service和API。
须要执⾏在client安装了Java虚拟机的Web浏览器上。
应⽤程序clientJ2EE应⽤程序client相对Applet⽽⾔。
是⼀个较重量级的client,可以使⽤⼤多数的服务和API,它执⾏在客户机上,能提供强⼤⽽灵活易⽤的⽤户界⾯,如使⽤Swing或AWT创建的图形化的⽤户界⾯(GUI)。
当然。
应⽤程序可直接訪问执⾏在业务层的Bean,假设需求同意。
也可以打开HTTP连接,建⽴与执⾏在Web层上的Servlet之间的通讯。
J2EE应⽤server两⼤容器EJB容器+Web容器,即业务逻辑层+表⽰层Web容器管理全部的Servlet等Web组件的执⾏。
J2EE相关技术介绍J2EE 技术介绍J2EE 概述为了解决企业在软件开发中出现的问题,SUN 公司提出的以Java 2 平台为核心一种框架方案J2EE。
它的出现精简了企业软件开发、部署过程,为企业建造高质量的应用系统提供了好的支撑,解决了传统两层模式(Client/Server)下客户端庞大的弊端。
J2EE 平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web 的多层应用系统提供了强大的支持,本质上是一个分布式的服务器应用程序设计环境。
2005 年 6 月,J2EE 正式更名为Java EE。
J2EE 的四层模型J2EE 采用多层的分布式模型,J2EE 应用程序既可以是三层结构,也可以是四层结构。
典型的基于B/S 的J2EE Web 应用四层结构包括客户层、控制层、业务层和持久层,分层图如图 2.1 所示:1客户层客户层又称为用户层。
简单来理解就它主要是与客户双向互动的,既接收来客户的命令或请求又把来自系统的执行结果展示给用户。
J2EE 客户端有许多,可以是基于Web 或者不是基于Web。
通常用户层采用Web 客户端,也就是瘦客户端,显示由JSP 或Servlet 产生的Web 页面。
客户层一般不实现如数据库操作(sql)、完成复杂的业务逻辑这样的功能。
Web 客户端基于浏览器形式,维护、使用、升级方便,不需要单独再次安装客户端。
2控制层控制层又称Web 层。
它的主要作用是接收来自客户端的请求(Request),并对客户的请求产生相应的响应(Response)。
J2EE 平台中,控制层是由Web容器内的组件来实现,可以解决系统异构性问题,实现系统的通用性、可伸缩性、易维护性。
3业务层业务层或EJB 层主要是满足某些领域(教育业和金融业)特定业务需要的。
通常情况下,业务层提供业务服务组件供应用程序使用。
业务组件通常被实现EJB(Enterprise JavaBeans)组件,并由EJB 容器负责管理和执行。
J2EE门户网站系统的技术架构介绍1.1J2EE 门户网站系统的技术架构介绍1、政府门户网站技术架构考虑到政府门户建设的现在和发展需求,系统应用平台具备跨平台、支持多种数据库环境的能力,采用组件化设计方式,易于扩展和维护。
(1)门户网站建设和一般网站建设相比较,具有如下特点1)信息量大,信息更新及时性要求高,访问量大;2)对改版的要求迫切,系统易用性、稳定性要求高;3)采、编、发流程可定制;4)宽带多媒体内容支持;(2)从逻辑体系架构来看,办公信息系统分为多个层次1)用户层:与系统连接的外部实体。
用户通过浏览器访问管理信息系统。
具有交互功能,进行填写信息、提交请求的操作,请求结果返回在客户端显示。
2)权限控制层:按照用户管理和权限控制列表,审核用户的合法性和访问权限,保证系统和信息安全。
用户个性化界面控制。
3)表示层:对最终用户提供友好的界面,更好地为系统用户提供优质服务。
4)信息接入层:这层中的Web服务器用于对外提供基本的静态信息传递服务,向后台应用服务器提供客户请求信息并接收返回的信息。
5)应用层:完成业务的逻辑控制和流程处理,进行初步的应用安全控制和权限检查,记录原始的交易日志,进行交易的存储转发等。
对外提供应用服务器、数据服务器逻辑功能,由运行在应用服务器上各个子系统完成。
比如:目录服务器用于支持轻量级目录访问传输协议(LDAP)目录服务。
6)据访问层:采用统一的方法访问后台数据。
这层中的数据库系统用于结构化信息的存储和处理,是系统的数据核心。
邮件服务器用于提供系统的邮件支持。
7)系统层:提供应用系统的运行环境平台和对硬件系统的管理操作。
8)硬件层:提供整个系统的硬件平台。
确保系统正常运行。
(3)平台技术体系架构应用支撑平台采用先进的、流行的三(多)层技术体系架构,分别为:用户层、业务逻辑层、数据存储层,如下图所示:1)用户界面层:通过用户权限和信息权限过滤后,统一用户界面显示,接收用户界面操作和查询请求,将业务逻辑处理后的数据生成用户界面。
J2EE的13种核心技术简介Java最初是在浏览器和客户端机器中粉墨登场的。
当时,很多人质疑它是否适合做服务器端的开发。
现在,随着对Java2平台企业版(J2EE)第三方支持的增多,Java被广泛接纳为开发企业级服务器端解决方案的首选平台之一。
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持。
在本文中将解释支撑J2EE的13种核心技术:JDBC,JNDI,EJBs,RMI,JSP,Javaservlets,XML,JMS,JavaIDL,JTS,JTA,JavaMail和JAF,同时还将描述在何时、何处需要使用这些技术。
当然,我还要介绍这些不同的技术之间是如何交互的。
此外,为了让您更好地感受J2EE的真实应用,将在WebLogic应用服务器,来自BEA Systems公司的一种广为应用的产品环境下来介绍这些技术。
不论对于WebLogic应用服务器和J2EE的新手,还是那些想了解J2EE能带来什么好处的项目管理者和系统分析员,相信本文一定很有参考价值。
1、宏观印象:分布式结构和J2EE过去,二层化应用--通常被称为client/server应用--是大家谈论的最多的。
在很多情况下,服务器提供的惟一服务就是数据库服务。
在这种解决方案中,客户端程序负责数据访问、实现业务逻辑、用合适的样式显示结果、弹出预设的用户界面、接受用户输入等。
client/server 结构通常在第一次部署的时候比较容易,但难于升级或改进,而且经常基于某种专有的协议,通常是某种数据库协议。
它使得重用业务逻辑和界面逻辑非常困难。
更重要的是,在Web 时代,二层化应用通常不能体现出很好的伸缩性,因而很难适应Internet的要求。
Sun设计J2EE的部分起因就是想解决二层化结构的缺陷。
于是,J2EE定义了一套标准来简化N层企业级应用的开发。
它定义了一套标准化的组件,并为这些组件提供了完整的服务。
J2EE 简介计算机与信息学院2012.12声明••本课件为计算机与信息学院硕士研究生课程专用;•本课件为非正式出版物,仅供选课同学参考,不得外传。
如有不当之处,欢迎指正、交流;•在制作本课件的过程中,参阅了大量的学术论文、论著和教材,有些没有一一列举,对它们的作者表示真诚的感谢。
硕士课程J2EE软件复用J2EE概述J2EE提供的服务J2EE技术特征与优势J2EE的未来发展1 J2EE概述J2EE——Java 2 Enterprise Edition⏹J2EE起源☟发起者:Sun公司在1997年度Java One大会上发布的。
☟目的:为开发和部署企业级Web应用制定标准。
通过J2EE,Java语言与工具得以延伸到那些复杂的、多层的电子商务和企业级应用当中。
⏹J2EE含义☟J2EE是针对Web服务、业务对象、数据访问和消息传送的一组规范。
这组应用编程接口(API)确定了Web应用与驻留它们的服务器之间的通信方式。
☟J2EE对于组件模型的开发提供广泛的支持,且对以模块化、可重用、平台独立组件的方式构建业务逻辑方面提供相应的工具与服务。
建立标准,使Web应用的部署与服务器无关;使服务器能控制组件的生命周期和其它资源,以便能够处理扩展、并发、事务处理管理和安全性等问题。
⏹J2EE构成☟J2EE平台规范:定义了一个J2EE服务器端平台供应商所必须遵守的规范,与其它规范的协同机制,即APIs和策略。
☟J2EE应用程序编程模型:一个标准的开发多层、瘦客户端应用程序的编程模型。
硕士课程软件复用J2EE体系结构数据逻辑(数据层)HTML 客户WEB 服务器业务逻辑(业务层)显示逻辑(表示层)Java AppletCORBA 客户JSPServlet Java 应用程序HTTP应用服务器IIOPRMI-IIOPRMI-IIOPEJB Session Bean连接器connectorEJB Entity Bean用其它语言编写的程序CORBA 代理RMI-IIOP数据库现有系统遗留系统ERP 系统JDBCJ 2E E对象模型软件复用硕士课程J2EE —J2EE 概述☟J2EE 兼容性测试环境:用于验证J2EE 平台产品是否与J2EE 平台标准兼容的一整套兼容性检测组件。
☟J2EE 参考实现:J2EE 规范的完整实现,证明了J2EE 规范的可实现性,并可以直接供应开发人员进行开发。
2 J2EE 提供的服务⏹显示逻辑⏹数据连接⏹事务支持⏹企业级Java 组件(EJB )⏹Java 接口定义语言(IDL)⏹通信机制⏹XML ⏹安全显示逻辑在J2EE应用中,显示逻辑用来负责将客户端应答交给某一请求的服务器端代码。
例如,客户端的显示逻辑可以是“当请求收到时报告现在时间”一类。
编码服务器端显示逻辑可以采用Java Servlets、JSP、JavaBean以及标记(Tag )库。
HTML页面在Web应用的交互过程中,每一步的输入或者是一个静态的HTML页面,或者是一个由前面一步产生的动态HTML页面。
这些HTML页面包含一个或多个表单,这些表单将为下一步的交互激活Servelt。
输入的数据可以在浏览器端通过HTML页面中的JavaScript进行验证,或者发给服务器后由Servelt来验证。
Java ServeltJava Servlets为接受来自于Web浏览器端的HTTP请求并且返回HTTP应答的服务器端技术,Servelt是使用Java Servelt应用程序设计接口及其相关类和方法的Java程序。
Servlets是一项定义显示逻辑开发方面的企业级Java标准,具有跨服务器平台的特性,可以满足平台之间无缝兼容。
Java服务器页面(JSP)JSP是一种基于Java的脚本技术,它提供与servlets同样的功能,只是其开发接口比servlets更容易使用。
JSP通常是在大多数HTML代码中嵌入少量的Java代码,而servelts全部由Java写成并且生成HTML。
JavaBeanJavaBean是一个开放的标准组件体系结构,它独立于平台,但使用Jav a语言。
一个JavaBean组件(类),在J2EE应用中用它来封装来自于数据库中的数据,或者进行显示或者进行操作。
开发人员创建带有若干个方法的类文件,这些方法典型地用来获得或设置某些值。
⏹数据连接☟Java数据库连接(JDBC)JDBC是数据库连接方面的Java标准。
JDBC规范由一系列标准的Java API的集合来提供连接数据库所需要的所有事情。
厂商提供JDBC 驱动器,映射标准Java API集到底层数据库的那些特定的接口。
客户端JDBC驱动程序Java数据库连接数据库☞JDBC提供的功能用来修改数据库的API:此类操作包括SQL更新和管理命令。
通过建立SQL查询语句从数据库中读取数据的API:此类查询返回ResultSet Java对象,返回JDBC数据库查询的结果。
这些对象使得J2EE开发人员可以编程访问(通过标准API)由某一给定的SQL查询返回的那些值。
支持基本的事务:JDBC提供针对简单SQL语句的自动提交。
因此,一个简单的单个方法调用可以直接将一个SQL语句传递给数据库,并且修改自动提交到数据库中。
支持复杂的事务:JEEE应用服务器提供一个称作JTA的服务,通过它来提供开始事务的能力且可以跨越J2EE服务和JEEE应用服务器之间进行传播。
☞JDBC驱动器类型JDBC-ODBC 桥,与JDK一起配合。
借助它,可以将应用与任何ODBC源连接在一起。
JDBC本地驱动程序桥:驱动程序借助本地库与关系数据库通信,例如在Oracle中是OCI库。
这意味着必须在客户端上提供本地库。
JDBC网络桥:驱动程序是多层的,即驱动程序位于客户端和RDBMS中间。
它建立与RDBMS的连接,是所有请求和响应的通道。
客户端只需加载纯Java就能与第三种驱动程序通信。
纯Java驱动:驱动程序与第二种驱动程序相似,但它不使用本地库,而是借助专用协议直接与RDBMS通信。
事务支持J2EE事务处理模型可以在部署过程中定义组成一个事务处理的方法之间的关系,以便事务处理中的所有方法可以作为一个整体存在。
用户一定希望完成这一任务,因为事务处理是一系列步骤,要么全部执行成功,要么全部回滚。
Java事务处理API(JTA)Java事务处理服务(JTS)分布式事务处理(DTP)事务服务就是协调跨越多个系统的这些相关联的事务,而且以接近实时的方式同时更新它们。
分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生一致的结果(全部提交或全部回滚)。
XA与两阶段提交协议XA就是X/Open DTP定义的事务管理器与数据库之间的接口规范(即接口函数),事务管理器用它来通知数据库事务的开始、结束以及提交、回滚等。
XA接口函数由数据库厂商提供。
通常情况下,事务管理器与数据库通过XA 接口规范、使用两阶段提交来完成一个全局事务。
XA规范的基础是两阶段提交协议。
第一阶段:事务管理器请求所有相关数据库准备提交(预提交)各自的事务分支,以确认是否所有相关数据库都可以提交各自的事务分支。
对已经预提交的事务,数据库将不能继续在该事务分支中加入任何操作,但此时数据库并没有真正提交该事务,数据库对共享资源的操作还未释放(处于上锁状态)。
第二阶段:事务管理器审查所有数据库返回的预提交结果。
如果所有数据库都可以提交,事务管理器将要求所有数据库做正式提交,这样该全局事务被提交。
而如果有任一数据库预提交返回失败,事务管理器将要求所有其它数据库回滚其操作,这样该全局事务被回滚。
以一个全局事务为例。
Step1:AP通知事务管理器开始一个全局事务。
Step2:事务管理器通过XA接口函数通知数据库开始事务,然后AP可以对数据库管理的资源进行操作。
Step3:数据库系统记录事务对本地资源的所有操作。
操作完成后事务管理器通过XA接口函数通知数据库操作完成。
Step4:事务管理器负责记录AP操作过哪些数据库(事务分支)。
Step5:AP根据情况通知事务管理器提交该全局事务。
Step6:事务管理器会通过XA接口函数要求各个数据库做预提交,所有数据库返回成功后要求各个数据库做正式提交,此时一笔全局事务结束。
XA规范对应用来说,最大的好处在于事务的完整性由事务管理器和数据库通过XA接口控制,AP只需要关注与数据库的应用逻辑的处理,而无需过多关心事务的完整性,应用设计开发会简化很多。
如果没有事务管理器,应用系统需要在程序内部直接通知数据库开始、结束和提交事务,当出现异常情况时必须由专门的程序对数据库进行反向操作才能完成回滚。
事务处理协调者Java事务处理服务Java事务处理API事务处理管理者资源管理者数据持久存储客户端JTA和JTSJTA (Java Transaction API)JTA是一个高级事务处理接口,应用程序用来控制事务处理。
JTA给予Web应用开发人员访问数据库系统或任何遗留数据存贮中的事务功能。
事务通过协调单个数据库和多数据库操作来确保所有的数据资源保持精确型和一致性,并且那些对数据库的操作是可以重复和持久的。
JTA组件都定义在javax.transaction和javax.transaction.xa包中。
JTA定义了一个对于分布式应用的资源管理器的高级别事务管理规范,包括JTA事务管理、JTA XA资源管理和JTA应用程序接口。
☞事务处理接口:允许事务处理定界。
完成工作的方式是分布式组件由全局事务处理登记。
这种方法可以使多组操作组成一个事务处理。
☞XA 资源接口:基于能处理分布式事务处理的X/Open/XA接口,有时也称为两阶段提交事务处理,需要多种资源之间的协调,如数据库或序列。
JTS (Java Transaction Service)JTS是CORBA OTS事务监控的基本实现。
在高层支持JTA规范,在较底层实现OMG OTS specification的java映像。
主要作用是为应用服务器、资源管理器、独立的应用以及通信资源管理器提供服务。
通信机制使应用程序可以分布式通信,是建立企业信息系统的基本要求,以分布式服务器模式提供服务或连接分布式服务器的服务作为一个分布式客户程序。
J2EE中提供了三种机制:JNDI、RMI、JMSJava命名和目录接口(JNDI)由于J2EE应用的组件可以独立运行,而且通常是在不同设备上运行,因此客户端和应用服务器层代码必须以某种方式查找和参考其它代码和资源。
JNDI就是一项用来中心注册命名和目录服务的Java标准。
JNDI可以用于当前各种类型的命名系统。
JNDI也可以用于命名和引用位于一个特定的命名系统之外的对象。