Java EE过去,现在和云7

最近的JavaOne 2011的一个突出主题是下一个主要的Java EE 7版本。 正如主题发言中所述,有关工作正在进行中。 它将包含我们已经从先行者那里知道的28个规范以及一些新规范。 没人可以告诉您确切的号码,因为EE 7仅在“及时”完成时才会接受新的规范。 这意味着EE 7的计划发布日期(2012年第三季度最终发布)是一个出色的目标,它确定了范围和进度。 包含的候选人包括Jcache 1.0(JSR 107),并发实用工具1.0(JSR-236),状态管理1.0,批处理1.0和JSON 1.0。 这个雄心勃勃的目标只是让我感到奇怪的一件事。 但是,让我们从头开始。

新的Java EE 7规范负责人Linda DeMichiel(右图)在主题演讲中详细介绍了通用方法。 Java EE 7的主要重点是将Java应用程序引入云中。 通过从J2EE到Java EE的步骤,通用服务方法已集成到平台中。 意思是,开发人员能够使用服务并以声明方式使用服务。 从Java EE 7开始,平台本身应成为一种服务。 在含义上提供了使用Java EE应用程序服务器启用PaaS(平台即服务)的足够方法。 基本上是为了使EE的客户和用户能够利用整个范围的云(公共,私有和混合)。 这应该通过添加新的平台角色,元数据和API来实现,这些角色支持所需的需求,如多租户,弹性和可伸缩性。 除了新的“块上孩子”,成熟的规范还需要大量更新以支持这些要求。

查看9个“进行中的”规范中已经存在的要点问题,应该使我们更加了解如何实现“云目标”。

JPA 2.1( JSR 338 )

包含新功能的第一个规范是JPA 2.1。 可以使用以下简短列表来描述新功能:
–多租户(表区分符)
–存储过程 –自定义类型和转换方法 –示例查询 –动态PU定义 –模式生成(附加映射元数据以提供更好的标准化)

JMS 2.0( JSR 343 )

一般而言,这可以认为是最成熟的规范。 自上次维护版本(2002年4月)以来,还有9年的时间。
–适度的范围
–易于发展 –可插拔JMS提供程序 –支持“云”的扩展

EJB 3.2( JSR 345 )

Enterprise JavaBeans 3.2的目标是巩固这些进步,并继续简化EJB架构,并为进一步实现云计算的Java EE平台范围的目标提供支持。 EJB 3.2的范围旨在相对地集中于这些目标。
–增量因式分解(拦截器)
–进一步使用注释来简化EJB编程模型 –建议的可选:BMP / CMP –建议的可选:使用RPC的Web服务调用

CDI 1.1( JSR 346 )

自从CDI 1.0规范的最终版本发布以来,社区已经发现了许多问题,并且对该规范进行了更新可以解决这些问题。 此处提供了建议的更新列表,但是EG将考虑随着JSR进行而提出的其他问题。
–嵌入式模式
–生命周期事件 –声明式包扫描 –拦截器和装饰器的全球订购 –注入静态变量

Servlet 3.1( JSR 340 )

在开发Servlet规范3.1时,EG将考虑平台的任何要求,以优化Web应用程序的平台即服务(PasS)模型。 除此之外,还应解决以下领域。
–云支持
– NIO.2异步I / O –利用Java EE并发 –安全改进 – Web套接字支持 –易于发展

JSF 2.2( JSR 344 )

新的JSF JSR将是一项重要的功能更新,它将基于以前的JavaServer Faces版本的改进。
–易于发展
– HTML 5支持(表格,标题,元数据) –新组件 – Portlet集成

JAX-RS 2.0( JSR 339 )

JAX-RS解决了大多数要求的社区功能。 仅举几例:
–客户端API
–超媒体 –用于验证的主要API将是Bean验证API –易于发展

表达式语言3.0( JSR 341 )

