j2ee是什么(j2ee的四层体系结构)

J2EE的概念目前Java 2平台有三个版本,分别是面向小型设备和智能卡的Java 2平台微型版(J2ME)和面向桌面系统的Java 2平台标准版(Java 2

j2ee是什么(j2ee的四层体系结构)插图

J2EE的概念

目前Java 2平台有三个版本,分别是面向小型设备和智能卡的Java 2平台微型版(J2ME)和面向桌面系统的Java 2平台标准版(Java 2平台标准版)。J2SE),Java 2 Platform Enterprise Edition(J2EE),适用于创建服务器应用程序和服务。

J2EE是一种使用Java 2平台来简化企业解决方案的开发、部署和管理的架构。J2EE技术的基础是核心Java平台或Java 2平台的标准版本。J2EE不仅巩固了标准版的许多优点,例如& # 34;一次编写,随处运行& # 34;特性,方便访问数据库的JDBC API,CORBA技术和在互联网应用中保护数据的安全模式等。同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)和XML技术的全面支持。它的最终目标是成为一个能够大大缩短企业开发者上市时间的架构。

J2EE架构提供了一个中间层集成框架,以满足需要高可用性、高可靠性和可伸缩性的应用程序的需求,而无需太多的成本。通过提供统一的开发平台,J2EE降低了开发多层应用程序的成本和复杂性。同时为现有应用的集成提供了强有力的支持,全面支持Enterprise JavaBeans,有很好的向导支持应用的打包和部署,增加了目录支持,加强了安全机制,提高了性能。

J2EE的优势

J2EE为构建具有可扩展性、灵活性和可维护性的业务系统提供了良好的机制;

现有IT资产:由于企业必须适应新的业务需求,因此利用企业信息系统中的现有投资而不是重新制定整体计划非常重要。这样,以渐进(而不是激进和全盘否定)的方式建立在现有系统基础上的服务器端平台机制,才是公司所需要的。J2EE架构可以充分利用用户原有的投资,如BEA Tuxedo、IBM CICS、IBM Encina、Enterprise Visibroker以及一些公司使用的Netscape应用服务器等。这是可能的,因为J2EE有广泛的产业支持和一些重要的& # 39;企业& # 39;供应商的参与。每个供应商为现有客户提供一种升级方式,在不放弃现有投资的情况下进入便携式J2EE领域。因为基于J2EE平台的产品几乎可以在任何操作系统和硬件配置上运行,现有的操作系统和硬件也可以保留使用。

高效开发:J2EE允许公司将一些常规而繁琐的服务器任务交给中间件供应商。这样,开发人员可以专注于如何创建业务逻辑,并相应地缩短开发时间。高级中间件供应商提供以下复杂的中间件服务:

状态管理服务——让开发人员少写代码,不关心如何管理状态,从而更快地完成程序开发。

连续性服务——允许开发人员编写应用程序而无需编写数据访问逻辑,并且可以生成更轻便、独立于数据库的应用程序,更易于开发和维护。

分布式数据对象缓存服务——允许开发人员编译高性能系统,大大提高整体部署的可伸缩性。

支持异构环境:J2EE可以开发部署在异构环境中的可移植程序。基于J2EE的应用不依赖于任何特定的操作系统、中间件或硬件。因此,一个设计良好的基于J2EE的程序只能在不同的平台上部署一次。这在典型的异构企业计算环境中至关重要。J2EE标准还允许客户订购与J2EE兼容的第三方现成组件,并部署到异构环境中,从而节省了自己制作整个方案的成本。

可伸缩性:企业必须选择能够提供出色可伸缩性的服务器端平台,以满足大量在其系统上开展业务的新客户。基于J2EE平台的应用程序可以部署到各种操作系统上。例如,它可以部署到高端UNIX和大型机系统,后者可以支持64到256个处理器。(这是NT服务器做不到的。)J2EE领域的供应商提供更广泛的负载平衡策略。它可以消除系统中的瓶颈,并允许多个服务器的集成部署。这种部署可以达到数千个处理器,实现高度可扩展的系统,以满足未来商业应用的需求。

稳定的可用性:服务器端平台必须能够全天运行,以满足公司客户和合作伙伴的需求。因为互联网是全球性的,无处不在,所以即使是夜间的计划停机也可能造成严重的损失。如果出现意外停机,后果不堪设想。J2EE部署在可靠的操作环境中,支持长期可用性。一些J2EE部署在WINDOWS环境中,客户还可以选择更强大的操作系统,如Sun Solaris和IBM OS/390。最强大的操作系统可以实现99.999%的可用性或每年仅5分钟的停机时间。这是实时商业系统的理想选择。

