【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Java EE 6 规范领导者寻求公众对 Web Profile 选项的反馈

  • 2008-03-03
  • 本文字数:2019 字

    阅读完需:约 7 分钟

Roberto Chinnici 是 Java EE 6( JSR 316 )规范的联合领导者,最近的博文中谈到了Java EE 6 规范Web Profile 的两个最主要的候选项,并向JSR 316 专家小组提出了应该在这两个选项中选择哪个作为前进方向的问题,为此,他也正在寻求公众的反馈。Infoq 借此机会对这两个Web Profile 选项作了剖析,并在这里给大家提供此分析的具体内容。

Java EE 6 规范提出的新概念之一就是 profiles, Infoq 在另一篇文章中对其做过更详细的描述。Java EE 6 规范很可能只会有一个 profile,那就是 Web Profile,这主要取决于时间和资源的限制。但 Chinnici 将它看作一个优点:

profile 的推动理念之一是避免大而重的模型,使得平台的交付系统可以允许更小的焦点社区在他们定义的 profile 内容上稳步前进。自然,它从一开始就尽可能地实现高解耦性,从而将 profiles 推入各个 JSR 中,使它们在各自的时间轴上固定下来。这样说吧,我们原先提议定义一个 Web profile 作为 Java EE 6 JSR 的一部分原因是:第一,在推动 profiles 概念时,有一个用例在手总比没有强得多;第二,我们坚信,市场和开发社区对 EE 平台上以 web 为中心的 profile 会很有兴趣。另外,应用 Web Profile 的 EG 邮件数量和深度也足以证明了我们的第一个理由。

Chinnici 以表格的形式介绍了这两个 Web Profile 选项,并且针对每个选项,他都列出了相关的组件技术。同时,他也列出 Java EE 6 规范完整的技术栈作为比较参考:

(A) (B) Full platform Servlet 3.0
JSP 2.2
JSR-45
EL 1.2
JSTL 1.2
JSR-250 Servlet 3.0
JSP 2.2
JSR-45
EL 1.2
JSTL 1.2
JSR-250 Servlet 3.0
JSP 2.2
JSR-45
EL 1.2
JSTL 1.2
JSR-250 EJB 3.1 (Lite)
JTA 1.1
JPA 2.0
JSF 2.0 *
Web Beans 1.0 * EJB 3.1
JTA 1.1
JPA 2.0
JSF 2.0
Web Beans 1.0 JAX-RS 1.0
Connectors 1.6
JAX-WS 2.2
JAXB 2.2
JSR-109 1.2
JSR-181 1.1
JMS 1.1
JAF 1.1
JavaMail 1.4
JSR-115
JSR-196
JSR-88 1.2
JSR-77 1.1
JAX-RPC1.1
JAXR 1.0

Chinnici 还指出,是否将提案 B 中标 * 的两项技术包含到 EE6 中仍存在着争议。提案 B 中的"EJB 3.1 Lite",指的是 EJB 3.1 中一个被提议的功能子集。目前,它仍有待于 EJB 3.1( JSR 318 )专家小组的接受。

Java EE 6 规范的另一特点是具备可扩展性,这在 Web Profile 的讨论中扮演着重要的角色 :

[…] 在 Web 层,可扩展性是指以非常简单的编程模式利用第三方框架的能力。开发者在添加他们喜欢的 web 框架所传递的每条指令的 context listeners, filters, servlets 和 servlet mappings 时,将不再需要手工编辑 web.xml 文件的任何描述符。更准确地说,加入第三方 jar 包到 Web 应用程序时,所有这些元素的添加将会自动触发,开发者无须介入任何手工劳动。我们期望这项特点能满足所有诸如 JSF,Struts 和 Spring MVC 的主流 Web 框架的需求;满足类似 JRuby 在 Rails 和 Grails 上的脚本解决方案的需求;以及满足遵循 JAX-WS 2.0/JSR-109 模型的 WS-* web 服务和参考 JAX-RS 1.0 编写的 RESTful web 服务的需求。这里还要重点指出的是,一个技术是否基于 JCP 标准并不能够决定其是否具备可扩展性。

Chinnici 指出,Web Profile 的目的在于成为一个基础规范,而不是包罗万象的技术清单——厂家可以向 Web Profile 兼容的 Java EE 6 实现自由添加新的扩展组件,这将弥补近来应用服务器尝试提供模块化底层构架的不足。Chinnici 说他期待一个试验阶段,在这个阶段中,他希望多家厂商能够互相结合各自融合了 Java EE 6 规范和 Web Profile 基础的产品,并能将它们推向市场以测试类似产品的市场定位。而后,如果一个或多个类似的功能集逐渐形成流行,那么这些受欢迎的功能集就可以作为新一轮 Java EE 6 规范 Profile 的开发基础。

