J2EE 即Java2平台企业版,它提供了基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型,这个多层通常通过三层或四层来实现:

  1. 客户层,运行在客户计算机上的组件。
  2. Web 层,运行在J2EE服务器上的组件。
  3. 业务层,同样是运行在J2EE服务器上的组件。

以上层次一般也指三层应用,因分布在三个不同位置:客户计算机、J2EE服务器及后台的数据库或过去遗留下来的系统。请看图例

 J2EE组件

  J2EE应用程序是由组件构成的。J2EE组件是一个封装了功能的软件单元,能够与相关的一些类和文件一起组成J2EE应用程序。

  1. 应用程序客户端和Applet是指运行在客户计算机上的组件。
  2. 基于Java Servlet和JSP技术的组件叫Web组件,它们运行在服务器上。
  3. 企业JavaBean(EJB)组件叫业务组件,同样运行在服务器上。

 J2EE客户端

 J2EE客户端可以是一个Web组件或者是一个应用程序客户端。

  1. Web客户端 
    包括两部分,首先是那些动态Web页面(HTML、XML等),这些组件运行在Web层;另一个是Web浏览器,由客户机上的浏览器从服务器接收并且解析和显示Web页面。
  2. 小应用程序(Applet) 
    需要运行在客户端安装了Java虚拟机的Web浏览器上。
  3. 应用程序客户端 
    J2EE应用程序客户端运行在客户机上,能提供强大而灵活易用的用户界面,如使用Swing或AWT创建的图形化的用户界面(GUI)。应用程序可直接访问运行在业务层的企业Bean,如果需求允许,也可以打开HTTP连接来建立与运行在Web层上的Servlet之间的通讯。
  4. JavaBean组件架构 
    在服务器和客户端两层中也可能包括了基于JavaBean的组件架构,通过JavaBean来实现数据的流动,可以是在应用程序客户或Applet与运行在J2EE服务器上的组件之间,或者是在J2EE服务器和后台数据库之间。(不过JavaBean组件并没有包含在J2EE规范里)
  5. J2EE服务的通讯 
    客户层与J2EE服务器上运行的业务层之间的通讯可以是直接的,也可以通过运行在Web层中的Servlet和JSP来实现,在这种情况下,客户运行在浏览器中。

 Web组件

 J2EE的Web组件可以是Servlet或JSP页面。在应用程序组装过程中,静态HTML页面和Applet也可以一起打包成Web组件,但这并不是J2EE规范所认可的Web组件。

 业务组件 
 业务代码是指那些由位于业务层的企业Bean(EJB)执行的逻辑,它们能够解决或满足特定的商业领域的一些需求。有三种不同类型的企业Bean:会话Bean、实体Bean和消息驱动Bean。会话Bean代表客户一次短暂的会话过过程,当客户执行完成后,会话Bean以及它所包含的数据也随之消失。实体Bean代表的是持久的数据,即存储在数据库表中的一行记录,即使客户终止或者服务器关闭,在J2EE底层的会服务确保实体Bean的数据被保存下来。

 归纳几个概念:

 EJB

 即Enterprise JavaBean,一种组件架构,用于开发和部署面向对象的、分布式的、企业级的应用程序。所开发的应用程序使用EJB架构来实现可扩展性及管理事务和安全。

 EJB包括会话Bean(session bean)、实体Bean(entity bean)和消息驱动Bean(message-driven bean)。其中会话Bean分为无状态会话Bean(stateless session bean)和有状态会话Bean(stateful session bean)。而实体Bean又分为Bean管理实体Bean和容器管理实体Bean。由于这种Bean对应于数据库中的记录,所以数据库记录的任何改变也被同步到组件池中的相关Bean中,这个过程叫做持久性(persistenced),这是实体Bean最重要的一个特征。根据持久性操作方式的不同分为:容器管理持久性(Container-Managed Persistence,CMP)和Bean管理持久性(Bean-Managed Persistence,BMP)。

 容器

 即container,一个实体,它管理着组件的生命周期、安全、部署和运行时服务。每个类型的容器都只提供与相应类型的组件相关的服务,如EJB、Web、JSP、Applet和应用程序客户端。其中,EJB容器和Web容器都运行在J2EE服务器中。

 J2EE

 即Java 2 Platform Enterprise Edition,Java 2 平台企业版。是开发和部署企业应用程序的一种平台或环境。它由一系列服务、应用程序编程接口(API)、提供多层开发的功能性的协议以及基于Web的应用程序组成。