自JSP 2.0以来,表达式语言(EL)已成为JSP规范的一部分。 在Java EE 7中,它将成为一个单独的JSR。
–独立的JSR
–易于在外部容器中使用 –基于标准的集合选择 –新运营商 –用于表达评估的CDI事件

Bean验证1.1( JSR 349 )


作为1.0版,Bean验证在明智的方面保持了优势。 社区已经表达了对其他功能的兴趣,这些功能可以增强规范第一版中所做的工作。 –与其他JSR(JAXRS,JAXB,JPA,CDI,EJB,JSF)集成 –方法级验证 –约束构成

云? 那是雨吗?

通过查看这些提案,很明显其中一些提案具有启用云的空间。 有些根本不在乎。 到目前为止,搜索云内容很少成功。 让我们看一下伞JSR 342 。 官方页面是公开的,可以在http://java.net/projects/javaee-spec/上找到。 非常有趣的是Java EE 7平台和PaaS模型支持文档 (PDF),该文档描述了Java EE 7中PaaS支持的总体体系结构。通过评论,专家组在很大程度上达成了一致。 它总结了所需的角色(PaaS产品供应商,PaaS提供者,PaaS客户经理,PaaS客户,应用程序提交者,应用程序管理员,最终用户),并给出了两个示例场景,它们在PaaS环境中发挥作用。 进一步,您会发现一些定义和术语:

PaaS应用程序:

“包含领域特定代码的离散软件工件,
可以由PaaS客户上载到PaaS环境并部署在其中。
该工件可能会消耗PaaS资源,并分布在多个JVM中 根据QoS设置和/或SLA的实例。 根据其使用条款, 随后,可以通过以下方式将PaaS应用程序部署到PaaS环境中: 可能还有其他任何PaaS客户。”

承租人:

“由于在此处描述的模型中,PaaS客户对应于
隔离域,我们将使用术语“租户”来避免与
在业务环境中“客户”一词的其他用法。”

应用程序开发人员:

“我们将使用“应用程序开发人员”一词来表示
应用程序开发人员的常识。 用传统的Java EE术语, 此角色在应用程序组件提供程序和应用程序之间分配 汇编器。”

此外,您还可以找到有关“保护”投资的强制性声明:

Java EE 7的目标是增加对PaaS模型以及
SaaS模型的有限形式,同时尽可能保留
建立了Java EE编程模型,并进行了大量投资 由客户,供应商和系统集成商集成到Java EE生态系统中。

(来源: Java EE 7平台和对PaaS模型的支持 )

您很快就会看到Jerome Dochez的qcon London幻灯片 ,您会发现,与专家组在公开文档中讨论的内容相比,还有很多事情要处理:

–更好的云打包(模块化应用程序)
–版本控制
–部署模型 – SLA监控 –帐单

而且我敢肯定,您可以提出更多建议。 由甲骨文Openword的Adam Leftik和John Clingan提出的GlassFish / Java EE战略和路线图 (PDF)通过查看以下内容对未来进行了更详细的描述:

–动态服务供应
– Iaas管理
–使用自动缩放的弹性 –监控 –虚拟机管理程序抽象

到目前为止,这似乎是在云中使用Java EE的最完整,最具体的方法。 看到GlassFish团队使用最新的GF 4.0发行候选者进行演示时,您可以想象到工作完成了多少。 (即使我认为仍有大量工作要做:)

没有雨,但是会阴天

目前正在发生许多变化。 在成熟的规范中,随着方向的改变,这是预期的。 通过相信新的Oracle云产品和GlassFish团队正在进行的前沿工作,我相信可以实现宏伟的目标,因为我们有足够的商业价值。 我担心的是,单一规范可能会拒绝包含“需要的”云内容,以支持错误修复或社区要求。 这是伞式规范首次朝着完全不同于包含子项的方向发展。 另一方面,正如我们从过去所知,雨伞本身是一个可比较的小规格,它在非常一般的细节水平上进行规定。 一般而言,这可以为供应商带来机会。 在此让我补充一点:我坚信,Java EE 7自古以来对规范领导者将是最大的挑战。 通常,遵循整个“云”主题而不分散或优先考虑单个包含的规范将是一项非常政治的工作。 即使Linda DeMichiel是Java EE的资深人士,我也相信很多工作正在这里等待。

