JavaEE知识整理系列(一)JavaEE概述 .

转载 2013年12月04日 10:27:01

1.        JavaEE基本概念

JavaEE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。但那是需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本,因此J2EE改名为Java EE,实际也反映出业界这种共同心声。JavaEE应该是J2EE的延伸。

J2EE是一个标准,这个标准不仅定义了基本的规范和接口,也有一些比较固定的架构模型。J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。

       在传统的不分层的软件架构中,客户端担当了过多的角色而显得庞大而且不容易进行维护和修改,扩展性非常差,它使得重用业务逻辑和界面逻辑非常困难。现在JavaEE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层。使得扩展性和重用性得到大大的提高。

2.        JavaEE架构

2.1.        JavaEE架构图

2.2.        JavaEE架构理解

       (1)Client tier客户层,运行在客户端机器上。客户层普遍地支持HTTP协议,也称客户代理。具体表现为Java  Applet程序、Java桌面程序、浏览器等。

    (2)WEB tier WEB应用层,运行在JavaEE服务器上。在JavaEE中,这一层由WEB 容器运行,它包括JSP, SERVLET等WEB部件。这里的WEB容器具体表现为Tomcat等。

    (3)EJB tier 企业组件层,运行在JavaEE服务器上。企业组件层由EJB容器运行,支持EJB等服务和技术。这里的EJB容器具体表现为JBoss等

    (4)EIS tier 企业信息系统(Enterprise information system)层,运行在EIS服务器上。企业信息系统包含企业内传统信息系统如财务,CRM等,特点是有数据库系统的支持。一般中小型系统直接表现为数据库系统。

        JavaEE的整个应用程序是由组件构成的,JavaEE组件是具有独立功能的软件单元。JavaEE的四层模型的每一层都也是对相近功能的组件的封装。下面对这个架构图谈谈个人的理解:

(1)       在C/S架构的客户层、Applet为表现形式的客户层、Web层、EJB层都可能需要J2SE支持。

(2)       在C/S架构的客户层、Web层、EJB层可以调用JavaEE的基本组件和服务,比如JTA、JPA、JNDI、JMS等等。

(3)       如果是C/S架构,那么客户层直接和EJB层或者直接和企业信息系统(最典型的是DB)交互(当然这种直接和DB交互的架构也无所谓分层了),当然这里的EJB层也可以不部署EJB容器,直接为Java服务端,这也是最原始、简单的C/S应用模式。

(4)       如果是B/S架构,那么客户层直接Web层交互,Web层又可以和EJB层交互。

2.3.        JavaEE架构与分层的Web结构

三层结构:在C/S或B/S架构的应用中,为了提供程序的可扩展性,一般需要将表示与业务逻辑分离,业务逻辑和数据处理分离,因此一般分为三层结构:表示层业务逻辑层数据访问层(数据持久)。在java开发过程中一般 将对应的packet分别命名为ui(view),business(service),dao。

MVC模式:然而在B/S的Web程序中(其实C/S的应用程序也是如此),为了进步提高可扩展性、复用性,真正实现表示层和业务逻辑层的分离,一般使用MVC设计模式,将表示层业务逻辑层分为:视图(View)控制(Control)模型(Model)(有人将表示层和业务逻辑层之间的这部分形象的称为灰色地带)。MVC其实是一种设计思想,这种思想强调实现模型(Model)、视图(View)和控制器(Control)的分离。这种思想是如何作用于Web就是在Web开发中引入MVC思想,想要达到的目的是: 实现表示层(UI)和业务逻辑层分离——控制器是为了实现上述目的而存在的!基于这中设计思想的典型框架就是Spring、Strucs框架MVC部分。或许我们会发现,在数据访问层通过持久化技术解决后,我们所说的UI层和MVC中的View是一回事,我们的所说的业务逻辑层和MVC中的Model指的是一回事。MVC提供了让模型和视图相分离的思路——引入控制器。我们把页面跳转关系管理、表单数据的封装及验证、国际化等任务交给控制器处理。因此,也不难理解为什么流行的MVC框架都具有管理页面跳转关系、表单数据的封装及验证、国际化等特性。

对应关系:因此,分层的Web架构和具体组件对应如下:

