对于J2EE体系架构的理解

article/2025/9/22 13:18:47

一、何为J2EE?

J2EE架构是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统客户端\服务端模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。

二、体系结构

J2EE的体系结构可以分为四层,如下图所示:

图1 J2EE体系结构

·客户端层:负责与用户直接交互,J2EE支持多种客户端,所以客户端既可以是WEB浏览器,也可以是专用的Java客户端。

·服务器端组件层:本层是为了基于WEB的应用服务的,利用J2EE中的JSP与Java Servlet技术,可以响应客户端的请求,并向后访问封装有业务逻辑的组件。

·EJB层:本层主要封装了业务逻辑,提供了事务处理,负载均衡、安全、资源连接等各种基本服务,程序在编写EJB时可以不关心这些基本的服务,集中注意力于业务逻辑的实现。

·企业信息系统层:企业信息系统层包括了企业的现有系统(包括数据库系统、文件系统),J2EE提供了多种技术以访问这些系统,如JDBC访问DBMS。

三、组件支持

J2EE应用程序是由组件构成的。J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。J2EE规范中定义了下列J2EE组件:

(1)客户层组件,包括客户端应用程序和Applets;

(2)Web层组件,包括Java Servlet和Java Server Pages(JSP);

(3)业务层组件,即Enterprise JavaBeans(EJB)。

1.客户层组件

J2EE应用程序可以是基于Web方式的,也可以是基于传统方式的。

Web层组件:J2EE Web层组件可以是JSP页面或Servlets。根据J2EE规范,静态的HTML页面和Applets都不是Web层组件。Web层可能包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean来进行处理。

2.业务层组件

业务层的代码逻辑用来满足银行、零售、金融等特殊商务领域的需要,由运行在业务层上的enterprise bean进行处理。

有三种企业级的bean:会话(session)beans、实体(entity)beans和消息驱动(message-driven)beans。会话bean表示与客户端程序的临时交互,当客户端程序执行完毕,会话bean和相关数据就会消失。相反,实体bean表示数据库表中一行永久的记录,当客户端程序中止或服务器关闭时,就会有潜在的系统服务保证实体bean的数据得以保存。消息驱动bean结合了会话bean和JMS的消息监听器的特性,允许一个业务层组件异步接收JMS消息。

3.企业信息系统层

企业信息系统层处理企业信息系统软件,包括企业基础建设系统,如企业资源计划(ERP)、大型机事务处理、数据库系统和其他的遗留信息系统等。例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。

四、技术支持规范

在J2EE技术支持规范中,J2EE平台包括由一整套服务(services)、应用程序接口(APIs)和协议构成,可用于开发一般的多层应用和基于WEB的多层应用,是J2EE的核心和基础,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的主要技术规范进行简单的描述。

1.JDBC(Java Database Connectivity)

JDBC接口为访问不同的数据库提供了一种统一的途径,像ODBC一样,JDBC对开发者屏蔽了一些细节问题。另外,JDBC对数据库的访问也具有平台无关性。

2.JNDI(Java Name and Directory Interface)

JNDIAPI用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源,如DNS和LDAP、本地文件系统、应用服务器中的对象。

3.EJB(Enterprise JavaBean)

EJB技术是在Java Bean本地组件技术基础上开发的面向服务器端分布应用的组件技术。EJB是Sun推出的J2EE规范的一部分,自从J2EE推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。JB提供了一个开发和实施分布式商务逻辑的框架,大大地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件如何与EJB容器(container)进行交互。容器负责提供公用服务,如目录服务、事务管理、安全性、资源缓冲池以及容错性等。但EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

EJB基于Java语言,提供了基于Java二进制字节代码的重用方式。EJB技术的推出,使得用Java基于组件技术开发服务器端分布式应用成为可能。从企业应用多层结构的角度来看,EJB是业务逻辑层的中间件技术。与JavaBeans的关键不同是它提供了事务处理的能力。

4.JSP(Java Server Pages)

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求后对页面中的Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

5.Java Servlet Servlet是一种小型的Java程序,它扩展了Web服务器的功能。