2013年夏季与2012年第三季度最终发布–错失良机

我在时间表上遇到的真正大问题是,我们没有机会获得用于应用程序打包的真正模块化方法。 无论是针对云的打包(以及相关的东西,如版本控制,SLA等)设计什么,都将无法利用Java SE 8随附的新项目Jingsaw功能。我个人认为,这是对Java的主要要求云的Java EE PaaS基础架构。 如果新的云元数据将建立在Java EE 6打包规范的基础上,那么就错过了采用最新,最好的Java模块化的机会。 我非常好奇地看到,EG将如何解决此问题,而无需再次使用Java EE 8进行所有工作。

参考:来自JCG合作伙伴 Markus Eisele的 Java EE过去,现在和Cloud 7 ,在“使用Java进行企业软件开发”博客中 。

相关文章 :
  • 在云中开发和测试
  • Java EE中的配置管理
  • 泄漏:Oracle WebLogic Server 12g
  • Java EE6装饰器:在注入时装饰类
  • Java教程和Android教程列表

翻译自: https://www.javacodegeeks.com/2011/10/java-ee-past-present-cloud-7.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员都用什么来记录知识_1年前的小五都用 Python 来做什么?

↑ 点击上方 “凹凸数据” 关注 星标 ~ 每天更新,干货不断 (多图预警)注:这是小五一年前在知乎的回答,当时还只有凹凸数读一个公众号,所以很多图片都会带有数读或者知乎的水印。作为一个菜鸟数据分析师,只会sqlpytho…

SQL-行转列(PIVOT)实例1

--未旋转之前的查询结果 select s.Name ShiftName,h.BusinessEntityID,d.Name as DpartmentName from HumanResources.EmployeeDepartmentHistory h inner join HumanResources.Department d on h.DepartmentIDd.DepartmentIDinner join HumanResources.Shift s on s.ShiftIDh…

webservice接口_webservice服务器端发票识别接口

关键词:发票识别 私有云发票识别 发票识别API接口 webservice发票识别平台发票,一个再也熟悉不过的财务往来凭证,录入发票,一项让多少财会人员头疼的工作。过去录入一张发票需要一个财会人员5分钟的时间,那么这个人在工…

一个简单的socket通信小demo

写了一个socket的程序,可以和本地的服务器进行通信,要先和服务器建立链接,然后发送登录信息,验证成功,就可以和服务器通信了 1 页面截图 2 点击链接服务器,可以链接服务器,服务器的ip地址为&…

汉仪尚巍手书可以商用吗_【商用车维修】夏天修空调可以撑起全年修车收入的一半,你会了吗?...

更多精彩,请点击上方蓝字关注我们!车载空调是炎热的季节必不可少的利器,但用得多,毛病也多了起来,今天和大家分享一些空调系统的相关知识,助力修车师傅们来应对空调系统的相关故障问题。如何判断制冷系统的…

Git 简单使用

1.Git是什么 简介:Git是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被认为是分布式版本控制工具中的顶级水准。智能、友好、强健、高效。 作用:新建一个分支,把服务器上最新版的代码fetch下来&#x…

Vaadin附加组件和Maven

介绍 我喜欢Vaadin的 (众多)一件事是它对Vaadin框架的“附加组件”社区-他们称之为Vaadin目录 。 “附加组件”是框架中社区贡献的附加组件,可以是任何东西,例如从新的客户端小部件到数据表的延迟加载容器。 我肯定会为Activiti看…

八皇后时间复杂度_【算法打卡】N皇后

难度:困难题目:n 皇后问题研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回 n 皇后不同的解决方案的数量。提示:皇后,是国际…

