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

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

感谢对本文的审校。

你可能感兴趣的:(SAP基于OSGi的Java PaaS实现了对JavaEE6的Web Profile兼容性)