tms tck_两个用于Eclipse的TCK –开源到底有什么?

tms tck

早在5月,Oracle就向Eclipse Foundation 授予了兼容性测试奖学金 。 在过去的几天里,这引起了媒体的关注,我只是想确保我对整个过程和详细动作有所了解。 看起来像是一见钟情的简单诚实的礼物实际上具有更多的方面。 但是让我们从头开始:

技术兼容性套件

由Java社区流程(JCP)覆盖,开发了Java语言和最上层的各种平台(Java SE,Java EE,Java ME)。 每个JSR(Java规范请求)包括EG(专家组)一堆文件,当然还有参考实现(RI)和相应的TCK(技术兼容性套件)。 可以对照实现执行TCK,并检查它们是否符合规范。 因此,它基本上是规范文档的代码等效项。 大多数TCK包含一堆测试用例以及执行测试的“测试工具”。 如果每个JSR有一个TCK,可以安全地假定至少有与我们在JCP中拥有活动JSR一样多的TCK。 但这只是理论上的想法。 实际上没有。 至少没有公开可用。 除了JBatch,CDI和Bean验证之外,我想不得多了。 这些只是Java EE平台的一部分,该平台至少具有28个规范。 不幸的是,大多数TCK都在Oracle的控制之下。 但为什么? 这样做的主要原因是,TCK还用作平台认证的工具。 针对实现成功运行TCK证明了它的正确性以及某种程度上的合规性。

平台认证实际上是什么意思?

平台兼容性是产品的绝佳广告。 Java EE兼容性列表是Java EE服务器市场的“谁是谁”。 如果您的产品不在该列表中,则基本上没有机会被认可。 Apache Tomcat是该规则的唯一已知例外。 但是,获得认证需要什么? 对于Java EE,有一个Java EE兼容性测试套件(CTS),可能只包含各个TCK的总和。 老实说我没看过。 您必须成为Oracle的被许可方才能访问它。 这正是它开始变得昂贵的地方。 我不知道到底有多贵,但是一旦付款,您就可以通过Java Partner Engineering网站访问CTS。 只有一种方法可以使用CTS。 通过兼容性测试奖学金计划 ,这是非营利组织和个人申请免费CTS的一种方式。 这些请求由审查委员会进行判断。 那里有一个PDF ,解释了此过程的工作原理。 截至今天,除ASF之外,其他组织和个人也可以使用个人TCK和CTS。 现在您已经了解了基本程序和认证,现在可以更轻松地查看已获得CTS奖学金的两个Eclipse项目的详细信息。 我需要在下面加上一些免责声明。 我只能从众所周知的结论中得出结论。 对于背后的原因,我没有任何见解或进一步的信息。 它可能比我想出的要简单得多……

EclipseLink – JPA参考实现

根据5月初的新闻稿,Oracle通过向Eclipse Foundation授予对两个TCK的访问权限和相关的支持服务,来展示其“对Java开发人员和开源社区的承诺”。 是时候开始思考了。 EclipseLink不是RI for JPA吗? 如果不自己为JPA构建TCK,他们到底在做什么? 他们为什么需要许可证?

EclipseLink起源于TopLink。 任何了解TopLink历史的人都知道,这是一个相对较旧的产品,在被Oracle收购之前就属于WebGain。 WebGain是Eclipse的强大支持者,甚至在2002年就成为董事会成员。仅在Oracle TopLink收购WebGain五年后,WebGain便被捐赠给Eclipse Foundation。
从此 。 EclipseLink在EPL 1.0下可用。 项目本身不包含TCK。 RI的困境。 查看提交者列表并不十分令人兴奋。 30个人 而且只有一个非Oracle。 我为什么认为这个团队实际上拥有TCK(内部是Oracle)甚至开发它? 严格来说,EclipseLink的许可不符合TCK许可规则。 此处授予奖学金许可证只是纠正了该星座中的一些法律问题。