Android-Binder 简析

前言 对于Android来说,Binder的重要性怎么说都不为过。不管是我们的四大组件Activity、Service、BroadcastReceiver、ContentProvider,还是经常在应用中使用到的各种ServiceManager,其背后都是Binder在支撑。然而Binder机制又不是三言两语能够…

tplink 703刷固件

1.软件下载: ImageBuilder链接 如果是全新刷机的话,使用:http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin 如果是系统升级的话,使用:http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/op…

编程反模式

您是否曾经进行过代码审查,记录了非常高的WTF / m? 您是否想知道所有这些错误代码的原因是什么? 在大多数情况下,导致原因1的主要原因是使用设计和编码反模式。 如果您喜欢定义,请参见以下内容:AntiPatter…

sql 插入text字段包含特殊字符_Kettle(PDI)转换中输出之插入/更新详解

概述Insert / update(插入 / 更新)此步骤首先使用一个或多个查询关键字查找表中的一行。如果找不到该行,则插入该行。如果可以找到它,并且要更新的字段相同,则不执行任何操作。如果它们不完全相同,则更新表中的行。注意&#xff1…

一张图让你看清Java集合类(Java集合类的总结)

如今关于Java集合类的文章非常多,可是我近期看到一个非常有意思图片,基本上把Java集合的整体框架都给展现出来了。非常直观。 假设发现图片看不清楚。点此处看大图 在这里,集合类分为了Map和Collection两个大的类别。 处于图片左上角的那一块…

【P1835】小红花

很简单的题,然而我没想到,在NOIP上怎么办嘛QAQ 话说这题不知道怎么分类啊……先扔到玄学里边把…… 原题: Fj在圣诞节来临之际,决定给他的奶牛发一些小红花。现在Fj一共有N头奶牛,这N头牛按照编号1..N,排成…

Cocos2d-x 3.2 Lua演示样例FontTest(字体測试)

Cocos2d-x 3.2 Lua演示样例FontTest(字体測试)本篇博客介绍Cocos2d-x 3.2中Lua測试项目中的FontTest样例,主要使用了字体文件来创建我们想要的字体样式:第一个參数为文本。第二參数为ttf字体文件,第三个參数为字体大小…

linux上安装memcached步骤

libevent: http://libevent.org/ 服务器端:https://code.google.com/archive/p/memcached/downloads 客户端: http://pecl.php.net/package/memcache 和 http://pecl.php.net/package/memcached 二选一 http://chenzhou123520.iteye.com/blog/1…

具有GlassFish和一致性的高性能JPA –第2部分

在我的四部分系列的第二部分中,我将解释将Coherence与EclipseLink和GlassFish一起使用的策略第一。这描述了配置Coherence的JPA支持的Cache所必须采取的步骤,以及如何在GlassFish中使用它。高性能数据存储。 一般的做法 您可以将Coherence API与通过JPA映…

arm板telnetd为什么运行不了_一种基于ARM的嵌入式系统开发的方案详细讲解

背景介绍在日益信息化的社会中,各种各样的嵌入式系统已经全面渗透到日常生活的每一个角落。嵌入式系统的功能越来越复杂,这就使得一个嵌入式系统产品从市场需求立项到方案选择、样机研制、定型量产所需要的开发费用越来越多,所需开发时间越来…

反素数 -- 数学

反素数就是区间内约数个数最多的那个数。 在ACM题目里, 一般是求约数最多而且数字最小的那个数,【1--n】 二是求约数刚好等于n的最小的那个数 三是求区间里的最小反素数【beign,end】 1和3有区别吗?有,1可以加速&#…

上传文件---未能找到路径“D:\MyProject\Files\”的一部分

C# 使用控件FileUpload 上传文件,简单实例: protected void btnUpload_Click(object sender, EventArgs e){string path Server.MapPath("~/Files/");if (fileUpload.HasFile true){string filename fileUpload.FileName.ToLower();fileUpl…