JAVA EE 6 规范综述

JAVA EE是企业级应用规范,旨在简化复杂业务逻辑。JAVA EE6引入WebProfiler,允许仅实现常用Web容器规范。规范涵盖四大容器:应用客户端、Applet、Web和EJB。依赖J2SE API,如HTTP、HTTPS、JDBC等。随着版本演进,趋势是模块化、轻量化。JAVA EE6新特性包括Servlet 3.0的原注释配置、异步处理,JSP 2.2简化配置,JSF 2.0的AJAX支持,EJB 3.1的无接口Bean和异步调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.JAVA EE规范综述

JAVA EE是作为JAVA语言的企业级规范进行指定的,其目的是满足于行业软件的企业的应用的需求,在复杂的业务逻辑的前提下,尽可能将屏蔽网络,硬件等复杂的设施,将这些内容转嫁给一些实现了部分JAVA EE规范服务的供应商或者完全实现JAVA EE规范的应用服务器厂商和来做,让系统集成商只关注与业务。

JAVA EE部分规范服务的提供商,以开源项目居多,以实用比较广泛的Tomcat为例,实现了JSP,Servlet等部分的JAVA EE规范,但其不能算作JAVA EE应用服务器,只能被称为web规范的容器而已;

对于JAVA EE规范的应用服务器的提供厂商,开源项目和商业产品并存,举例来说,开源的glassfish为JAVA EE规范的参考实现;对于IBM的Webaphere和Oracle的Weblogic来说,之所以称之为JAVA EE应用服务器,也是因为其实现了JAVA EE的全集规范。

         在JAVA EE6规范之前,所有的规范都实现才可以叫做JAVA EE应用服务器,但是由于时代的发展,JAVA EE规范越来越多,越来越重,将重量级JAVA EE规范进行轻量级的呼声尤为突出;JAVA EE6规范,首先做出改革,将最常用的web容器相关的规范,做成了一个集合,叫做Web Profiler,JAVA EE应用服务器可以选择只实现WebProfiler,或者实现一个全集规范,例如开源项目TomEE就是只是选择实现了WebProfiler;

         总之,JAVA EE其实就是一个社区推动起来的一个企业级的规范,可以简单的说,就是一系列关注与企业级领域的API,由此而引申的关于如何做企业级应用,和围绕着JAVA EE的一些API(例如Servlet,JPA)等一些兴起的开源项目社区,日益的庞大,使得企业级应用开发越来越便利;未来的JAVA EE规范仍旧会不断的向前发展,向着模块化各种规范,向着轻量级,高性能,云计算,海量数据处理等方向前进。

2.JAVA EE整体架构


可以看到,在JAVA EE6的最新规范中,是按照容器进行划分的,这里的容器的概念其实可大可小,对于整个JAVA EE6的大块来看,一共分成4个大的容器:

a.      应用客户端容器,一般这个客户端为直接在操作系统中存在的JRE环境中,实质上可以理解为在JRE中启动一个JVM的进程,也就是main函数,在这个main函数中,可以直接在这个环境中引入一些对应的规范,在上面的竖条中的规范可以看到,n次出现在各种容器中,其代表就是,对应的JAVA EE规范是否可以再当前的容器中运行。

b.      Applet容器,实质就是在嵌入到浏览器环境中的JRE的一个插件,通过Swing和Awt等图形化的API,在浏览器宿主环境中,显示具体的图形。

c.      Web容器,可以理解为其主要支撑的JAVA EE规范是WebProfiler的,其核心为Servlet和JSP,在Web容器中的竖条规范中,即为JAVA EE的WebProfiler。

d.      EJB容器,即为除了WebProfiler特性之外的所有的规范的内容集合,注意,一定不要理解为仅仅支持单纯的EJB规范,只是在EJB容器中的核心为EJB规范而已,可以看到在EJB容器中的很多内容都是与Web容器相重复的,只是容器的核心不同而已,并且在EJB容器中,例如在Web容器中的JSTL,EL等规范就不能使用了;

 

上述的四个容器构成了整个JAVA EE的环境,可以看到上图中还有一些连线,这里面描述了容器和容器之间的调用关系,和一些调用协议,例如加密协议SSL和普通的HTTP协议;对于数据库也可以看到一些连线,通过Web容器,EJB容器,应用客户端可以对数据库进行操作。

 

 

3.JAVA EE规范的角色划分图

JAVA EE的规范中,还需要明确的就应该是JAVAEE平台的角色的划分,我们可以根据目前的行业软件的一个非常典型的合作情况,来看整个JAVA EE规范的角色的划分;


可以看到上述的几个角色:

a.      JAVA EE Product Provider :JAVA EE产品的提供商,也就是JAVAEE应用服务器,对于国产的JAVA EE应用服务器来说,就是东方通,金蝶,中创;对于国外来说,就是IBM的Websphere,和Oracle的Weblogic的服务器。

b.      Application component provider :应用组件提供商,相当于实现了Servlet,EJB的一些Bean,但是可以看到目前的企业级软件市场的领域中,对于这些Bean都进行了二次的封装,例如一些公用的服务,通用的领域组件,这些部分通常一些开源的项目,例如Spring,Struts等开源项目,都会通过优良的设计模式和架构模式将一些API接口更好的使用起来,这部分的封装也有一些商业上的实现,如国内比较著名的普元,起步软件等等;