作为一种服务器端的应用,和CGI脚本类似,当被请求时开始执行。Servlet提供的功能与JSP类似,但实现方式不同。JSP通常在大量的HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。

6.RMI/IIOP

RMI(Remote Method Invocation,远程方法调用)是Java的分布式对象标准,允许位于不同主机上的Java类之间进行通信。Java RMI是个应用程序编程接口(API),还是个分布对象模型;使用RMI,Java程序员可以像调用本地操作一样进行网络调用,从而很容易地构造分布式系统。IIOP协议本来是CORBA的一种传输协议,和RMI结合在一起,使得整合非Java对象变得更加简单。

7.Java IDL/CORBA

在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并在CORBAORB中部署,或者创建 Java类作为和其他ORB一起部署的CORBA对象的客户。后者可用于遗留系统的集成。

8.XML(Extensible Markup Language)

XML是一种可以用来定义其他标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。Java和XML的组合构成一个完美的具有平台独立性的解决方案。

9.JavaMail

JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。JavaMail同时支持SMTP服务器和IMAP服务器。

10.JAF(JavaBeans Activation Framework,JavaBeans 激活框架)

JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用不需要直接使用JAF。

11.JMS(Java Message Service)

JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递、事务型消息的传递、一致性消息和具有持久性的订阅者支持。JMS还提供了与遗留后台系统集成的一种方式。

12.JTA(Java Transaction Architecture,Java事务构架)

JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。

13.JTS(Java Transaction Service,Java事务服务)

JTS是CORBAOTS事务监控的基本实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持 Java Transaction API(JTA)规范,在系统底层实现OMGOTS规范的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器等提供事务服务。


http://chatgpt.dhexx.cn/article/Nhnx02AN.shtml

相关文章

idea创建j2ee_IntelliJ IDEA 创建J2EE项目

IntelliJ IDEA 创建J2EE项目 方式一 1.File--NewProject--next,取个名字,意味着你的文件存放地。 2.Next--Next--勾选Web Application--Finish。 3.Edit Configurations--添加--tomcat--local--找到WEB容器所地 4.OK,这…

J2EE总结

1.J2EE介绍 1.企业级java简史 一.Java版本 (1)J2ME,功能非常有限,用于嵌入式设备 (2)J2SE包含原始的核心类库,用于桌面应用程序和浏览器中的Applet (3)J2EE,功能非常全面,用于数据处理和服务器端应用 二.对现有和新技术的继承&…

关于J2ee

学习完j2se,对Java有了大概的了解,但是对接下来要学习的j2ee却有点囧,因为从概念里也get不到它到底是个什么东西!so,从整体看j2ee,让百度告诉我答案。 Java2平台(1998年12月,SUN公司…

J2EE架构简介

J2EE 体系结构简介 J2EE (Java 2 Platform, Enterprise Edition)即Java2平台企业版,它提供了基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型,这个多层通常通过三层或四层来实现: ①客…

概览J2EE

J2EE是一种基于组件与平台无关的技术架构。 J2EE核心是一组技术规范和指南,包含各类的组件、服务架构、以及技术层次。 一、 J2EE的体系结构 先来看一些概念: 1、组件:是提供业务服务的独立功能单元,易操作,属性和实…

J2EE 全面简介

J2EE 全面简介 刘湛 (jeru@163.net) 武汉大学信息与计算科学系学士2001 年 7 月 本文从五个方面对J2EE进行了比较全面的介绍。从J2EE的概念说起,到它的优势,到J2EE典型的四层模型,和它的框架结构,最后是J2EE十三种核心技术的一个简介。本文分门别类的对J2EE中的服务,组件,…

自己搭建一个局域网(两台电脑)

1.首先保证两台电脑都有联网 2.更改适配器把两台电脑设为固定IP,同时让分配的IP地址相邻 3.使用ping命令,看是否能ping通。是,创建完成。否,有问题,重新分配固定IP后尝试。 哎,学校固定IP好像还要申请,哈哈…

如何用笔记本创建局域网

怎么用笔记本创建局域网呢?会不会很难? 现在教一个简单的方法创建局域网。 1、首先使用快捷键“WinR”打开cmd。 2、接着在弹出的窗口输入netsh wlan set hostednetwork modeallow ssid(这里输入你想给你局域网起的名字) key(这里输入自己设定的密码)&…

搭建小型局域网

Packet Tracer 是 Cisco 公司针对 CCNA 认证开发的一个用来设计、配置和故障排除网络的模拟软件。Packer Tracer 模拟器软件比 Boson 功能强大,比 Dynamips 操作简单,非常适合网络设备初学者使用。 学习任务 1、安装 Packer Tracer; 2、利用…

局域网组建

(1)回答问题:要想为计算机分配IP地址,必须要安装什么协议? 肯定是TCP/IP协议,安装及分配IP地址方法如下。按下面路径:控制面板》网络和 Internet》网络和共享中心》更改适配器设置》找到本地连接》右键属性,然后 1) 添…

