《Java EE 7精粹》—— 第1章 Java EE 1.1 简介

本节书摘来异步社区《Java EE 7精粹》一书中的第1章,第1.1节,作者:【美】Arun Gupta,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 Java EE

1.1 简介

Java平台企业版(Java EE)提供了一个用于开发Web应用和企业应用的标准的平台。这些应用通常设计为多层的分层应用,包含:Web框架的前端层、提供安全和事务的中间层、提供对数据库或遗留系统连接的后端层。这些应用程序应该具备快速响应性和适应用户需求增长的可伸缩性。

Java EE平台为每个层中不同的组件定义了API,同时还提供了一些额外的服务,比如命名(naming)、注入(injection)和跨平台的资源管理等。这些组件部署在提供运行期支持的容器中,容器为应用组件提供底层的Java EE API联合视图。Java EE应用组件不会直接与其他Java EE应用组件交互。他们使用容器的协议和方法来和彼此以及平台服务进行交互。将容器置于应用组件和Java EE服务之间,使容器可以透明地注入组件所需的服务,比如声明式事务管理、安全检查、资源池和状态管理等。这种基于容器的模型和对资源访问的抽象使得开发人员从实现通用的底层基础任务中得以解放。

平台的每个组件都定义了单独的规范,规范中描述了API、javadoc以及预期的运行期行为。

Java EE 7发布于2013年6月,Java EE 7为建立Web应用和企业应用提供了一个简单的、易用的和全栈式的服务。这样的初衷和服务始于Java EE 5,在Java EE 6中持续发展,并在Java EE 6中为简化开发实践迈出了第一步。

Java EE 7平台建立在以前的版本之上,有以下三个主要目标。

1.1.1 拥抱HTML5

WebSocket协议作为HTML5技术集的组成部分,为现代的、交互式的Web应用带来了新层次的开发简易性和网络执行效率。它提供了一个双向的、在一条TCP(Transmission Control Protocol,即传输控制协议)信道上的客户端和服务器之间全双工的通信。Java EE 7为开发和部署WebSocket客户端和端点定义了一组新的标准API。

JSON是Web应用中轻量级的数据交换通用格式。到现在为止(译者注:Java EE 7发布之前),开发人员需要在项目中绑定第三方的JSON库来处理JSON数据。Java EE 7定义了一个新的可移植的API,采用流或者对象模型来解析、生成、转换和查询JSON格式的数据。

JavaServer Faces(JSF)引入了pass-through属性和元素,pass-through能够几乎完全控制视图中的每个单个元素的用户体验,这使得HTML5-friendly标记可以很容易地嵌入到网页中。

1.1.2 更高的生产力

JMS API已经大大简化。JMSContext提供了统一功能的Connection对象和Session对象。此外,一些JMS接口实现了Autocloseable接口,因此在使用完可以被容器自动关闭。进一步简化JMS API的例子还包括:准确的错误处理、抛出运行期异常而不是定义受查异常、JMSProducer上的方法链,以及简化信息发送的实现代码等。

如果REST应用中没有客户端API(在JAX-RS2中引入的API),开发人员需要使用基本的HttpURLConnection类API来实现客户端连接,还要为此编写相关的代码。

应用程序中使用更多的默认配置(比如一个用于访问运行环境中的数据库的预配置数据源,一个用于访问JMS provider的预配置的JMS ConnectionFactory,以及一个预配置的ManagedExecutor服务)为使用Java EE 7平台开发的新手提供了无缝的、现成的体验。

上下文和依赖注入(Contexts and Dependency Injection,CDI)规范现在是一个默认启用的核心组件模型。这使得平台更具凝聚力和完整性。CDI拦截器(CDI interceptors)现在能够更广泛地适用于Bean。在EJB(Enterprise JavaBean组件)之外,使用@Transactional注解可以为POJO(普通Java对象)带来处理事务的语义。Bean验证(Bean Validation)可以使用拦截器对方法的参数和结果进行自动验证。

样板代码更少、默认配置更多,以及一个内聚的完整平台,这些特质加在一起推动了开发人员使用最新版本的Java EE平台构建应用的生产力。

1.1.3 企业级需求

Java平台的批处理应用是平台中的一个新的功能,对企业客户非常重要。它使开发人员能够轻松地以面向item或task的方式,定义非交互式的、面向批量的、长时间运行的作业。

Java EE的另一个新功能是并发工具包(Concurrency Utilities),它是对Java SE的Concurrency Utilities API的扩展,用于Java EE容器管理的环境中,以便让适当的容器管理的运行期上下文可以执行某些任务。

平台中的这个功能使开发人员能够利用标准的API,从而减少了对第三方框架的依赖。

在Java EE 7之前,Java EE 6平台已经改进了提高开发人员生产力的功能,并添加了更多的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值