J2EE 的四层模型

开发 后端
本文介绍了J2EE的四层模型,分别是客户层、Web层、业务层以及企业信息系统层。

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,***次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议�D�D通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构:

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

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

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

◆运行在EIS服务器上的企业信息系统(Enterprise information system)层软件

四层模型

 

J2EE应用程序组件

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

◆应用客户端程序和applets是客户层组件.

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

◆Enterprise JavaBeans(EJB)是业务层组件.

客户层组件

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

web 层组件

J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTML页面和Applets不算是web层组件。

正如下图所示的客户层那样,web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。

Web层

 

业务层组件

业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行处理. 下图表明了一个enterprise bean 是如何从客户端程序接收数据,进行处理(如果必要的话), 并发送到EIS 层储存的,这个过程也可以逆向进行。

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

业务层

 

企业信息系统层

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

【编辑推荐】

  1. J2EE的核心API与组件
  2. 大话J2EE、J2SE和J2ME
  3. 在 UNIX 操作系统上优化 N 层 J2EE 应用程序
  4. J2EE事务并发控制策略总结
  5. J2EE项目登录方式的改进设计与实现
责任编辑:yangsai 来源: 新浪博客
相关推荐

2009-06-23 08:06:46

J2EE体系架构J2EE模型J2EE设计模式

2009-06-10 14:10:23

J2EE学习J2EE是什么

2009-06-10 13:37:06

J2EE可伸缩性J2EE灵活性J2EE维护

2009-06-23 16:48:26

J2EE常见问题J2EE平台

2009-09-23 17:11:18

数据持久层Hibernate

2009-06-11 17:06:11

J2EE历史Java EE概述

2009-06-22 17:05:41

Java EEJava企业应用

2009-06-11 17:11:07

J2EE设计模式工厂模式

2009-06-22 17:34:40

J2EE架构

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-23 08:12:48

J2EE调用存储过程

2009-06-22 16:21:02

J2EE线程

2009-06-18 16:13:14

J2EE开发

2011-11-25 14:59:36

JavaJ2EE框架

2009-06-22 17:09:00

J2EE项目开发流程

2009-06-10 13:19:21

J2EE核心APIJ2EE核心组件

2011-05-16 14:07:58

J2EE

2009-02-23 11:18:06

J2EE架构师Java

2009-06-19 17:03:44

J2EE学习

2009-06-11 17:19:47

J2EE设计模式Template
点赞
收藏

51CTO技术栈公众号