J2EE的四层模型

采用J2EE多层分布式应用模型,将应用逻辑按功能划分成组件,每个应用组件按层分布在不同的机器上。事实上,孙设计的初衷就是为了解决两层模式(客户机/服务器)的弊端。在传统模式中,客户端扮演过多的角色,显得臃肿。这种模式,第一次部署容易,但升级或改进困难,扩展性不理想。此外,它通常基于专有协议\u D \u D,通常是数据库协议。这使得重用业务逻辑和接口逻辑变得困难。当前的J2EE多层企业应用模型将两层模型中的不同层分成许多层。多层应用程序可以为不同的服务提供独立的层。以下是J2EE典型的四层结构:

运行在客户端机器上的客户端层组件

在J2EE服务器上运行的Web层组件

运行在J2EE服务器上的业务逻辑层组件

运行在EIS服务器上的企业信息系统层软件

j2ee是什么(j2ee的四层体系结构)插图(1)

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

客户端应用程序和小应用程序是客户端层的组件。

Java Servlet和JavaServer Pages(JSP)是web层组件。

企业JavaBeans(EJB)是业务层组件。

客户端组件的J2EE应用可以基于web或传统方式。

Web层组件J2EE web层组件可以是JSP页面或Servlets。根据J2EE规范,静态HTML页面和小程序不是web层组件。

就像下图所示的客户层一样,web层可能包含一些JavaBean对象来处理用户输入,并将输入发送给运行在业务层的企业Bean进行处理。

j2ee是什么(j2ee的四层体系结构)插图(2)

业务层组件业务层代码的逻辑用于满足银行、零售、金融等特殊业务领域的需求。它由运行在业务层的企业bean处理。下图显示了企业bean如何从客户端程序接收数据、处理数据(如果需要)并将其发送到EIS层进行存储。这个过程也可以反过来。

有三种企业级bean:会话bean、实体bean和消息驱动bean。会话beans表示与客户端程序的临时交互。当客户端程序完成时,会话beans和相关数据将会消失。相反,实体bean代表数据库表中的永久记录。当客户端程序停止或服务器关闭时,将有一个潜在的服务来确保实体bean的数据被保存。消息驱动bean结合了JMS的会话bean和消息监听器的特性,允许业务层组件异步接收JMS消息。

j2ee是什么(j2ee的四层体系结构)插图(3)

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

J2EE的结构

这种基于组件、独立于平台的J2EE结构使得J2EE程序的编写变得非常简单,因为业务逻辑被封装到可重用的组件中,J2EE服务器以容器的形式为所有组件类型提供后台服务。因为不需要自己开发这项服务,可以专心解决手头的业务问题。

容器和服务容器设置自定义J2EE服务器提供的内部支持,包括安全性、事务管理、JNDI (Java命名和目录接口)寻址、远程连接和其他服务。下面列出了最重要的服务:

J2EE(安全)模型允许您配置web组件或企业bean,以便只有授权用户才能访问系统资源。每个客户属于一个特殊的角色,每个角色只允许激活特定的方法。您应该声明可以在企业bean的布局描述中激活的角色和方法。由于这种声明性的方法,您不必编写规则来加强安全性。

J2EE事务管理模型允许您指定事务中所有方法之间的关系,以便将事务中的所有方法视为一个单元。当客户端激活企业bean中的方法时,容器会介入管理事务。因为有容器管理的事务,所以没有必要在企业bean中编写事务的边界。要求控制分布式事务的代码可能非常复杂。只需要在布局描述文件中声明企业bean的事务属性,而不需要编写调试复杂的代码。容器将读取这个文件,并为您处理这个企业bean的事务。

JNDI查找服务为企业中的各种名称和目录服务提供了统一的接口,以便应用程序组件可以访问名称和目录服务。

J2EE远程客户端连接模型管理客户端和企业bean之间的底层交互。当创建企业bean时,客户机可以调用它的方法,就好像它与客户机在同一个虚拟机上一样。

生命周期管理模型管理企业bean的创建和删除,企业bean在其生命周期中将经历几个状态。容器创建一个企业bean,将其移动到可用实例池和活动状态,最后将其从容器中删除。即使您可以调用企业bean的create和remove方法,容器也会在后台执行这些任务。

数据库连接池模型是一个有价值的资源。获取数据库连接是一项耗时的任务,并且连接的数量非常有限。容器通过管理连接池来缓解这些问题。企业bean可以快速从池中获取连接。当bean释放连接时,它可以被其他bean使用。

