QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Web Profile 会将 Web 开发者吸引到“Enterprise Java”上么?

  • 2010-01-11
  • 本文字数:2537 字

    阅读完需:约 8 分钟

前一阵发布最新版Enterprise Java 中有一项特色功能:基于功能的分析。首先发布的就是面向Web 开发者的 Web Profile ,但我们尚不确定单单凭借它本身是否能在群雄纷争的 Web 领域中占据一席之地。

正如 Web Profile 最终草案所述,其目标就是面向现代 Web 项目的众多开发者,为其提供一站式的支持,同时限制 Web 容器的资源占用量,既包括物理上的,也包括概念上的:

从完整性角度来说,Web Profile 提供了一站式的支持,包括展现层与状态管理(JavaServer Faces 与 JavaServer Pages),核心 Web 容器功能(Servlet)、业务逻辑(Enterprise JavaBeans Lite)、事务(Java Transaction API)、持久化(Java Persistence API)等等。 从简单性角度来说,Web Profile 省去了 Java EE 平台中的很多 Enterprise API。同时它还利用了 Servlet 规范(查看文档的 8.2 节)中新的插件特性以方便应用通过最少的配置使用扩展了 Servlet 容器的程序库。比如,像 Java API for Restful Web Services(JAX-RS)这种标准技术是完整的 Java EE 平台的一部分,但却不属于 Web Profile。尽管如此,我们可以通过新的插件特性将其“插入”到 Web 容器中而无需对应用的部署描述符 web.xml 做任何修改。

值得注意的是,Web Profile 并没有什么可选组件,要想实现符合 Web Profile 的解决方案就必须实现如下这些技术:

  • Servlet 3.0
  • JavaServer Pages(JSP)2.2
  • Expression Language(EL)2.2
  • Debugging Support for Other Languages(JSR-45)1.0
  • Standard Tag Library for JavaServer Pages(JSTL)1.2
  • JavaServer Faces(JSF)2.0
  • Common Annotations for Java Platform(JSR-250)1.1
  • Enterprise JavaBeans(EJB)3.1 Lite
  • Java Transaction API(JTA)1.1
  • Java Persistence API(JPA)2.0
  • Bean Validation 1.0
  • Managed Beans 1.0
  • Interceptors 1.1
  • JSR-299 1.0
  • JSR-330 1.0

Java EE 与 Java SE 面临的一个共同问题是 Sun 没有能力向社区证明其“开放”平台的计划。这一点随着 Oracle 对其收购的不确定性而变得越来越扑朔迷离了。这一切顾虑都会牵绊组织在其平台上战略投资,在 JCP 的过程中这一切都通过投票结果彰显出来了。然而事实上,最重要的原因还是 Apache 软件基金会对 Java EE 6 规范投了“否决票”。

RedHat: EE6 规范的领导已经证实 EE6 TCK 将不会包含“使用领域的限制”,而这最初是由 Apache 针对另一个 JSR(即 SE TCK 协议)提出的。本来这是好事一桩,但在缺乏禁止这种使用领域限制的直观 JSPA 规则的情况下,我们仍对未来是否还会有类似情况的发生心生介怀。因此,今后对于提交的任何 JSR(无论是否是 Sun 提交的),我们都将要求规范领导对这方面描述清楚,并且在投票的时候将这一点考虑在内。

Intel Corp.:

在 EE6 JSR 进入最后投票的时刻,我们期望有这样一个声明:EE 6 TCK License 不会限制使用领域、除了规范本身要求的以外不会要求再去实现其他的东西、不会要求限制 JCP 规范使用领域的其他任何协议。

Apache 软件基金会:

Apache 一定会为投给 JSR-316“否定票”这一行为感到后悔,因为我们主张规范领导者(Sun Microsystems)在 Java SE TCK 协议上不要照搬 JSPA。我们认为那些不遵从信中所说以及违背管理规则的 JCP 成员无权领导 JSR。这并非针对目前为止专家组的技术水平和工作质量,如果不是因为 Sun 的自作主张,Apache 很可能会投“赞成票”的。

目前尚不确定哪些厂商打算实现 Web Profile,更不清楚何时实现了。VMWare 很可能通过 Springsource 达成这个目的——他们已经在dm Server issue tracker 上谈论这个话题了,然而他们还公开谈到了一些负面消息。比如说,Spring Framework 的联合创建者JürgenHöller 在QCon 的演讲中就表示 Spring 和 Java EE 6 并不看好 Web Profile

实现这个 Profile 并不太具吸引力。到目前为止我只知道有一个厂商打算实现该 Profile 但并非全部。

无独有偶,JBoss AS 的项目领导 Dimitris Andreadis 也表达了其对于“预定义 Web 配置”目的的担忧

如你所知,我们可以根据实际需要的服务来裁减 JBoss AS 配置;对于 JBoss 来说这么做是没有任何问题的。现在提出了预定义的 Web 配置,这看起来更像是市场的需要而不是由技术决定的。功能和特性的移除要比添加容易的多。目前我们的全部精力都转到了更高的层次上:引入 JBoss Enterprise SOA Platform,它在 JBoss EAP 上增加了 JBoss ESB、JBoss jBPM 以及 JBoss Rules 功能。然而如果市场真的需要,或是 Java EE 6 Profile 发展的更好,我们还是有可能创建并支持 Web Platform bundle 的。