J2EE的体系结构是指什么?的更多相关文章

  1. J2EE 的体系结构

    J2EE 即Java2平台企业版,它提供了基于组件的方式来设计.开发.组装和部署企业应用.J2EE使用多层分布式的应用模型,这个多层通常通过三层或四层来实现: 1.客户层,运行在客户计算机上的组件.  ...

  2. J2EE、J2SE、J2ME是什么意思?

    本文介绍Java的三大块:J2EE.J2SE和J2ME.J2SE就是Java2的标准版,主要用于桌面应用软件的编程:J2ME主要应用于嵌入是系统开发,如手机和PDA的编程:J2EE是Java2的企业版 ...

  3. oracle 体系结构

    oracle 体系结构 数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. 1. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序 ...

  4. 三、oracle 体系结构

    1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracle工作原理: 1).在数据库 ...

  5. oracle 体系结构解析

    三.oracle 体系结构 1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracl ...

  6. Oracle基础(九) Oracle的体系结构

    一.Oracle体系结构概述: Oracle的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制.要了解Oracle数据库的体系结构,必须理解Oracle系统的重要概念和主要 ...

  7. J2EE、J2SE、J2ME

    http://developer.51cto.com/art/200906/130453.htm 本文介绍Java的三大块:J2EE.J2SE和J2ME.J2SE就是Java2的标准版,主要用于桌面应 ...

  8. 如何使用JCA (J2EE 连接器架构)实现企业应用--转载

    JCA (J2EE 连接器架构,Java Connector Architecture)是对J2EE标准集的重要补充.因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发.连接器特指基 ...

  9. Java前辈:学习J2EE流程中的经验和教训

    Java前辈:学习J2EE流程中的经验和教训   在这里我谈谈我在学习j2ee流程,并谈到在此过程中领会的经验和教训.以便后来者少走弯路. Java发展到现在,按应用来分主要分为三大块:J2SE,J2 ...

随机推荐

  1. 现已告别五险一金?迎来社保商保时代保险INSURAUNCE

    现已告别五险一金?迎来社保商保时代保险INSURAUNCE 经济工作会议提出,中国要降低社会保险费,研究精简归并"五险一金",可以说是为社保变革指明了大方向.未来,生育保险将与基本 ...

  2. X32位 天堂2 二章/三章 服务端协议号修改方法

    [本方法适合于2004-2006年之间天堂2由初章服务端修改至二章.三章端时协议号匹配问题]服务端版本位32位初章服务端 目前大部分SF用的协议号情况: 服务端是419 客户端是 417 419 42 ...

  3. Web Workers文档

    Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法.线程可以执行任务而不干扰用户界面.此外,他们可以使用XMLHttpRequest执行 I/O  (尽管responseXML和 ...

  4. 20135327郭皓——Linux内核分析第二周 操作系统是如何工作的

    操作系统是如何工作的 上章重点回顾: 计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的 ...

  5. beta4

    吴晓晖(组长) 过去两天完成了哪些任务 昨天FloatingActionButton和权限获取调整 今天复习,没写东西,晚点有空了写 展示GitHub当日代码/文档签入记录 接下来的计划 推荐算法 还 ...

  6. 第三周(JAVA编写的 wordcount)

    import java.io.*; public class WordCount { public static int words=1; public static int lines=1; pub ...

  7. DHCP全局配置文件解析

    作用 参数 ddns-update-style  类型 定义DNS服务动态更新的类型,类型包括:none(不支持动态更新), interim (互动更新模式)与ad-hoc(特殊更新模式) allow ...

  8. DHCP介绍

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...

  9. msyql: navicat 连接时msyql遇到的问题

    1.使用 mysql的用户,密码连接 服务器上的MySQL时,连接不上,报 100xx的错误. 1)原因是,MySQL默认情况下,只允许本地连接[127.0.0.1,或localhost]来连接mys ...

  10. delphi clientdataset判断某一行值是否存在

    ClientDataSet的数据查找.我所介绍的心得和技巧都是用ClientDataSet来做范例,也可以应用于其他的一些DataSet.废话就不多说了.我们还是先看代码,让后再总结.1.Scanni ...