J2EE的体系架构——J2EE

J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition),它的核心是一组技术规范与指南,提供基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型。

J2EE分层:

客户层,运行在客户计算机上的组件,用户与系统的接口逻辑,通过http协议的来访问应用服务器。

表示层,运行在J2EE服务器上的组件,通过与业务逻辑层互动,将用户需要的数据以适当的方式输出。

业务逻辑层,同样是运行在J2EE服务器上的组件。

企业信息系统层(EIS),是指运行在EIS服务器上的软件系统。

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

客户层

Web浏览器

也称Web客户端, 以标准格式来显示从服务器传递过来的网页,它们传递给浏览器时已经是HTML或者XML格式,浏览器正确的显示给用户。

小应用程序(Applet)

是嵌在浏览器中的一种轻量级客户端,当web页面不能充分的表现数据或者应用界面的时候,才使用它,Applet是一种替代web页面的手段,能够使用J2SE开发Applet,Applet无法使用J2EE中的各种Service和API。需要运行在客户端安装了Java虚拟机的Web浏览器上。

应用程序客户端

J2EE应用程序客户端相对Applet而言,是一个较重量级的客户端,能够使用大多数的服务和API,它运行在客户机上,能提供强大而灵活易用的用户界面,如使用Swing或AWT创建的图形化的用户界面(GUI)。当然,应用程序可直接访问运行在业务层的Bean,如果需求允许,也可以打开HTTP连接,建立与运行在Web层上的Servlet之间的通讯。

J2EE应用服务器

两大容器

EJB容器+Web容器,即业务逻辑层+表示层

Web容器

管理所有的Servlet等Web组件的运行,对响应客户请求和返回结果提供了运行时的支持。

EJB容器:

负责所有的EJB的运行,支持EJB组件的事务处理和生命周期管理,以及Bean的查找和其他服务,支持J2EE多层架构的基础结构,是一个控制业务实现的运行期环境,并提供事务服务、持久性、安全性等重要的系统服务,让开发人员不必开发基础服务而将注意力集中在业务逻辑的实现。

两大组件

Web组件+Ejb组件

Web组件

与基于Web的客户端进行交互,J2EE中有三类Web组件:Servlet、JSP、JavaBean,Servlet是Web服务器的功能扩展,接受Web请求,返回动态的Web页面。Web容器中的组件可以使用EJB中的组件来完成复杂的业务逻辑。值得注意的是静态的HTML页面和Applets不算是Web层组件。

EJB组件

包含三种不同类型的EJB:会话Bean、消息驱动Bean、实体Bean

第一:会话Bean:着重业务逻辑的实现与控制,负责与Web层通信,给Web层提供访问业务数据的接口。当客户端完成执行过程的时候,会话Bean及相关数据会消失。

第二:实体Bean:代表持久数据,数据相当于存储在数据库表中,它负责保存业务数据,给会话Bean访问业务数据的接口。

第三:消息驱动Bean:用于接收、处理客户通过JMS发送过来的消息,允许业务组件接收衣服的JMS消息。

企业信息系统层

负责运行企业信息系统软件,包括ERP、数据库、目录服务、其他遗留系统等。

总结

J2EE所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。

J2EE的体系架构——J2EE

时间: 2024-12-05 15:05:28

J2EE的体系架构——J2EE的相关文章

当前流行的J2EE WEB应用架构分析

架构概述 J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术.这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择.怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤.完成这个步骤可以形成一个主要里程碑基线.形成这个基线有很多好处: 各种因数初步确定 为了形成架构基线,架构设计师要对平台(体系)中的技术进行筛选,各种利弊的权衡.往往架

当前流行的J2EE WEB应用架构分析(一)

架构概述 J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术.这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择.怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤.完成这个步骤可以形成一个主要里程碑基线.形成这个基线有很多好处: 各种因数初步确定 为了形成架构基线,架构设计师要对平台(体系)中的技术进行筛选,各种利弊的权衡.往往架

Java的三大体系架构

Java发展到今天已经形成了一个完整的体系架构,主要分为三个体系,如下: Java SE -------------------------------------------------------------------- Java SE(Java Platform,Standard Edition).Java SE 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的Java应用程序.Java SE 包含了支持Java Web 服务开发的类,并为Java Plat

SaaS系列介绍之十三: SaaS系统体系架构

1 系统体系架构设计 软件开发中系统体系架构决定了一个系统稳定性.健壮性.可扩展性.兼容性和可用性,它是系统的灵魂.体系架构是架构师所关注的核心.良好的体系架构是系统成功的开端,否则,再好的代码与设计也无济于事. 2 当前.net主要的开发框架简介 l Castle Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务.其中关键的技术是ActiveRe

面向服务的体系架构(SOA)—架构篇

面向服务的体系架构(SOA)-架构篇 1.面向服务的体系架构(SOA) 面向服务的架构(service-oriented architecture)是Gartner于2O世纪9O年代中期提出的面向服务架构的概念.2002年的l2月,Gartner提出"面向服务的架构(SOA)"是"现代应用开发领域最重要的课题"之后.国内外计算机专家.学者掀起了对SOA的积极研究与探索. 在分布式的环境中,将各种功能都以服务的形式提供给最终用户或者其他服务.如今,企业级应用的开发都采

软件体系架构课下作业06

题目:对上学期学习的软件设计模式进行复习,对所有设计模式进行分析,用自己的话来阐述对他们的理解.(不少于2000字) 正如本学期所学习的软件体系架构,还有很多其他的软件工程技术一样,设计模式同样起源于建筑领域他是对前人经验的总结,为后人设计与开发基于面向对象的软件提供指导方针和成熟的解决方案. 从模式的目的而言,设计模式可以分为创建型.结构型和行为型三种.创建型模式主要用于创建对象,它包含5种模式,分别是:工厂方法模式.抽象工厂模式.建造者模式.原型模式和单例模式:结构型模式主要用于处理类和对象

DBA_Oracle基本体系架构(概念)

DBA_Oracle基本体系架构(概念) 2014-07-26 BaoXinjian 一. Oracle体系结构基本概念 1. Oracle总体结构分为三个部分 第一部分:系统全局区(SGA) 第二部分:程序全局区和后台进程 第三部分:Oracle的文件 2. 从功能角度接那些划分 存储结构 包括: 控制文件.数据文件和日志文件 作用: 由这些文件就构成了Oracle的物理存储结构. 内存结构 包括: 系统全局区(SGA) 和 程序全局区(PGA) 作用: 使用内存最多的是SGA,也是影响数据库

Hive基础之Hive体系架构&运行模式&Hive与关系型数据的区别

Hive架构 1)用户接口: CLI(hive shell):命令行工具:启动方式:hive 或者 hive --service cli ThriftServer:通过Thrift对外提供服务,默认端口是10000:启动方式:hive --service hiveserver WEBUI(浏览器访问hive):通过浏览器访问hive,默认端口是9999:启动方式:hive --service hwi 2)元数据存储(Metastore):启动方式:hive -service metastore

InnoDb 体系架构和特性 (Innodb存储引擎读书笔记)

后台线程 Master Thread 核心后台线程,主要负责将缓冲池的数据异步刷新到磁盘.例如脏页的刷新,插入缓冲的合并,undo 页的回收等. 每秒一次的操作: 日志缓冲刷新到磁盘,即使该事务还没有提交.该操作总是会发生,这个就是为了再大的事务,提交时间都很短. 当IO压力很小时(1s内发生的IO次数小于5% innodb_io_capacity)合并5% innodb_io_capacity 的插入缓冲. 当脏页比例大于 innodb_max_dirty_pages_cnt, 刷新 inno