处女座– Java EE Web Profile Server

但是对于处女座来说,授予的许可确实会有所作为,对吧? 也许。 处女座是以前的Spring dm服务器,由SpringSource在2010年捐赠给Eclipse Foundation。 提交者列表绘制的图片与TopLink列表不同。 每个名字背后都不仅仅是SAP。 提交者在三家公司之间平均分配。 SAP,Pivotal和Tasktop技术。 后者有一个有趣的管理委员会。 SpringSource前首席运营官Neelan Choksi和Rod Johnson本人也是成员。 这可能表明Pivotal对项目的影响要比SAP多。 无论如何,两家公司很可能不是Oracle的大伙伴。 奖学金许可证显然不是送给他们的礼物。 实际上,处女座已经通过Java EE 6认证。 但是,用另一个名字。 SAP NetWeaver Cloud在处女座上建立了Java EE 6 Web Profile产品。 因此,SAP可能已经从Oracle获得了许可证,并且自己获得了Virgo的认证。 我不确定,但是有人可能会想到,使用已经认证的服务器比逐年支付年度专利费便宜。 鉴于Eclipse基金会是一个非营利组织,因此很容易申请奖学金计划来进行排序。 至少在这种情况下有积极的副作用。 处女座现在有机会成为另一个获得Java EE认证的服务器。 SAP已经证明有可能。 不久以后,社区可能会通过拥有新的EE 7认证的OSS服务器来获利。

但这是线下的正数,对吗?

两个新项目可以访问他们正在实施的规范的TCK。 那是积极的。 从公开可用的TCK总数来看,仍然令人沮丧。 尤其是在EclipseLink的情况下,这令人沮丧,因为TCK可能根本不公开。 去年对JPA邮件列表进行的冗长讨论稍微讨论了此问题并说明了缺点。 尽管随着JSR-348的更改而变得越来越好。 我们还不在那里。 实际上,我希望所有相关方都可以使用TCK。 通过在规范中以及在RI的测试区域不足的地方发现漏洞,可以提高规范和参考实现的质量。 两者都可以防止许多错误影响用户。 作为针对TCK的新许可模型的工作,是JSR 358的关键部分。 随附的Java.net项目包含所有讨论资料,并且可以公开访问。 每个人都可以自由参加讨论并发表自己的意见。 观察者邮件列表可用于任何已注册的java.net用户。 如果您对CloudBees,Red Hat和IBM的许可问题感兴趣,可以在演示页面上找到更多资料。 Oracle本身建议在JCP的未来版本中继续使用标准的TCK许可模型:


“必须根据一项或多项已批准的开源许可证和/或标准商业TCK许可证,为将来的所有JSR提供TCK,以用于认证和商标目的。 必须根据标准的JCP社区TCK许可证,将所有未来非伞式JSR的TCK提供给相关RI开源项目的所有参与者。 ”(来源: Oracle针对JSR 358的提案 ,PDF,第15 +16页)

这将是朝着正确方向迈出的一步,并且将对开源社区产生真正的帮助。 如果授予的TCK是否是礼物:仅仅解决目前的问题还不够。 如果将来会更好,我们需要进行总体更改。

参考: Eclipse的两个TCK –开源的真正含义是什么? 来自我们的JCG合作伙伴 Markus Eisele在Java的企业软件开发博客中。

翻译自: https://www.javacodegeeks.com/2013/08/two-tcks-for-eclipse-what-is-really-in-it-for-open-source.html

tms tck

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

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

相关文章

倍福嵌入式控制器PLC各型号简介

