写点什么

SAP 基于 OSGi 的 Java PaaS 实现了对 JavaEE6 的 Web Profile 兼容性

  • 2013-02-28
  • 本文字数:3078 字

    阅读完需:约 10 分钟

SAP AG 于 2012 年 12 月 16 日宣布,其基于 Java 的 PaaS 产品——NetWeaver Cloud,已经实现了对 JavaEE6 的 Web Profile 兼容性。

NetWeaver Cloud 运行在 OSGi 上,并以 Eclipse Virgo 作为 OSGi 容器。该产品包含了一套基于 Eclipse 的 SDK,可用于在云上对应用进行构建,测试及部署。并可以通过基于 web 的控制台,对应用和虚拟基础设施进行监控。

“我们与开源社区一起在 Eclipse Virgo 项目中开发了这项技术,”SAP 技术和创新平台核心组的执行副总裁 Björn Goerke 在某次申明中说道。“这项成就是 SAP 保持与开源社区的持续接触并致力于开放标准的结果。我们的策略是支持和启用新技术,首先是在云上,然后再是我们的定制(on-premise)客户”

该平台本身由 SAP 作为服务提供,而供应商向 InfoQ 说明短期内暂无提供定制使用的计划。但是该运行时环境仍然包含了一个云链接服务,可用于在 SAP NetWeaver Cloud 和定制系统之间建立一个 SSL 隧道。其他运行时服务还包含了:

  1. 通过 JDBC,JPA2.0 和 EclipseLink ,并采用 Sybase ASE 和供应商的 HANA 内存数据库平台进行持久化。
  2. 通过 Apache Chemistry 开放内容管理互通性服务 (CMIS) 进行企业内容管理
  3. 联邦身份(Identity federation)
  4. 邮件

SAP 计划逐步打造一个围绕 NetWeaver Cloud 的市场和合作伙伴生态圈,就像 Salesforce.com 创建的 Force.com 平台一样,而该产品将与 SAP Store 进行集成。

InfoQ 与 SAP 云平台的布道师 Matthias Steiner,以及 SAP 云平台的专家 Krasimir Semerdzhiev 进行了交流,以期对该产品进行更多的了解。

开放标准在 Paas 领域中有多重要?

对于提供一个成功的 PaaS 服务来说,标准是个关键因素!据我们观察,到目前为止,大多数移植到云上的解决方案不外乎两种,已经运行在某个定制的服务器上或对已经存在的解决方案或开发库进行了大量的复用。在这种情况下,两个主要被使用的开发栈是 Java EE 和 Spring。而在我们这边,对它们都做了支持。此外,一个基于标准的 PaaS 极大的降低了新人进入该平台的门槛,因为他们可以使用已知的框架和开发库而无需去熟悉某些专有技术。这同样极大加快了投放市场的速度。最后,开放标准和开源对防止供应商的封锁(lock-in)是极其关键的,这对公司考虑是否采用云计算来说非常重要。企业不仅仅关心如何开始进入云计算,他们同样关心是否能保持自己对数据的掌控,并是否可以在一定时间后根据需要迁移至其他的供应商或平台。

开发者们可以做些什么?仅仅是 Java EE 6 Web profile 吗?

相比于其他供应商服务,SAP NetWeaver Cloud 提供了无限制的 Java 支持。我们不会对包名创建黑名单或做出禁止,因此我们没有以任何方式限制 Java 语言或标准 Java 包。从全球合作伙伴实施解决方案,门户聚合网站和业务流程分段到简单的小打小闹以检测可能性,我们看到人们实现了很多不同的场景。Java EE 6 Web Profile 是我们平台的基础。在这之上,我们提供了很多增值服务,包括移动性(mobility),云,定制集成和分析等等。我们拥有永久免费的开发者账号,可以通过云开发者中心获取。然而,除了技术能力,我们希望提供一个整体平台,这也意味着我们将对解决方案供应商开发的应用进行变现(monetization)。为了达到这个目的,我们将提供成为NW Cloud 认证( www.sapcloudappspartnercenter.com )的机会并通过 SAP Store 将解决方案出售给更广大的 SAP 客户。