事实上,JBoss 已经宣布为其应用服务器创建一个Web Profile 原型了,尽管刚刚开始,但 JBoss Enterprise Web Platform 还是“通过企业级特性增强了 Java EE Web Profile“

另一方面,Hibernate 的创始人 Gavin King 却坚信 Web Profile 的创建对于 Java 平台是件大好事,对于那些犹豫到底是选择缺乏某些特性的普通 Servlet 容器还是花费高昂代价采取完整 EE 的开发者来说 Web Profile 可以助其一臂之力

Java EE Web Profile 定义了一个”更小“的容器,里面仅包含了大多数开发者确实需要的技术:Servlet、JPA、JTA、CDI、EJB Lite。这使得 EE 的实现更加容易,对市场的影响也是非常大的,届时会有更多的实现以及更短的发布周期。它彻底将众多开发者放弃 Java EE 的原因摒弃了。 更棒的是,CDI portable extension SPI 与 Java EE 环境的集成变得更加简单了。同时,由于某些 CDI 实现还运行在普通的 Servlet 容器如 Tomcat 中,因此 CDI 还可以作为将技术集成到这些环境中的基础。

同样,JBoss 前 CTO Sacha Labourey 也对 Web Profile 的未来充满了信心

我非常欣喜地看到 JCP EC 最终投票批准了 Weld EE6 ! 终于完成了始于 EE5 的工作,毫无疑问,这将使得 EE6 成为最强大,同时也是最简单的 Java 运行环境的使用手段,当然要领先于布满了 XML 的 Spring 。此外,定义强大的 Web Profile 而无需考虑大多数遗留的 EE 规范(IIOP,还有人用么?)会给很多使用自定义 Tomcat 的团队带来一阵清新的空气。

InfoQ 的各位读者,你是如何看待 Web Profile 的呢?它会使 Java 平台成为 Web 开发的优秀解决方案么?

查看英文原文: Will the Web Profile make “Enterprise Java” Attractive to Web Developers?

2010-01-11 09:182837
用户头像

发布了 88 篇内容, 共 266.1 次阅读, 收获喜欢 8 次。

关注

评论

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

2021 年要了解的 34 种 JavaScript 简写优化技术

LeanCloud

JavaScript 面试 大前端

FFmpeg入门篇

Changing Lin

ffmpeg media

区块链电子发票平台,区块链电子发票优势

13530558032

安卓嵌入式底层开发!整理出这份8万字Android性能优化实战解析,已开源

欢喜学安卓

android 程序员 面试 移动开发

快点来学吧!Android性能优化面试题集锦,深度解析,值得收藏

欢喜学安卓

android 程序员 面试 移动开发

2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)

比伯

Java 编程 架构 面试 程序人生

看了上百份面经,发现每次面试的问题都逃不过这几方面

yes

面试

我看 JAVA 之 引用类型(Reference)

awen

Java ThreadLocal Reference

炸了,炸了!阿里P9纯手打Java面试小抄(21版)在GitHub上已获80万star

Java架构之路

Java 程序员 架构 面试 编程语言

跟我学ModelArts丨探索ModelArts平台个性化联邦学习API

华为云开发者联盟

AI 联邦学习 API 华为云 modelarts

2B营销路径: 9大步骤自我拆解

boshi

营销数字化 七日更

EGG Network公链技术创新,EFTalk打造高效全能公链

币圈那点事

区块链

寻找被遗忘的勇气(十九)

Changing Lin

3月日更

使用“零信任”,不惧“内部威胁”!

龙归科技

管理 数据完整性 零信任 内部威胁

智慧党建信息管理平台系统建设

13530558032

如何批量下载YouTube视频到本地

科技猫

软件 音视频 经验分享 资源分享 工具分享

Java面试必看!阿里(嵩山版)分布式核心原理笔记来了

Java架构追梦

Java 阿里巴巴 架构 面试 架构分布式

冲击大厂!阿里P9纯手打Java面试小抄(21版)在GitHub上已获80万star

Java 程序员 面试

Java 和 Python 关于 % 的那些坑

与你一起学算法

Java Python

LeetCode题解:213. 打家劫舍 II,动态规划(不缓存偷盗状态),JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

收藏!Linux常用命令合集

roseduan

Linux

「面试高频」秒杀架构的设计套路,你值得拥有

我爱娃哈哈😍

架构设计 架构设计实战 秒杀架构

全票通过!微众开源项目EventMesh进入Apache孵化器

康月牙

Apache 开源 Event 事件网格 eventmesh

GO训练营第11周——DNS&CDN&多活架构

Glowry

源中瑞智慧社区解决方案,社区服务平台

13530558032

【前端面试题】关于一些js的一些面试题(金融行业),我和面试官扯了三个小时

孙叫兽

JavaScript 大前端 金融 笔试题

电子门锁没电的解决办法

孙叫兽

生活 程序人生 电子锁

堪称完美!中国Java之父纯手打,阿里首发:多线程与高并发

Java架构之路

Java 程序员 架构 面试 编程语言

【LeetCode】设计停车系统Java题解

Albert

算法 LeetCode 28天写作 3月日更

GO训练营第10周——日志&指标&链路追踪

Glowry

拍乐云推出“实时标注”,助力少儿编程、在线金融等行业场景实现高效互动

拍乐云Pano

音视频 在线教育 互动白板 实时标注 在线金融

Web Profile会将Web开发者吸引到“Enterprise Java”上么?_Java_Dio Synodinos_InfoQ精选文章