eclipselink_EclipseLink DJC

eclipselink

Doug Clarke是Oracle应用服务器TopLink产品的产品管理总监,也是Eclipse Java Persistence Platform(EclipseLink)项目的共同负责人。 Doug在对象关系持久性,数据访问和系统集成领域具有丰富的企业开发,咨询和教育领域经验。 他汇集了来自各个行业项目的具体经验,并提供了一种实用的设计,开发,测试和性能调整方法。

JAXenter:您在EclipseLink项目中扮演什么角色?

Doug Clarke:我是EclipsePersistence Services项目的共同负责人,该项目通常被称为EclipseLink。 我与来自Oracle的Peter Krogh分享了项目负责人。 Peter专注于事物的开发方面,而我专注于与其他项目的出站交互以及整个社区。

我还代表Eclipse RT项目管理委员会(RT-PMC)中的EclipseLink项目。 创建此顶级项目的目的是在Eclipse上促进和推广相关的运行时技术。

Oracle将TopLink代码库捐赠给Eclipse Foundation的动机是什么?

Oracle致力于为最终用户提供选择,灵活性和较低的计算成本。 通过投入大量资源来开发,测试,优化和支持开放源代码技术,例如Linux,PHP,Apache,Eclipse,Berkeley DB和InnoDB,Oracle体现并提供了开放源代码解决方案作为开发和部署的可行选择。

关于Oracle®TopLink®捐赠,Oracle拥有积极的经验,并从在TopLink Essentials(GlassFish中的JPA 1.0参考实现)中开源基础TopLink ORM功能中获得了很多反馈。 Oracle一直是Eclipse Foundation的长期参与者,并发现其充满活力,活跃的社区和卓越的运营与我们的目标非常匹配。 对于满足下一代Java EE,SE,OSGi和基于服务的应用程序开发需求的综合持久性解决方案也有很强的需求,而TopLink提供了一个独特而强大的解决方案。 这导致Oracle决定将整个TopLink功能开源到Eclipse中,从而使其所有丰富的功能可用于整个Java社区。

EclipseLink是独一无二的,除了提供业界领先的对象关系功能外,它还提供了其他持久性服务,包括MOXy(带有JAXBsupport的Object-XML),服务数据对象(SDO)和数据库Web服务(DBWS)。 通过EclipseLink项目将这些功能提供给整个Java社区使用,可以更快,更广泛地采用该功能。 它还允许用户通过一个持久性解决方案将来自不同标准机构(例如SDO和JPA)的技术进行组合。

建议项目时发布的此常见问题解答中提供了其他详细信息。

成为开源项目对您的日常工作和团队工作有什么后果?

在Eclipse中将我们的持久性解决方案开发为一个开源项目的主要影响是透明度。用户和贡献者可以轻松地跟踪我们正在进行的开发工作并提供即时反馈。 结果是我们在进行中的开发工作中确实遇到了更多的问题,增强请求和错误。

与社区的互动增加确实带来了额外的开销,但同时也带来了令人难以置信的好处,因为它增强了我们在较短的发布周期内交付用户所需功能的能力。社区中花时间的人向我们提供了宝贵的反馈意见。

持续集成的哪些产品或解决方案?

EclipseLink提交者利用Eclipse错误数据库,Wiki和邮件列表以开放的方式讨论功能开发和错误修复,以便所有感兴趣的团体都可以参与。 对代码库的增强需要同行评审。 每周举行一次提交者会议,讨论日程安排,错误关闭率和设计问题。欢迎所有感兴趣的各方参加并做出贡献。 EclipseLinkroad地图和发布时间表以标准格式提供,因此用户和提交者可以在eclipse.org上轻松跟踪所有即将到来的里程碑。

构建和自动回归测试基于ANT并在Eclipse Foundation托管的服务器上运行。自动化的构建和测试每半小时运行一次,立即生成错误报告,因此可以在短期内进行修复。 夜间版本可以下载,里程碑版本按月提供。 每晚的构建,里程碑和发行版都可以直接下载,也可以托管在Maven存储库中。

您如何应对担心EclipseLink主要是为支持Oracle数据库和Oracle应用服务器而量身定制的担忧?

尽管许多开发人员都在为Oracle工作,但我要指出,有来自Oracle外部的许多参与者,包括来自其他公司和个人的参与者。 EclipseLink具有为所有主要应用程序服务器和数据库提供广泛支持的悠久历史。 这是用户期望的。