目前,对于那些包含了所有组件技术的 profile 的技术间交互的需求,也将囊括于 Java EE 6 规范中-例如,JTA 和 servlets 之间的交互将应用于 Web profile B 选项,而非 Web profile A 选项,这是因为 JTA 不是 A 选项的一部分。Chinnici 为此给出的理由是:

[…] 一方面,我们认为 Java EE 的需求为独立技术添加了重要的价值,事实可以证明这一点,很多 servlet 容器都是以兼容 Java EE 要求的方式来实现 JTA;同时,提出该需求将有助于确保目标 profiles 应用程序在整体平台上工作。总而言之,这些都使得 profiles 远不仅仅是独立的已测试过的技术的集合,因为这些技术将以有趣的方式互相绑定,和他们独立工作相比,互相绑定可以提供更多功能。

最后需要提出的是兼容性问题。Chinnici 指出,任何需要 Web Profile 结合其他一些 Java EE 6 规范的组件(如 JAXB 2.2)的应用程序,都将无法在纯 Web Profile 上运行。解决此问题的办法是,提供完整的 Java EE 6 的 profile,因为任何能够在 Java EE 6 子集上运行的应用程序,自然也可以运行于整个技术集之上。

分析至此,您更喜欢哪个 Web Profile 呢?选项 A,还是选项 B?

查看英文原文: Java EE 6 Spec Lead Requests Community Feedback on Web Profile Options

2008-03-03 20:04726

评论

发布
暂无评论
发现更多内容

Dubbo-go Client端调用服务过程

apache/dubbo-go

dubbo dubbo-go dubbogo

双11购物节国外剁手党同狂欢 阿里云视频云电商直播实时字幕

阿里云视频云

云直播 直播 直播带货 语音识别

数据结构与算法系列之递归(GO)

书旅

数据结构与算法 Go 语言

《精通Tomcat:Java Web应用开发、框架分析与案例实战》.pdf

田维常

tomcat

Spring bean 加载顺序导致的 bug 问题

AI乔治

Java 架构 Spring Boot

靠脑机接口“隔空探物”,大脑植入芯片可实现“心灵感应”

脑极体

如何应对大促流量洪峰?揭秘京东技术人的备战手册

京东科技开发者

云计算 大数据 亿级流量

低代码开发平台核心功能设计——组件自定义交互实现

徐小夕

大前端 编辑器 H5 大屏可视化 lowcode

区块链有了几个新“标准”!

CECBC

区块链 版权保护

Rethink:多版本文件的命名细节

小匚

团队 随笔杂谈

代码简易调试方法.md

Albert

Java LeetCode 调试

如何预防工业物联网中的恶意攻击?

VoltDB

大数据 数据分析 5G 工业互联网

当我们在讨论实时性的时候,我们在讨论什么?

VoltDB

数据分析 5G 工业互联网

Reactor中的Thread和Scheduler

程序那些事

响应式编程 reactor 多线程 程序那些事 reactivex

架构师训练营第八周

我是谁

极客大学架构师训练营

这份笔记我必啃完!美团T9首发内部JVM高级特性笔记,差距不止一点点

Java架构追梦

Java 源码 架构 面试 JVM

文科妹子都会用 GitHub,你这个工科生还等什么

沉默王二

GitHub

JVM真香系列:方法区、堆、栈之间到底有什么关系

田维常

Java JVM 堆栈 方法区 Java虚拟机

甲方日常 47

句子

工作 随笔杂谈 日常

甲方日常 48

句子

工作 随笔杂谈 日常

当人脸识别对准执法者,AI的应用边界博弈

脑极体

2020双11:每秒58.3万笔!阿里云又扛住了!

云计算 互联网 运维 云原生 科技

微信视频号强制置顶朋友圈:盈利不可牺牲用户体验

石头IT视角

祝贺 StreamNative 团队成员 Jennifer 当选 Apache Pulsar PMC 成员

Apache Pulsar

大数据 开源 Apache Pulsar

接口文档生成详细教程

测试人生路

接口文档

2 w字长文带你深入理解线程池

Java架构师迁哥

HTTPDNS开源 Android SDK,赋能更多开发者参与共建

移动研发平台EMAS

android 阿里云 开源 httpdns 移动研发平台

实时指挥调度的发展和优势

anyRTC开发者

ios android 音视频 WebRTC RTC

什么?美团T9首发内部JVM高级特性笔记,看完差距不止一点

小Q

Java 学习 程序员 架构 面试

一个技术总监的忠告:精通那么多技术,你为何还是受不到重用?

四猿外

程序人生 技术管理 加薪 职场成长 源码阅读

Pulsar Summit Asia 2020 | 主题演讲:大咖呈现,紧扣社区

Apache Pulsar

大数据 开源

Java EE 6规范领导者寻求公众对Web Profile选项的反馈_Java_Ryan Slobojan_InfoQ精选文章