`

再来重新认识JavaEE完整体系架构[转]

    博客分类:
  • Java
阅读更多

  JavaEE是一套使用Java进行企业级Web应用开发的大家一致遵循的工业标准。

  JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。

  相较于Microsoft的.NET,Sun公司的Java*E和一系列标准、技术及协议更接近或更满足互联网在智能化Web服务方面对开放性、分布性和平台无关性的要求。

  JavaEE的13种核心技术规范:

  1、JDBC(Java Database)数据库连接

  JDBC是一组用于执行SQL的Java API ,为访问不同的数据库提供了一种统一的途径,几乎所有的关系型数据库厂商(DBMS)都提供了JDBC的服务或驱动。JDBC对数据库的访问也具有平台无关性。

JDBC处理模型

  2、JNDI(Java Naming and Directory Interfaces)Java 的命名和目录接口

  JNDI是命名目录服务的抽象接口集合,为企业级应用提供了统一的标准化连接,使Java能够无缝地获取任何可目录化的企业信息。在JavaEE体系中,JNDI用来定位各种对象,包括EJB、数据库驱动、JDBC数据源及消息连接等。由于JNDI是独立于目录协议的,因此还可以用JNDI访问各种特定的目录服务,如LDAP(轻量目录访问协议)、NDS(服务器目录访问服务)。

JNDI数据源  

  3、EJB(Enterprise JavaBean)

  EJB组件:JavaBean是在编程环境(IDE)中能够被可视化处理的可重用组件,是实现分布式业务逻辑的 Java 组件。我们在开发的时候可以利用这些组件,像搭积木一样建立面向对象的分布式应用。

  EJB容器:是EJB组件的运行环境,为部署EJB组件提供服务,包括事务、安全、远程客户端的网络发布、资源管理等。

  EJB服务器:管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。

  调用EJB组件的应该称为EJB客户端,客户端可以运行在Web容器中。

EJB

  4、RMI(Remote Method Invoke)远程方法调用

  RMI协议能够让在某个Java虚拟机上的对象,像调用本地对象一样调用另一个Java虚拟机中的对象上的方法。它使用了序列化方式在客户端和服务器端传送数据。RMI是一种被EJB使用的更底层的协议。(stub/skeleton层提供了客户程序和服务程序彼此交互的接口)

RMI远程调用 

  5、Java IDL(Interface Description Language)/CORBA(Common Object Broker Architecture)Java 接口定义语言/公用对象请求代理程序体系结构

  IDL是用来描述软件组件接口的一种计算机语言。IDL通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信交流。

  6、JSP(Java Server Pages)

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

  JSP可以使用Servlet提供的API,一般和JavaBean结合使用,从而将界面表现和业务逻辑分离。

JSP

  7、Servlet

  Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。

  8、XML(Extensible Markup Language)可扩展标记语言

  XML是一种用于标记电子文件使其具有结构性的标记语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是它和Java有着相同的目标,即平台独立性。通过Java和XML的组合,可以得到一个完美的具有平台独立性的解决方案。

  9、JMS(Java Message Service)Java 消息服务

  JMS是Java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。JMS用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。

  JMS消息系统带来的好处:1、提供消息灵活性;2、松散耦合;3、异步性。

JMS点对点 

  10、JTA(Java Transaction API)Java 事务 API

  在JavaEE应用中,事务是一个不可或缺的组件模型,它保证了用户操作ACID(即原子、一致、隔离、持久)属性。对于那些跨数据源(例如多个数据库,或者数据库与JMS)的大型应用,则必须使用全局事务JTA。应用系统可以由JTA定义的标准API访问各种事务监控,JTA为JavaEE平台提供了分布式事务服务,它隔离了事务与底层的资源,实现了透明的事务管理方式。

JTA 

  11、JTS(Java Transaction Service)Java 事务服务

  JTS是一个组件事务监视器。JTS是CORBA OTS事务监控的基本实现。JTS规定了事务管理器的实现方式。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。

  12、JavaMail

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

  13、JAF(JavaBean Activation Framework)

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

  JavaEE软件开发体系架构

  两层架构

  传统的客户服务器系统仅只简单地基于两层体系来构建,即客户端(前台)和企业信息系统(后台),没有任何中间件,业务逻辑层与表示层或数据层混在一起。这种两层架构无论从开发、部署、扩展、维护来说,综其只有一个特点——成本高。

  三层架构

  三层架构自上而下将系统分为表示层、逻辑层、持久层。

  表示层由处理用户交互的客户端组件及其容器所组成;

  业务逻辑层由解决业务问题的组件组成;

  数据层由一个或多个数据库组成,并可包含存储过程。

  这种三层架构,在处理客户端的请求时,使客户端不用进行复杂的数据库处理;透明地为客户端执行许多工作,如查询数据库、执行业务规则和连接现有的应用程序;并且能够帮助开发人员创建适用于企业的大型分布式应用程序。

三层架构

  MVC

  在MVC模式中,应用程序被划分为模型层(Model)、视图层(View)、控制层(Controller)三部分。MVC模型就是把一个应用程序的开发按照业务逻辑、数据、视图进行分离分层并组织代码。MVC要求把应用的模型按一定的层次规则抽取出来,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。模型层负责封装应用的状态,并实现功能,视图层负责将内容呈现给用户,控制层负责控制视图层发送的请求以及程序的流程。

  Servlet+JSP+JavaBean(MVC)这种模式比较适合开发复杂的web应用,在这种模式下,Servlet负责处理用户请求,JSP负责数据显示,JavaBean负责封装数据。

MVC

  基于JavaEE架构模式下的MVC

  在这种架构模式下,模型层(Model)定义了数据模型和业务逻辑。为了将数据访问与业务逻辑分离,降低代码之间的耦合,提高业务精度,模型层又具体划分为了DAO层和业务层,DAO即Data Access Object,其主要职能是将访问数据库的代码封装起来,让这些代码不会在其它层出现或者暴露出来给其它层;业务层是整个系统最核心也是最具有价值的一层,该层封装应用程序的业务逻辑,处理数据,关注客户需求,在业务处理过程中会访问原始数据或产生新数据,DAO层提供的DAO类能很好地帮助业务层完成数据处理,业务层本身侧重于对客户需求的理解和业务规则的适应,总体说来,DAO层不处理业务逻辑,只为业务层提供辅助,完成获取原始数据或持久层数据等操作。

基于JavaEE架构模式下的MVC

  JSP:JSP被用来产生Web的动态内容。这层把应用数据以网页的形式呈现给浏览器,然后数据按照在JSP中开发的预定的方式表示出来,这层也可以称之为布局层。

  Servlet:JSP建立在Servlet之上,Servlet是J2EE的重要组成部分。Servlet负责处理用户请求,Java Web项目的所有配置都写在了web.xml配置文件里,当项目运行的时候,web.xml会将http请求映射给对应的Servlet类。

  JavaBean:由一些具有私有属性的Java类组成,对外提供get和set方法。JavaBean负责数据,负责处理视图层和业务逻辑之间的通信。

  Service:业务处理类,对数据进行一些预处理。

  DAO:数据访问层,JDBC调用存储过程,从数据库(DataBase)那里获取到数据,再封装到Model实体类中去。

 

原文: http://www.jizhuomi.com/software/644.html

分享到:
评论

相关推荐

    JavaEE知识体系.xmind

    JavaEE知识体系

    JavaEE知识体系.mmap

    JavaEE知识体系.mmap,详细剖析JavaEE包含的知识。 我的CSDN博客:http://blog.csdn.net/Wentasy

    JavaEE 30招 JavaEE架构师进阶之路.zip

    JavaEE 30招 JavaEE架构师进阶之路.zip

    JavaEE 三层架构1

    这些组件都是 JavaEE 三层架构中重要的组成部分,它们共同构成了一个完整的应用程序。 JavaEE 三层架构是一种成熟的软件架构模式,广泛应用于Java企业级应用程序的开发中。它提供了一种清晰的架构模式,帮助开发者...

    JavaEE架构师认证指南

    JavaEE架构师认证指南,建议最近想考JavaEE架构师的人看

    史上最全JavaEE基础体系图解(xmind).xmind

    这个“史上最全JavaEE基础体系图解(xmind).xmind”文件,通过XMind这一思维导图软件,详尽地梳理了JavaEE的基础架构和核心概念,是学习JavaEE的理想资源。 JavaEE的基础体系主要包括以下几个方面: 1. **Servlet与...

    基于Android+JAVAEE架构的校园信息交互系统

    本文针对一个基于Android+JAVAEE架构的校园信息交互系统的设计与开 发工作进行论述与说明。首先,简单的介绍校园信息交互系统相关的研究背景, 包括涉及的开发平台及技术规范;其次,分析说明了整个系统的设计与架构...

    JavaEE S2SH架构 Oracle学生信息管理系统

    这个Oracle学生信息管理系统基于这种架构,旨在提供一套完整的解决方案,用于管理和维护学生的各项数据。在初次接触时,可能会遇到一些挑战,但整体代码组织清晰,适合学习和实践。 首先,Spring框架作为核心的依赖...

    JavaEE架构JavaEE的核心技术简介

    JavaEE架构是JavaEE平台的核心组件,提供了一个完整的解决方案,包括从客户端到服务器端的所有组件。JavaEE核心技术包括EJB、CORBA、RMI、JSP、Java Servlet、JavaBean、JDBC、XML等,提供了一个灵活的方式来开发...

    JavaEE企业级架构实战演练课程.pdf

    JavaEE企业级架构实战演练课程是一门针对JavaEE体系架构设计和开发的高级培训课程,旨在帮助学员深入理解和掌握JavaEE平台的关键技术和架构设计。课程内容涵盖了从理论到实践的多个层面,包括JavaEE核心技术和架构、...

    JAVAEE MVC架构

    **JAVAEE MVC架构详解** 在Java企业级开发中,Model-View-Controller(MVC)架构是一种广泛应用的设计模式,它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。这种分层设计使得...

    基于Android_JAVAEE架构的校园信息交互系统

    基于Android_JAVAEE架构的校园信息交互系统

    JavaEE环境下各类开发架构简介

    了解并掌握这些开发架构对于JavaEE开发者来说至关重要,因为它们可以帮助设计出高效、可扩展和易于维护的软件系统。根据项目的具体需求和规模,选择合适的架构可以显著提高开发效率和系统的稳定性。

    JavaEE知识体系结构梗概

    ### JavaEE知识体系结构梗概 #### 一、JavaEE概述与重要性 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems(现为Oracle公司所有)推出的一套面向企业级应用的标准平台。它旨在为企业级应用程序...

    JavaEE知识体系总结

    系统的总结了JavaEE 开发过程中用到的各大主流框架,及一些常用的开发工具的使用说明

    javaee之MVC架构图书管理系统·

    JavaEE是一种广泛应用于企业级应用开发的技术框架,它基于Java平台,主要用于构建分布式、多层架构的Web应用程序。在这个“javaee之MVC架构图书管理系统”项目中,开发者利用了MVC(Model-View-Controller)设计模式...

    JavaEE架构与程序设计

    《JavaEE架构与程序设计》书本上的原代码,但自己用的时候需要根据实际情况修改。可能还会有点小错误,望体谅了哈(由于上传限制,只能先上传一小部分)

    javaee_src.zip

    通过解压并分析这个JavaEE Src.zip,开发者可以深入理解JavaEE的架构和工作原理,学习如何使用JavaEE API创建动态Web项目、数据库连接、事务管理、会话管理、安全控制等各种功能。此外,对于初学者,这也能提供一个...

    完整的售票系统JAVAEE

    【标题】"完整的售票系统JAVAEE"是一个基于Java企业版(JavaEE)技术构建的售票系统,主要用于模拟和实现火车票的在线预订和管理功能。这个系统可能包含了从用户界面到后端数据库的一系列组件,旨在提供一个全面的...

Global site tag (gtag.js) - Google Analytics