CX8000 性能强大的 32 位控制器,集成现场总线和 I/O 接口 CX8000 系列产品是一款可编程控制器,搭载 32 位 ARM 处理器,可用于处理 PLC 程序或用作为上位现场总线系统的从站设备。与 EK 系列总线耦合器(EtherCAT 耦合器&#xff0…

循环自相关函数和谱相关密度(一)——公式推导

1 引言 R ^ x α ( f ) ≡ 0 \hat R_x^\alpha (f) \equiv 0 R<

Spring Security with Spring Boot 2.0:密码编码器

在上一篇文章中&#xff0c;我们使用了用户详细信息服务&#xff0c;以便提供一种基于给定用户名从函数加载数据的方法。 用户详细信息的实现可能由内存机制&#xff0c;sql / no-sql数据库等支持。 选项是无限的。 关于密码存储&#xff0c;我们必须注意的是密码哈希。 出…

第十二届蓝桥杯省赛:试题 A: 卡片(Java)

本题总分&#xff1a;5 分 【问题描述】 小蓝有很多数字卡片&#xff0c;每张卡片上都是数字0到9。 小蓝准备用这些卡片来拼一些数&#xff0c;他想从1开始拼出正整数&#xff0c;每拼一个&#xff0c;就保存起来&#xff0c;卡片就不能用来拼其它数了。 小蓝想知道自己能从1拼…

循环自相关函数和谱相关密度(二)——实信号、复信号模型下的BPSK信号循环谱推导

说明&#xff1a;接上一节循环自相关函数和谱相关密度&#xff08;一&#xff09;——公式推导 7 BPSK信号谱相关密度函数 7.1 实信号模型 BPSK实信号表达式可以写为 r(t)y(t)n(t)r(t) y(t) n(t)r(t)y(t)n(t) s(t)p(t)n(t) s(t)p(t) n(t)s(t)p(t)n(t) ∑n−∞∞a(nT)q(t−…

第十二届蓝桥杯A组省赛填空题Java思路及代码合集(相乘直线货物摆放路径回路计数)

文章目录试题 A: 相乘试题 B: 直线试题 C: 货物摆放试题 D: 路径试题 E: 回路计数试题 A: 相乘 本题总分&#xff1a;5 分 【问题描述】 小蓝发现&#xff0c;他将 1 至 1000000007 之间的不同的数与 2021 相乘后再求除以1000000007 的余数&#xff0c;会得到不同的数。小蓝想…

循环自相关函数和谱相关密度(三)——实信号、复信号模型下的BPSK信号循环谱MATLAB仿真结果及代码

关注公号【逆向通信猿】,循环谱 说明:接上一节循环自相关函数和谱相关密度(二)——实信号、复信号模型下的BPSK信号循环谱推导 7.5 仿真结果 7.5.1 实BPSK信号 符号速率RB = 40,采样率Fs = 960,载波频率fc = 300,符号数N = 1000,矩形成形。

executor线程池框架_如何使用Java 5 Executor框架创建线程池

executor线程池框架Java 5以Executor框架的形式在Java中引入了线程池&#xff0c;它允许Java程序员将任务提交与任务执行分离。 如果要使用Java进行服务器端编程&#xff0c;则线程池是维护系统可伸缩性&#xff0c;鲁棒性和稳定性的重要概念。 对于那些不熟悉Java中的线程池或…

第十二届蓝桥杯A组省赛试题 I: 双向排序(Java)

试题 I: 双向排序 本题总分&#xff1a;25 分 【问题描述】 给定序列 (a1, a2, , an) (1, 2, , n)&#xff0c;即 ai i。 小蓝将对这个序列进行 m 次操作&#xff0c;每次可能是将 a1, a2, , aqi 降序排列&#xff0c; 或者将 aqi , aqi1, , an 升序排列。 请求…

循环自相关函数和谱相关密度(四)——实信号、复信号模型下的QPSK信号循环谱推导

关注公号【逆向通信猿】,口令:循环谱 说明:接上一节循环自相关函数和谱相关密度(三)——实信号、复信号模型下的BPSK信号循环谱MATLAB仿真结果及代码 8 QPSK信号谱相关密度函数 8.1 实信号模型 QPSK实信号表达式可以写为 r ( t ) = y I ( t ) − y Q (

JavaFX技巧29:使布局忽略不可见的节点

在我仍在Swing中实现UI的时候&#xff0c;我曾经是MigLayout的忠实拥护者&#xff08;“一个布局管理者来统治所有这些&#xff0c;对吗Mikael&#xff1f;”&#xff09;。 我真正喜欢的功能之一是当组件不可见时可以定义不同的行为。 MigLayout允许我保留现在不可见的组件所占…

第十一届蓝桥杯A组省赛填空试题 A: 门牌制作(Java)

试题 A: 门牌制作 本题总分&#xff1a;5 分 【问题描述】 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户&#xff0c;门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符&#xff0c;最后根据需要将字符粘贴到门牌上&#xff0c;例如…

循环自相关函数和谱相关密度(五)——实信号、复信号模型下的QPSK信号循环谱MATLAB仿真结果及代码

关注公号【逆向通信猿】口令:循环谱 说明:接上一节循环自相关函数和谱相关密度(四)——实信号、复信号模型下的QPSK信号循环谱推导 8.4 仿真结果 8.4.1 实QPSK信号 符号速率RB = 40,采样率Fs = 960,载波频率fc = 300,符号数N = 1000,矩形成形,二倍载波频率为符号速…

第十一届蓝桥杯A组省赛填空试题 B: 既约分数(Java)

试题 B: 既约分数 本题总分&#xff1a;5 分 【问题描述】 如果一个分数的分子和分母的最大公约数是 1&#xff0c;这个分数称为既约分数。 例如&#xff0c;3/4&#xff0c;5/2&#xff0c;1/8&#xff0c;7/1都是既约分数。 请问&#xff0c;有多少个既约分数&#xff0c;分…

C++判断是否为素数、求一个数的因数、质因数分解

判断一个数是否为素数 #include<iostream> #include<vector> #include<math.h> #include<algorithm>/*判断是否为素数*/ bool isprime(int n) {bool result;int k (int)sqrt((double)n); // 只需要循环到 √n 即可int i 0;for (i 2; i < k; i){…

新的JDK 11文件方法isSameContent()

已经建议通过JDK-8202285将名为isSameContents()方法添加到JDK 11中的Files类中[[&#xff08;fs&#xff09;向文件中添加用于比较文件内容的方法”]。 由Joe Wang提议 &#xff0c;此新方法“打算是现有isSameFile方法的扩展&#xff0c;因为它没有比较内容以回答两个文件是否…

第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)

试题 C: 蛇形填数 本题总分&#xff1a;10 分 【问题描述】 如下图所示&#xff0c;小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。 容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列 的数是多少&#xff1f; 【答案提交】 这是一道结果填空的题&…

Collatz函数的C++递归实现

Collatz函数为(正)自然数定义如下&#xff1a;collatz(N)&#xff1a;如果n是偶数&#xff0c;则返回n/2&#xff0c;否则返回(n∗3)1 #include <iostream> int Collatz(int n) {if (n % 2 0)n / 2;elsen 3 * n 1;return n; }int main(int argc, char* argv[]) {if (…

AI+药物研发:人工智能赋能新药研发(人工智能应用案例)

首先&#xff0c;生物制药行业面临着两个挑战&#xff1a; 第一&#xff0c;新药研发周期很长且非常复杂&#xff1b; 第二&#xff0c;药物研发过程成本昂贵。在1950年的时候&#xff0c;十亿美元可以研发几十个药&#xff0c;到了2020年之后&#xff0c;十亿美元只能研发一个…

具有CDI和lambda的策略模式

策略设计模式在运行时动态选择一种实现算法&#xff0c;一种策略。 该模式可用于根据情况选择不同的业务算法。 我们可以将不同的算法实现定义为单独的类。 或者&#xff0c;我们利用Java SE 8 lambda和函数&#xff0c;它们在此处充当轻量级策略实现。 CDI能够注入参数化类型…