1)        表示层:Struts-MVC、Spring-MVC、ActionServlet、Struts-Action、JSP、XML、JS等

2)        业务逻辑层:Spring-Ioc、Spring-Transaction等

3)        数据持久层:Hibernate、连接池、JDBC等

Java Web架构:根据技术的发展,Java的Web架构可以有如下选择

1)        JSP(原始社会UI和业务逻辑处理都在里面) 

2)        JSP+JavaBean(UI和业务逻辑相对分离,但是分离不够明显)

3)        JSP+JavaBean+Servlet(使用Servlet进行跳转和事件的分发,逻辑进一步清晰)

4)        JSP+JavaBean+Struts(Struts提供了一个框架处理跳转等等)

5)        JSP+JavaBean+Struts+hibernate(由JDBC改为hibernate持久化)

6)        JSP+JavaBean+Spring(Spring提供了一个框架处理跳转等等)

7)        JSP+JavaBean+ Spring +hibernate(由JDBC改为hibernate持久化)

8)        JSP+JavaBean+ Struts+Spring(Struts处理表示层和相关控制,Spring专门处理业务逻辑)

9)        JSP+JavaBean+ Struts+Spring+Hibernate(Struts处理表示层和相关控制,Spring专门处理业务逻辑,Hibernate负责持久化)

10)     上面的框架中可以使用JS或者JS框架来处理负责的表示层逻辑处理。

注意,这里struts包含了struts1.0和struts2.0,这两字是有差异的。

JavaEE架构和分层的Web结构关系:至于上面的的分层结构和JavaEE的分层关系应该比较清楚了。如果B/S架构中没有EJB这一层,那么上面的分层结构应该都可以部署在JavaEE的Web层,当然如果需要EJB这层,那么业务处理和持久化也可以部署在EJB这层。

 

 

相关文章推荐

JavaEE体系架构概述(续)

持久层框架提供透明持久化,业务层应用程序只需要调用持久层框架的API就 可以保存、查询和删除持久对象了。持久层框架会使用O/R(对象/关系)映射 自动生成访问数据库的SQL语句。另外,持久层框架能在服...

1.1 JavaEE应用概述

1.1 JavaEE应用概述 我所讲的应用规范超出了Sun提出的经典Java EE应用规范,而是一种更广泛的开发规范 经典Java EE应用往往以EJB(企业级Java Bean)为核心,以应用服务器...

【JavaEE—Hibernate】Hibernate概述

说Hibernate之前,先看看WEB内容JavaEE三层结构1 web层:struts2框架 2 service层:spring框架 3 dao层:hibernate框架 (1)对数据库进行c...

JavaEE概述及MVC模型

写这篇文章之前,参考了好多别人的文章,还有我的一些想法,与大家共勉。1.JavaEE基本概念:(1)官方定义:JavaEE 是一个开发分布式企业级应用的规范和标准。 (2)原名J2EE,JavaEE...

JavaEE体系架构概述

闲的蛋痛,复习下。 1.java web应用的缺陷 2.什么是企业级应用 3.javaee体系平台核心思想 4.ejb组件和容器 5.pojo与轻量级框架 javaweb应用的缺陷...

J2EE-1-第1章 JavaEE概述.ppt

  • 2014年08月15日 23:03
  • 812KB
  • 下载

零基础到架构师 不花钱学JavaEE(基础篇)- 概述

Java简单来说是一门语言,Java能干什么? 网站:开发大,中,小型网站。 服务器端程序:企业级程序开发。 APP:Android的APP基本使用Java开发。 云:Hadoop就是使用Java...

【JavaEE—Struts2】Struts2概述以及框架入门

Struts2概述1 struts2框架应用javaee三层结构中web层框架 2 struts2框架在struts1和webwork基础之上发展全新的框架 3 struts2解决问题: 4...

JavaEE笔记一:J2EE概述(1)

J2EE产生的背景 1995年Java语言应运而生,并且取得极大的成功; C/S模型虽然解决了数据与资源的共享,但是协同工作并没有解决,并且产生了其他新问题; 1994年由于Web技术的兴起,而随...

JAVAEE框架概述

  • 2017年07月13日 20:53
  • 1.64MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaEE知识整理系列(一)JavaEE概述 .
举报原因:
原因补充:

(最多只允许输入30个字)