c.      Tool Provider:对于工具的支撑再好理解不过了,例如Eclipse中有对应的应用服务器的一些的插件,也有对应着领域平台,如用友NC平台的一些插件;

d.      Application Assembler :系统集成,对应的就是系统的集成商,也就是中软,神州数码,用友,东软这一个层级的行业软件的公司,进行业务的组装,俗称系统集成;

e.      Deployer:JAVA EE角色中,将部署提高到一个非常高的高度,成为了一个角色,其实来说部署确实是一个非常繁重的任务,将大家开发的源码都集成起来,进行编译工作,编译完成打成应用服务器识别的包,进行部署的工作;虽然这里面大部分有一些自动化的脚本来完成,但是在部署中出现的错误和问题,需要部署人员去定位,然后找到对应的系统集成人员进行修改;

f.       System administrator:系统管理员指的是系统集成商中,维护这个JAVA EE系统的监控,运维这部分的内容;

g.      System Component Provider:在本系统之间需要调用到其它的系统,例

javaee 6 规范 chm版本 第1章 引言 1.1 感谢 1.2 版本1.3的感谢 1.3 版本1.4的感谢 1.4 版本5的感谢 1.5 版本6的感谢 第2章 平台概述 2.1 体系结构 2.2 Profile(自定义规范) 2.3 应用程序组件 2.4 容器 2.5 资源适配器 2.6 数据库 2.7 Java EE标准服务 2.8 互用性 2.9 产品标准的灵活性 2.10 Java EE产品的扩展 2.11 平台角色 2.12 平台协议 2.13 J2EE 1.3中的变化 2.14 J2EE 1.4中的变化 2.15 Java EE 5中的变化 第3章 安全 3.1 简介 3.2 一个简单的例子 3.3 安全体系结构 3.4 用户验证的必要条件 3.5 授权条件 3.6 部署标准 3.7 未来的方向 第4章 事务管理 4.1 概述 4.2 标准 4.3 事务的互用性 4.4 本地事务优化 4.5连接共享 4.6 JDBC和JMS部署问题 4.7 双相提交支持 4.8 系统管理工具 第5章 资源,命名和注入 5.1 概述 5.2 JNDI命名上下文环境 5.3 Java EE平台角色的职责 5.4 简单环境入口 5.5 Enterprise JavaBeansTM 5.6 Web服务的引用 5.7 资源管理器连接工厂的引用 5.8 资源环境的引用 5.9 消息目的地的引用 5.10 用户事务的引用 5.11 事务同步注册表的引用 5.12 ORB的引用 5.13 引用持久化单元 5.14 持久化上下文的引用 5.15 应用程序名称和模块名称 5.16 检验器和检验器工厂的引用 5.17 数据源资源定义 5.18 引用受管理的Bean 5.19 Bean管理器的引用 5.20 支持依赖注入(JSR-330) 第6章 应用程序编程接口 6.1 必须的API 6.2 Java平台Java SE标准 6.3企业级JavaBeansTM 3.1标准 6.4 Servlet 3.0标准 6.5 JavaServer PagesTM标准 6.6 Expression Language标准 6.7 JavaTM Message Service 6.8 JavaTM Transaction API 6.9 JavaMailTM 1.4标准 6.10 Java 连接器体系结构标准 6.11 Java EE Web服务1.3标准 6.12 JAX-RPC 1.1标准 6.13 JAX-WS 2.2 标准 6.14 JAX-RS 1.1标准 6.15 JAXB 2.2 标准 6.16 JAXR 1.0 标准 6.17 API 1.1标准 6.18 API 1.2 标准 6.19 JACC 1.4 标准 6.20 JASPIC 1.0 标准 6.21 JSR-45 标准 6.22 SJSTL 1.2 标准 6.23 Web Services 2.1 标准 6.24 JavaServer 2.0 标准 6.25 Java平台公共注解1.1标准 6.26 Persistence API 2.0 6.27 Bean Validation 1.0 6.28 Managed Beans 1.0 标准 6.29 Interceptors 1.1 标准 6.30 Contexts Dependency 6.31 Dependency Injection 第7章 互用性 7.1 互用性介绍 7.2 互用性协议 第8章 应用程序组装者和部署 8.1 应用程序部署的生命周期 8.2 库的支持 8.3 类加载标准 8.4 应用程序组装 8.5 部署 8.6 应用程序的XML Schema 8.7 Java EE XML Schema定义 第9章 Profile 9.1 简介 9.2 定义Profile 9.3 Profile的总体原则 9.4 标准的扩展 9.5 所有Java EE Profile标准 9.6 Java EE Profile可选特性 9.7 完整的Java EE产品标准 第10章 应用程序客户端 10.1 概述 10.2 安全 10.3 事务 10.4 资源,命名和注入 10.5 应用程序编程接口 10.6 打包和部署 10.7 程序客户端的XML Schema 第11章 服务供应商接 11.1 JavaTM EE连接器体系结构 11.2 容器Java服务提供方协议 11.3 JavaTM事务API 11.4 JavaTM持久化 11.5 XML Web服务提供的API 11.6 JavaMailTM 第12章 兼容性和迁移 12.1 兼容性 12.1 迁移 第13章 未来的方向 13.1 JNLP(Java Web Start) 13.2 Java EE SPI 附录 附录A 早期版本的部署描述符 附录B 修订历史 科瑞网酷
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值