类型容器J2EE应用程序组件可以安装和部署到以下容器中:

EJB容器管理所有J2EE应用程序中企业beans的执行。企业beans及其容器运行在J2EE服务器上。

Web容器管理所有J2EE应用程序中JSP页面和Servlet组件的执行。Web组件及其容器运行在J2EE服务器上。

应用程序客户端容器管理所有J2EE应用程序中应用程序客户端组件的执行。应用程序客户端及其容器运行在J2EE服务器上。

Applet容器是运行在客户机上的web浏览器和Java插件的组合。

j2ee是什么(j2ee的四层体系结构)插图(4)

J2EE的核心API和组件

J2EE平台由一套完整的服务、应用程序接口和协议组成,它为基于Web的多层应用程序的开发提供了功能支持。这里简单介绍一下J2EE的13个技术规范(篇幅有限,此处只能做简要描述):

JDBC (Java数据库连接):JDBC API提供了访问不同数据库的统一方式。像ODBC一样,JDBC对开发人员隐瞒了一些细节。此外,JDCB对数据库的访问是独立于平台的。

JNDI (Java名称和目录接口):JNDI API用于执行名称和目录服务。它提供了一个一致的模型来访问和操作企业级资源,如DNS和LDAP、本地文件系统或应用服务器中的对象。

EJB(Enterprise JavaBean):J2EE技术赢得媒体广泛关注的原因之一是EJB。它们提供了一个开发和实现分布式业务逻辑的框架,这大大简化了可伸缩和高度复杂的企业应用程序的开发。EJB规范定义了EJB组件何时以及如何与其容器进行交互。容器负责提供公共服务,如目录服务、事务管理、安全性、资源缓冲池和容错。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。由于J2EE的开放,一些制造商可以通过与EJB平行的方式达到同样的目的。

RMI(远程方法调用):顾名思义,RMI协议调用远程对象上的方法。它使用序列化在客户端和服务器之间传输数据。RMI是EJB使用的低层协议。

Java IDL/CORBA:在Java IDL的支持下,开发者可以将Java和CORBA集成在一起。他们可以创建Java对象,并使它们可以在CORBA ORB中部署,或者他们可以创建Java类,并充当与其他ORB一起部署的CORBA对象的客户机。后一种方法提供了另一种方式,通过这种方式,可以使用Java将您的新应用程序与旧系统集成起来。

JSP(Java服务器页面):JSP页面由HTML代码和嵌入的Java代码组成。客户端请求服务器页面后,处理这些Java代码,然后将生成的HTML页面返回给客户端的浏览器。

Java Servlet: Servlet是一个小的Java程序,它扩展了Web服务器的功能。作为一个服务器端应用程序,它在被请求时开始执行,这与CGI Perl脚本非常相似。Servlet提供了类似于JSP的功能,但是它们以不同的方式实现。JSP通常在大部分HTML代码中嵌入少量Java代码,而servlets都是用Java写的,生成HTML。

Xml(可扩展标记语言):XML是一种可以用来定义其他标记语言的语言。它用于在不同的业务流程中共享数据。XML和Java的发展是相互独立的,但是和Java的目标是一样的,就是平台无关性。通过结合Java和XML,可以得到一个完美的平台无关的解决方案。

JMS(Java消息服务):MS是一个应用程序接口(API),用于与面向消息的中间件进行通信。它支持对等域和发布/订阅域,并支持以下类型:批准的消息传递、事务性消息传递、一致消息和持久订阅者支持。JMS还提供了将应用程序与旧的后端系统集成的另一种方式。

JTA (Java事务架构):JTA定义了一个标准的API,通过它应用系统可以访问各种事务监控。

JTS (Java事务服务):JTS是CORBA OTS事务监控的基本实现。JTS规定了如何实现事务管理器。事务管理器是一个Java映像,它在高层支持Java事务API (JTA)规范,在低层实现OMG OTS规范。JTS事务管理器为应用服务器、资源管理器、独立应用和通信资源管理器提供事务服务。

JavaMail: JavaMail是一个访问邮件服务器的API,它提供了一组邮件服务器的抽象类。不仅支持SMTP服务器,还支持IMAP服务器。

JTA (JavaBeans激活框架):JavaMail使用JAF来处理MIME编码的邮件附件。MIME字节流可以与Java对象相互转换。大多数应用程序不需要直接使用JAF。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/96166.html

发表回复

登录后才能评论