另外,我们鼓励人们带来他们自己的基于 JVM 的运行时。我们已经有用户在平台上运行 JRuby, Scala 和 JavaScript 应用。虽然我们不会做任何事来显式的启用这些功能,但是我们会对这方面的努力给予支持。因为我们信奉 Bring Your Own Language (BYOL) 范式,只要我们有一个一致的基础来运行它。(译者注:Bring Your Own Language:语言自备,即 SAP 欲将平台做成语言无关,即只要是基于 JVM 的语言,都将得到支持)

HAMA 是什么?

HANA 是 SAP 新型的内存技术数据库,它同时支持行存储和列存储能力,允许在单个数据库中运行 OLAP 和 OLTP 场景。它从设计一开始就针对并行化进行了优化,允许实时数据处理和在次秒级(sub-second)分析数十亿的记录。无论是对超过 70 亿地球居民进行实时分析还是即时概览纽约市中心所有公寓的能源功耗——已不再是技术问题。

它只适用于那些将 SAP 集成并作为后端的人吗,还是可以将其作为独立的 PaaS 服务提供?

都可以!我们希望提供一个平台来支持更加多样化的场景。当然,后端集成能力将会引起我们当前客户群的兴趣,然而对于 SAP NW Cloud,我们明确的目标是让更多的新人加入我们的生态圈。由于实际上我们都基于了开放标准,任何基于 Java 的场景将可以运行在我们的平台之上。通过 SAP Store,解决方案供应商可以立即访 问我们现有的客户群以向他们出售应用。

SAP 为什么会决定基于 OSGi 之上来构建 PaaS?

这是一个历经多年而漫长的故事。当时我们意识到需要一个基于标准的,模块化的,可伸缩的轻量级容器来支持在 SAP 内部或外部的应用开发。我们选择了 OSGi,因为它提供了所有我们需要的这些特性。我们使用 OSGi 作为所有平台构建模块的基础,工作的主要内容是声明式服务(Declarative Services)。另外,它给我们带来了模块依赖的概览,对变更产生影响具有更好的可预测性,以及标准配置机制等等。

SAP 为什么会选择 Virgo 作为 OSGi 容器?

在项目早期,我们运行在简单的 Eclipse Equinox 之上。OSGi 似乎是最好的方式,所以这是一个有意识的决定。在对不同的运行时环境进行可伸缩性和灵活性评估之后,我们最终开发了基础设施以完成对日志的聚合,更好的跟踪以及 bundle 的故障排除等。此外我们意识到并非只有我们在致力于这些挑战。我们密切关注由 SpringSource 发起的对于 Eclipse 中 Virgo 项目的最初贡献,并决定在一开始就加入这个队伍并参与进来。在那时并没有真正的可选方案可以提供 Tomcat 的简易性以及管理基于 OSGi 的大型模块化软件项目的能力。与项目提交者的初步讨论是非常具有前瞻性和建设性的,我们很快调整了优先级以及行进的方向。这就是我们如何取得目前这个状态的原因——SAP 是 Eclipse Virgo 项目背后的主要贡献者之一。SAP NetWeaver Cloud 基础架构及应用中的很多部件都是由该项目提供。我们为曾经所做的选择真正的感到高兴,因为我们最终相信,通过开源项目与其他各方合作是一种创新,同时也促成了未来的合作伙伴关系。毫不意外——我们已经可以看到当不同的工具供应商与 Eclipse Virgo 集成后所带来的利益。因此,随后与 NetWeaver Cloud 的集成将变得更加容易实现。

如何将对象持久化到数据库?

