Oracle Java EE专家Arun Gupta简要介绍了Java EE7。 经Oracle公司Oracle技术网络的许可,转载。

在2013年1月14日至16日举行的年度IOUC(国际Oracle用户社区)峰会上,在加利福尼亚州红木海岸的Oracle总部,来自世界各地的100多位顶级用户组负责人齐聚一堂,分享最佳实践,提供反馈并接收来自领先的Oracle开发人员的更新。

特别值得注意的是Oracle Java传播者和Java EE专家Arun Gupta的会议,题为“ Java EE 7平台:更高的生产力和拥抱HTML5”,为Java EE 7发布后的丰富可能性提供了一个窗口。在2013年Spring。Gupta带领与会者进行了Java EE 7的一些重大开发:

  • RESTful Web服务2.0的Java API
  • Java消息服务2.0
  • JSON处理的Java API 1.0
  • WebSocket 1.0的Java API
  • Bean验证1.1
  • Java Platform 1.0的批处理应用程序
  • Java持久性API 2.1
  • Servlet 3.1
  • Java EE 1.0的并发实用程序
  • JavaServer Faces 2.2

此外,他讨论了Java EE 7的实现状态,展望了Java EE 8,并解决了建立基于标准的云编程模型所涉及的挑战和潜在的陷阱。

Gupta于2009年12月10日发布了Java EE 6的简短讨论,开始了本届会议。在此期间,已经下载了超过5,000万个Java EE 6组件,使之成为世界上首要的应用程序开发平台。 Java EE 6的成功是迄今为止Java EE版本最快的实现。

“除了Oracle,IBM,SAP,日立,红帽,富士通和Caucho等公司都采用了它,”古普塔说。 “今天有18种兼容Java EE 6应用服务器的实现。 每个月左右,我们都会看到一个新的供应商。”

他指出Java EE 7提供了更高的生产力。 更少的样板 功能更丰富; 更多默认选项; WebSocket和JSON形式HTML5支持。 Gupta观察到,尽管Java EE 7提供了基于标准的平台并进行了很多创新,但是W3C和其他标准机构在云中没有足够的标准。 需要更多的标准,以便我们可以为云定义Java API。 如果没有进行足够的创新,过早的标准化也可能是一个问题。 那么该平台的正确选择是什么? 我们已经与社区,核心小组成员以及Java社区流程的执行委员会进行了接触,并致力于提供更高的生产力并更加紧密地拥抱HTML5平台。 我们将更多地使用依赖注入,这将使开发人员能够编写更少的样板代码,并提供更丰富的功能,例如批处理应用程序和缓存。 同样,对于HTML5,我们正在拥抱WebSocket功能以及解析和生成JSON结构的能力。 作为JSF的一部分,我们将提供对HTML5友好的标记的支持。”

然后,他讨论了Java EE 7的最重要的功能。

JSR 339:用于RESTful Web服务2.0的Java API

Gupta解释说:“我们正在JAX-RS 1.0中构建几个新功能。” “我们将在2.0中引入新的客户端API,使您能够以标准方式调用REST端点。 我们正在提供扩展点,方法过滤器和实体拦截器,它们可以非常轻松地改进如何进行请求和响应以及如何进行预处理和后处理,这对于解决诸如日志记录或安全性之类的跨领域问题非常有用。轻松地作为您的REST端点的一部分。”

其他新开发成果包括针对服务器和客户端的异步处理,支持可扩展性更高的应用程序,超媒体支持,简化REST端点的通用配置等等。

有关JAX-RS 2.0的更多信息,请查看Gupta关于此主题的博客条目 。

JSR 343:Java消息服务2.0

Gupta指出Java消息服务的最新版本是在JDK 1.4之前的2003年12月发布的。 尽管JMS稳定且得到了广泛使用,但他解释说,它需要赶上Java平台中的后续更改,例如泛型,注入和注释。 Java EE 7利用新功能来改进开发人员编写JMS代码的方式。 使用JMS 2.0,开发人员将使用更少的样板代码,并且能够利用资源注入的优势,这意味着更大的功能和更有效,更简单的代码。

Gupta演示了如何用JMS 1.1发送一条简单消息花了20行,而使用JMS 2.0可以用更清晰,更易懂的代码在6行中完成。 他说:“这是一个巨大的进步。”

JSR 353:用于JSON处理1.0的Java API

Gupta转向JSON Processing 1.0的Java API。 最初将其引入平台时,其最初目的是解析并生成JSON。 Gupta说:“如果您熟悉JAXP,您会知道它具有事件驱动的StAX流API和基于DOM的API。 同样的情况也适用于用于JSON处理的Java API:它具有流API和对象API。”