不同局域网内进行网络连接的建立方法

前言 在这互联网和物联网的时代,网络连接与通信被使用的越来越多,如何建立两个网络IP地址的连接 (TCP或者UDP连接),也是一门学问。之前项目中遇到了这方面的问题,也被纠缠了一番,查阅大量资料&…

企业局域网的组建步骤和方法

什么是局域网?所谓的局域网(Local Area Network,简称LAN),用于将有限范围内(例如一个实验室、一层办公楼或者校园)的各种计算机、终端与外部设备互联成网。企业局域网怎么建立?首先来了解下不同规模企业网络…

建立局域网的条件

建立局域网的条件 我的意思是硬件方面,比如说2台电脑连接在一个路由器上,那么可以通过设置来建立局域网吗?要是想并联多台电脑的话。。。还需要什么硬件来建立局域网?谢谢高人帮助 建立局域网,如果2113不上网的话&…

如何创建一个局域网

如果你在家庭里建设小型的局域网,只需网线、路由器或者集线器或交换机即可。将网线连好后,做相应的设置就可以组建成局域网了。推荐用路由器,较方便。 对于Windows xp,典型的路由器共享上网 以下方法是我试过,可以将已…

如何在win10系统建立局域网

在办公环境内,局域网的作用可不小。团队的文件管理,打印机等设备共享,部分之间资料的分享以及日程排期信息交互等等,都离不开局域网。本文主要和大家探讨如何在win10系统建立局域网。 更多系统安装教程尽在小白系统重装官网 系统…

局域网搭建

局域网(Local Area Network,LAN)是在一个局部的地理范围内(如一个学校、工厂和机关内),一般是方圆几千米以内,将各种计算机,外部设备和数据库等互相联接起来组成的计算机通信网。 局…

如何建立一个小型的局域网,来实现电脑与电脑之间的通信

小编给大家介绍两种简单的连接方法 方法一:通过网线直接建立一个有线局域网的步骤(此方法最好至少有一台电脑是Win7的操作系统) 第一步:用一根普通的网线把两台需要连接的电脑连接起来(如连接成功,可直接进…

公司局域网如何组建 公司局域网搭建方法

公司局域网如何组建 公司局域网搭建方法 本文章由注册用户丽丽小姐上传提供 版权声明我要发布反馈 阅读:91147次 我要评论 汇聚专业的企业网络组建知识,为消费者提供最权威的公司局域网设计方案,是消费者们了解公司局域网怎么建立的重要参…

如计算机网络如何建立内部网,如何建立局域网【图文教程】

如何建立局域网【图文教程】 局域网是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。那么如何建立局域网呢?下面就来教大家如何建立局域网的方法,都来看看吧。 步骤1、关于如何建立局域网的问题,首先根据物理位置和距离情况&…

组建自己的局域网

最近想要自己组建一个集群,并且可以通过外网访问,查了好些资料,终于成功了! 设备清单:笔记本1:(4g内存,500g硬盘),笔记本2:(12g内存,120g固态硬盘…