快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

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:191675
用户头像

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

关注

评论

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

有关Java性能优化,这是我见过阿里大佬总结的最全的一份实战文档了

程序员小毕

Java 程序员 面试 程序人生 性能优化

罗技产品究竟能不能带来便捷感

Amazing_eve

#开源

EMAS Serverless到底有多便利?

hum建应用专家

云计算 Serverless emas

合作再升级!云原生加速器成员企业云霁科技获得阿里云产品生态集成认证

阿里巴巴中间件

阿里云 云原生 合作 阿里云云原生加速器

Java架构岗9大性能优化经验总结,我不允许你不会

程序员小毕

Java 数据库 程序员 面试 程序人生

参与openEuler社区不到1年,我成为了Maintainer……

openEuler

开源 成长 openEuler 开源社区 开发者说

技术团队管理者的三十六计

申屠鹏会

团队管理

如何开发一款基于 vite+vue3 的在线表格系统(下)

葡萄城技术团队

Vue 前端 vite

GitHub破百万访问的阿里神作:并发实现原理JDK源码笔记

冉然学Java

Java 编程 jdk 源码刨析 JDK 1.5

本周四晚19:00知识赋能第七期第2课丨OpenHarmony WiFi扫描仪UX设计

OpenHarmony开发者

Open Harmony

浅谈云上攻防系列——云IAM原理&风险以及最佳实践

腾讯安全云鼎实验室

安全攻防 云安全 安全研究

从程序员到架构师,阿里巴巴2022全新出品Java程序员“成长笔记”满足了我的所有幻想

Java全栈架构师

Java 程序员 面试 后端 架构师

「望繁信科技」完成过亿元A+轮融资,全面加速流程智能产品建设

望繁信科技

2022上半年PMP考试通过率得多低,才能换来一次免费补考机会

索隆

渲染与云渲染——渲染行业的新趋势

Finovy Cloud

云渲染 GPU算力

Linux C/C++后台开发高级架构师进阶指南-剑指腾讯T9

C++后台开发

后台开发 后端开发 linux开发 Linux服务器开发 C/C++开发

PMP考试经验分享

索隆

项目管理 pmp 考试经验

字节跳动嵌入式数据分析最佳实践

字节跳动数据平台

字节跳动 数据分析 BI 嵌入式分析 数据看板

泄露了,Alibaba697页的MySQL应用实战与性能调优手册,太强了

冉然学Java

Java MySQL 编程 性能优化 构架

架构设计文档模板

maybe

八月最新首发!这份Dubbo 3.0 分布式实战笔记由阿里巴巴P8亲自撰写真是大厂offer收割机

了不起的程序猿

Java 分布式 dubbo java程序员 java编程

多线程+JVM+设计模式+数据库,阿里巴巴Java性能优化全解实战笔记真香

Java永远的神

Java 数据库 程序员 面试 多线程

程序员面试太卷?我选择背这份阿里最新Java面试八股文(详解版)

Java面试那些事儿

Java 面试 Java 面试 java程序员 java 编程

画一手好的架构图是码农进阶的开始

阿里技术

经验分享 构架

如何编写有效的常见问题解答页面?

Geek_da0866

秒验丨Android客户端集成指南

MobTech袤博科技

android Android Studio Gradle

OpenYurt 邀你共赴 2022 EdgeX 中国挑战赛!

阿里巴巴中间件

阿里云 云原生 openyurt 边缘容器

将使用回调函数作为参数的函数改造为返回 Promise 的一个具体例子

汪子熙

JavaScript web开发 Promise 异步编程 8月月更

大专的我狂刷29天“阿里内部面试笔记”最终直接斩获十七个Offer

收到请回复

Java 程序员 阿里 面试八股文 Java面试八股文

如何区分透明LED显示屏种类及应用领域

Dylan

LED显示屏 led显示屏厂家

满足你对 Api 的所有幻想

Liam

Postman API API接口管理 开放api API接口工具

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