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进行企业软件开发”博客中

相关文章 :

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值