流API

  • 提供一种低级,有效的方式来解析/生成JSON
  • 提供解析器/生成器的可插入性

对象模型

  • 简单,易于使用的高级API
  • 在流API之上实现

Gupta说:“缺少的是获取POJO并放置注释的能力,以便它可以像JAXB中那样自动为您进行绑定。 这种改进即将到来。”

JSR 356:用于WebSocket 1.0的Java API

JSR 356定义了如何编写基于标准的WebSocket应用程序。 它不仅定义了服务端点,还定义了使用注释驱动或接口驱动的模型编写服务的方式。 还将引入一个单独的客户端API。

Gupta解释说:“ WebSocket协议通过使线路上的所有内容都充当数据或控制框架而起作用。” “因此,可以定义用于数据帧的API或SPI,使开发人员能够操纵数据帧。 例如,您可以使用SPI对某些对象进行WebSocket扩展,例如压缩或多路复用。 经常有人问我们这在Java SE环境中如何工作。 是否确定是否在JSR 356中进行了定义和批准。 但是,Tyrus(JSR 356的参考实现)将提供客户端配置文件。”

JSR 349:Bean验证1.1

Gupta解释说Bean验证是Java EE 6中引入的新规范。作为应用程序逻辑的一部分,与其定义验证约束(例如名称中允许的字符数或列表中的元素数),不如将其作为应用程序逻辑的一部分。通过注释更容易定义。 Gupta说:“注释被作为方法的约束,而Java EE的Bean验证器会自动加入并遵守这些约束。”

他解释说,约束可以在某一时刻定义,并由Bean验证器自动接受。 它们可以启用,禁用,配置或定义为自定义约束。 Gupta说:“在Java EE 6中,这主要是由Java Persistence API和JavaServer Faces使用的。” “在Java EE 7中,它们可以放在EJB或简单的POJO上。”

JSR 352:在Java EE 7中编写简单的批处理应用程序

JSR 352在Java EE 7中为非交互式,面向批量的长期运行任务提供了新功能,例如生成每月银行对帐单,这涉及在银行网络的短处理时间内处理数千个帐户。 Gupta说:“您只需定义一个流程,它就会按计划自行运行。” “ JSR 352的大多数概念都是从Spring借来的。 任务可以并行或顺序运行。 有一个完整的Java XML,它将定义您的任务,以及定义的步骤和完整的任务流程。”

JSR 236:Java EE 1.0的并发实用程序

Gupta评论说,JSR 236是很久以前提交的,最近发展势头强劲。 它定义了如何创建(例如)新的托管线程。 Java EE本身限制了新线程的创建。 Java EE是一个托管应用程序,因此,如果用户创建新线程并且容器和运行时不知道这些线程,那么它将如何管理它? JSR 236将使开发人员能够创建容器已知和管理的托管线程。

JSR 344:JavaServer Faces 2.2

可重用的流程,HTML5友好的标记和资源库合同是JSF 2.2的重要项目。 Faces Flow借鉴了Oracle ADF Task Flow,Spring Web Flow和Apache MyFaces CODI的核心概念。 它引入了@FlowScoped CDI注释(用于流本地存储)和@FlowDefinition (用于使用CDI生产器方法定义流)。 有明确定义的入口和出口点以及明确定义的参数,因此可以重复使用该流程。

Servlet和Java Persistence API 2.1的微小更改

Gupta在会议结束时简要讨论了Servlet 3.1和Java Persistence API 2.1提供的微小更改。 他指出,尽管Java EE 7中的这些更改很小,但它们各自都对Java EE 6进行了重大改进。

为Java EE 7采用JSR

Gupta鼓励开发人员参加Adopt-a-JSR,他们可以在其中寻求对特定Java EE 7 JSR的兴趣,并下载代码,进行试用,报告错误,并向Java EE 7规范负责人提供反馈。

也可以看看

  • 阿伦·古普塔(Arun Gupta)的博客
  • Java EE 7透明专家组
  • Java EE 7参考实现
  • 水族馆
  • 采用JSR

作者简介: Janice J. Heiss是Oracle的Java收购编辑和 Java Magazine 的技术编辑 。

翻译自: https://jaxenter.com/arun-gupta-on-higher-productivity-from-embracing-html5-with-java-ee-7-106109.html