但是,用户也希望支持领先数据库提供的专有功能。 鉴于其背景,EclipseLink比任何其他ORM产品都更好地支持Oracle数据库功能。 话虽如此,它也支持其他数据库上的特定功能,包括DB2,SQL Server,MySQL和Derby。

有趣的是,EclipseLink是Oracle内部工具套件的一部分。 与许多其他用户一样,Oracle中的EclipseLink用户要求它可以在不同的应用程序服务器和数据库平台上“热插拔”。这些使用者(如Oracle的SOA Suite和Oracle WebCenter Suite产品)需要在Oracle和非Oracle Java EE容器上进行部署支持使用Oracle或非Oracle数据库。

为什么开发人员应该选择EclipseLink而不是像Hibernate这样的其他持久性框架?

通过Oracle开发人员的直接经验以及我们从外部用户获得的反馈,开发人员选择EclipseLink而不是竞争对手,原因如下:

  1. 性能和可伸缩性功能。EclipseLink的实体缓存和查询优化功能使开发人员可以有效地加载所需的数据,并缓存可重用的结果以优化后续查询的执行。 事务框架优化了变更跟踪并确保写入的变更最少,同时还考虑了群集部署的考虑参考完整性,并发保护和缓存协调要求。
  2. 多种持久性服务。 替代方案仅处理关系映射的持久性。 EclipseLink通过XML绑定(JAXB),服务数据对象(SDO)以及到JCA资源适配器的映射实现非关系持久性。 这种灵活性使开发人员可以利用单个持久性解决方案来满足他们的所有需求。
  3. 开放和协作的社区。EclipseLink具有庞大且不断增长的提交者和贡献者群体。 我们努力满足社区的需求并积极鼓励参与,这有助于我们确保我们代表整个Java社区广泛的用户类型。
  4. EclipseLink被选为JPA 2.0的参考实现。 与JSR专家组的合作看起来如何?

目前,我们正在积极实施JPA 2.0公共草案规范。 我们有两个EclipseLinkcommitters属于JSR 317专家组,并根据我们以前的经验以及当前在实施规范草案方面的努力提供反馈。 我们还与Sun开发人员紧密合作,编写技术兼容性套件(TCK),以确保在最终确定规格时进行协调的开发工作。

EclipseLink为用户提供了抢先体验这些新功能的机会。 EclipseLink 1.1版本将是第一个提供预览JPA 2.0功能的版本。 EclipseLink的下一个主要发行版旨在提供完整的功能。感兴趣的开发人员可以下载这些发行版的里程碑版本,以进行更早的访问,并向专家组和EclipseLink提交者提供反馈。

作为JPA 2.0的参考实现,EclipseLink主要实现此规范。 另一方面,我们总是注意到实施对规范的影响。 EclipseLink和JPA 2.0之间存在哪些交互? 例如:我们将在JPA 2.0中看到EclipseLink的哪些功能?

作为我们JPA 1.0支持的扩展,EclipseLink用户已经可以使用JPA 2.0的几个关键功能。

这些包括:

  • 悲观锁定
  • 灵活访问类型
  • 元素集合-基本体集合
  • 用于以编程方式定义查询的API
  • 缓存访问,驱逐支持和使用提示
  • 嵌套的可嵌入对象和可嵌入对象之间的关系,
  • 派生ID –使用外键映射作为实体身份的一部分
  • 私人拥有-孤儿搬迁
  • 嵌套访存联接
  • INexpressions的集合参数。

我们将继续为需要超出标准能力的用户提供创新功能,并努力使这些功能与标准兼容,同时最大程度地减少与本地API的用户耦合。

我们在2009年可以期待什么?

在交付JPA 2.0以及社区要求的许多新功能之前,我们非常忙碌的一年。

JPA

  • 升级扩展的XML以支持EclipseLink的所有高级功能
  • 迁移实用程序可简化用户从其他持久性解决方案中采用EclipseLink的过程

SDO

  • 使用JPA的数据访问服务
  • 2.1.1合规

莫西

  • 增强了对带有本机注释的高级映射的使用,并支持组合注释和XML配置。

基准测试活动,以展示EclipseLink的卓越性能

更多示例和改进的文档

对Eclipse生态系统的持续贡献和参与

  • 包含在Eclipse Galileo版本中
  • 持续改进对OSGi / Equinox使用的支持
  • Eclipse Dali项目中增强的EclipseLink工具支持
  • 继续与其他Eclipse项目(例如Teneo和Swordfish)紧密合作,以帮助他们继续使用EclipseLink

翻译自: https://jaxenter.com/eclipselink-djc-100004.html

eclipselink

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值