SAP NetWeaver Cloud 提供了若干存储选项。其中之一就是非结构化存储,用于保存文件、文档以及附加的元数据。与此相对,我们也提供基于 SAP HANA 和 MaxDB 的关系型持久化。Sybase ASE 也已经快接近发布了。所有这些都通过一个持久化服务进行消费,这将允许开发者任意选用简单的 JDBC 或 JPA 向数据库存储数据。
对应的数据库模式会被自动创建,受到保护并预分配给应用。可以认为这就是“数据库即服务(DB-as-a-service)”,开发者完全不需要为此操心。他们唯一需要做的就是在他们的 web.xml(或者是相应的注解)中定义一个数据源的引用。再次强调,我们会继续坚持好已经建立的标准,让它变得更加简单,并且尽可能对应用开发者保持透明。

SAP NetWeaver Cloud 的免费开发者版本可以通过 SAP NW Cloud 开发者中心进行访问,可用于对云应用的开发。这方面可以通过论坛,博客和学习指南获得更多的信息。

原文链接: SAP’s OSGi-Based Java PaaS Achieves Java Enterprise Edition 6 Web Profile Compatibility


感谢对本文的审校。

2013-02-28 05:191848
用户头像

发布了 52 篇内容, 共 23.4 次阅读, 收获喜欢 5 次。

关注

评论

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

为什么区块链和加密资产对于实现元宇宙很重要?

CECBC

2021社招阿里、腾讯、蚂蚁金服「4面」Java面试高频题分享

Java 程序员 后端

2年Java,面试蚂蚁金服总结

Java 程序员 后端

21世纪什么最贵?“人才”看阿里大佬用一本书带你读懂TCP-IP协议

Java 程序员 后端

3 条掏心掏肺的建议,新手学习编程必备,快上车!

Java 程序员 后端

解决:interface conversion: interface {} is float64, not int

liuzhen007

11月日更

进击的Java(二)

ES_her0

11月日更

2021阿里大牛最新发布:Java高频面试题和核心技术(已涨薪6K)

Java 程序员 后端

22款终端生产力工具,效率飞起!

Java 程序员 后端

588页!三个通宵学完这份“宝典”,4面斩获字节跳动offer

Java 程序员 后端

【Promise 源码学习】第三篇 - 实现一个简版 Promise

Brave

Promise 11月日更

Redis 6.0 新特性篇:多线程网络模型全面解密

码哥字节

redis 多线程 IO多路复用 11月日更

2021最新分享成功入职阿里巴巴(口碑部门)面经

Java 程序员 后端

2021,你还在写“赤裸裸”的API吗?(1)

Java 程序员 后端

2021美团高级工程师亲自汇总九大面试专题(附1000字解析)

Java 程序员 后端

69-个经典-Spring-面试题和答案详解(下)

Java 程序员 后端

4年Java程序员十面阿里终拿下offer,评级P6+年薪30-40w无股票

Java 程序员 后端

7月份了,再不准备金九银十就晚了,阿里2021最新数据结构与算法面试题手册

Java 程序员 后端

2021最新分享“天猫”面经:10万字大厂面试总结

Java 程序员 后端

2021最新分享字节四面成功拿Offer!

Java 程序员 后端

2021阿里巴巴钻石级级“Docker全线笔记”新鲜出炉

Java 程序员 后端

容器 & 服务:Helm Charts配置文件分析

程序员架构进阶

容器 Helm 11月日更 chart

Android C++系列:认识JNI

轻口味

c++ android jni 11月日更

2021最新分享成功入职腾讯(后台开发岗)面经

Java 程序员 后端

2021,你还在写“赤裸裸”的API吗?

Java 程序员 后端

25 大 Java 后端面试指南,3000 道面试题解析

Java 程序员 后端

System.Text.Json 中的字符编码

喵叔

11月日更

22道Java Spring Boot高频面试题

Java 程序员 后端

4月面试5月成功入职阿里,工作之余整理复盘:面试经历+备战经验分享!

Java 程序员 后端

2021金三银四,献给程序员从入门到放弃的 Java 架构师面试题

Java 程序员 后端

Prometheus HTTP API 查询(四)Target 和查询结果格式

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

SAP基于OSGi的Java PaaS实现了对JavaEE6的Web Profile兼容性_语言 & 开发_Charles Humble_InfoQ精选文章