Arun Gupta通过将HTML5与Java EE 7拥抱来提高生产力相关推荐

  1. 从Java EE到Jakarta EE,企业版Java的发展历程

    眼看他起高楼,眼看他宴宾客,眼看他楼塌了. 本文已被https://yourbatman.cn收录:程序员专用网盘https://wangpan.yourbatman.cn:公号后台回复"专 ...

  2. 从Java EE到Jakarta EE的发展历程

    目录 ✍前言 JDK发展简史 什么是Java EE? Java EE发展史 补充:什么是Eclipse基金会 有Java EE SDK吗? 什么是Jakarta EE Jakarta EE发展史 一站 ...

  3. 复习者-Java EE 7概览

    随着红帽JBoss企业应用平台7(EAP 7)的出现,甚至最近刚刚通过Java EE 7认证的WebLogic服务器,我认为现在应该为您重新介绍Java Enterprise Edition 7的时候 ...

  4. java学习里程碑_记录您的里程和社区运行情况:Java EE 7真实体验

    java学习里程碑 miles2run.org是跟踪跑步活动并与亲朋好友共享的简便方法. 可以创建然后跟踪基于天或基于距离的目标. 它还允许创建社区运行目标,并使多个跑步者参与并跟踪他们朝着该目标的活 ...

  5. 记录您的里程和社区运行情况:Java EE 7真实体验

    miles2run.org是跟踪跑步活动并与亲朋好友共享的简便方法. 可以创建然后跟踪基于天或基于距离的目标. 它还允许创建社区运行目标,并使多个跑步者参与并跟踪他们朝着该目标的活动. 您也可以找出本 ...

  6. 评论:Arun Gupta撰写的“ Java EE 6 Pocket Guide”

    这是我很高兴写的评论. 我的朋友阿伦(Arun)发布了Java EE 6袖珍指南,该指南将在您订购时尽早提供. 我很早就知道这本书,因为我很乐意对其进行回顾,也感谢有机会为本书做出一点贡献! Kind ...

  7. java ee 7精粹_Java EE 7精粹 ([美]Arun Gupta) 中文pdf扫描版[68MB]

    Java EE 7是Java EE最新版本的平台,它为建立Web应用和企业应用提供了简单.易用和全栈式的服务. Java EE 7精粹这本书提供了Java EE 7平台中关键规范的概述.全书共16个章 ...

  8. java-ee-api_刷新器-Java EE 7概览

    java-ee-api 随着红帽JBoss企业应用平台7(EAP 7)的迫在眉睫,甚至WebLogic Server刚刚获得Java EE 7认证,我认为现在应该是时候对Java Enterprise ...

  9. WildFly上具有AngularJS的Java EE 7和Java WebSocket API(JSR 356)

    这篇博客文章描述了用于WebSocket协议的Java API(JSR 356) (这是Java EE 7平台的四个最新JSR之一),并提供了部署在WildFly 8上并可以在OpenShift上在线 ...

最新文章

  1. GitHub 博客-- Jekyll--代码高亮,Liquid 转义字符
  2. 【FPGA】SRIO IP核系统介绍之事务类型(Transaction)
  3. 首位植入脑机接口的患者通过Twitter发布信息
  4. Python中常用的内值方法
  5. c语言编程后总有一个错误,C语言编程,之后出现错误,请大神帮忙看下什么问题?...
  6. Jerry 2016年5月20日到5月23日的学习笔记
  7. axios请求超时,设置重新请求的完美解决方法
  8. 危机十足站长的生命觉悟:拼命也得每天挤一滴墨水!
  9. centos8平台用NetworkManager/nmcli管理网络
  10. Spring源码解析 - BeanFactory接口体系解读
  11. matlab如何z变换,MATLAB第3章Z变换详解.ppt
  12. c 语言 如何优化cpu占用率,C#程序优化-有效减少CPU占用率
  13. 机器学习从入门到创业手记-初识sklearn
  14. .vip域名是什么?
  15. 厦门大学计算机网络实验三
  16. 在线支付系列【20】微信支付服务商介绍
  17. 3dmax2014植树插件_【亲测能用】3dsMax种树插件:Forest Pack Pro v6.2.1 For 2015-2020+资源库下载-羽兔网...
  18. spring boot框架常用的一些玩意儿
  19. 第七次网页前端培训笔记
  20. (四)基于Multisim的电台发射系统:低频功率放大器的设计

热门文章

  1. Derivation of Linear Regression with Multiple Variables
  2. fr4速度 微带线_微带线(microstrip)和带状线(stripline)
  3. ubuntu14.04安装Y430P-GTX850M的nvidia驱动和cuda-8.0
  4. 中年人的崩溃从浏览器崩溃开始
  5. 简单手机短信发送软件
  6. 网易163邮箱配置-iOS、OS X邮箱客户端
  7. 绿色IT实现的阻碍 IT企业污染严重
  8. 用html5制作闹钟,HTM5制作的闹钟
  9. 在kile上通过串口实现scanf输入和printf打印
  10. Even-Odd Increments