最近Jerry在SAP社区上看到一篇博客:It's Steampunk now.

博客原文:https://blogs.sap.com/2019/08/20/its-steampunk-now/

什么是Steampunk(蒸汽朋克)? 豆瓣上有一篇名为10大蒸汽朋克风格电影的文章,开篇就给出了蒸汽朋克这个合成词的定义:

(1) 往往依靠某种假设的技术,营造出一个平行于19世纪西方世界的架空世界;

(2) 在蒸汽朋克的世界里,经常是落后与先进共存,魔法与科学共存;

(3) 大多数蒸汽朋克作品总是着重强调科学技术失控的可能性。从某种意义上说,蒸汽朋克都是反乌托邦的;

(4) 大量出现一些造型古朴但结构复杂,形式古典但功能现代的机械装置、交通工具甚至武器。

https://site.douban.com/guokr/widget/notes/1670101/note/174969379/

Jerry还没有阅读,就非常确信,里面一定有《变异编年史》的一席之地——这是一部给Jerry留下极其深刻印象的蒸汽朋克风格的科幻电影。对蒸汽朋克风格的电影感兴趣的朋友,Jerry觉得这部电影值得一看。

起源于上世纪80年代的ABAP语言,连同Netweaver一起,在过去几十年风云变幻的企业管理软件领域里,已经被证明是一个极其成功的开发平台。

一方面,全球海量的客户的业务运行在基于ABAP的SAP解决方案之上,另一方面,随着当今业界云转型浪潮的深入进行,SAP也相应推出了越来越多的云解决方案,比如在数字化转型中扮演了数字核心角色的SAP S/4HANA,在云端的对应解决方案即S/4HANA Cloud.

Jerry之前的一系列关于Kyma的公众号文章已经提到,对于SAP C/4HANA来说,SAP Cloud Platform Extension Factory是其重要的二次开发工具和平台。

同样的,对于完全由ABAP语言编写的S/4HANA和Cloud版本来说,同样需要提供一个类似的平台,允许其客户和partners在其上方便地进行二次开发。最理想的情况,就是partners之前在On-Premises系统里积累的开发技能可以继续使用,同时在这个新的平台里,能够方便地使用SAP云平台上提供的各种基于云的功能强大的服务。

至此,一种新的ABAP运行环境,呼之欲出。

和Golang,Scala,Swift这些诞生于本世纪的编程语言相比,ABAP在某些人的眼中或许显得有些老态龙钟,步履蹒跚,跟不上现在云时代IT技术发展的步伐了。

然而SAP内部的ABAP和SAP云平台的工程师们,厉害之处就在于,通过双方的通力合作,使得某些“评论家”眼中的ABAP这部老爷车,就像《变异编年史》里添加了煤燃料的蒸汽机车一样,一飞冲天,重新跃入了云开发领域的天空。

SAP Cloud Platform ABAP Environment的诞生,我们固然应该感谢SAP云平台和ABAP的相关工作人员。然而,真正的画龙点睛之笔,在于这个环境的命名,就像Harald Kuck在SAP社区上发布的博客一样:Steampunk.

反正Jerry觉得这个命名非常形象,每次看到它就想到了《变异编年史》里那台锅炉里添加了大量煤燃烧之后,冒着浓浓黑烟缓缓升空的蒸汽机车(见下图《变异编年史》剧照)。

Jerry觉得,Steampunk这个命名背后的那份情怀,值得每位ABAP从业人员为它点个赞。

当然SAP其他产品的命名也是不乏亮点的。比如我们打开UI5相关的各种网页,都能在页面的各个位置看到一只醒目的凤凰-Phoenix. 没错,UI5项目最初的内部代号就是Phoenix.


Jerry没有在内网上查到UI5命名为Phoenix的原因,不过我个人的解读是,结合UI5诞生的那几年的背景来看,当时SAP Fiori UX尚未正式发布,SAP已有的产品,其UX无外乎ABAP BSP / Webdynpro / Silverlight UI几种,那么能不能把基于UI5的Fiori UX,理解成一个凤凰涅磐般崭新的UX解决方案?

Fiori又是另一个几乎每位SAP从业者都不陌生的命名。

如果我们在搜索引擎里以Fiori作为关键字搜索,能看到各式花的图案:

这丝毫不奇怪,因为Fiori就是意大利语里表示“花”的单词。因此很多基于Fiori UX的SAP系统,默认的登录页面的背景图案,都是一朵鲜花。

SAP Fiori UX一路发展到了现在的3.0版本,每个版本的设计细节可能会有差异,但核心设计理念始终基于以下五个原则:

  • Role Based
  • Adaptive
  • Coherent
  • Simple
  • Delightful

其中第五个准则,Delightful——令人愉悦的,宜人的,这个特质不正是搜索引擎里以Fiori作为关键字,搜索出来的花朵给人的感受么?

Google推出的Kubernetes在容器编排领域早已是一个如雷贯耳的名字了。就像其logo的图案一样,Kubernetes来自古希腊语,意为“舵手”,“领航员”。Google想在容器编排领域充当领导者的意图,在这个霸气的命名里体现得淋漓尽致。

而基于Kubernetes打造而成的SAP Cloud Platform Extension Factory,项目代号为Kyma,或许是为了向Google的Kubernetes致敬,Kyma同样来源于古希腊语,意思是“Wave(浪花)”。

一个是舵手,一个是浪花,二者相得益彰,一切尽在不言中。

Cloud for Customer的从业者,如果调试过C4C前端的JavaScript代码,可能会注意到这些以Oberon开头的一系列js文件:

我的同事Yang Joey在他的文章SAP移动应用解决方案之一:HTML5应用 + Cordova = 平台相关的混合应用里也介绍过,如果把C4C Android平台应用的apk文件的扩展名改成zip然后解压之后,会发现它实际上是一个通过Cordova打包的web应用,其中就包括oberon.zip——C4C UI框架的实现。

Jerry照例以Oberon为关键字进行了搜索,得知其本意是天王星的27颗卫星之一:欧贝隆。

天王星的27颗卫星中,五颗个头最大,按照距离天王星的远近,由近到远分别为:天卫五(米兰达)、天卫一(艾瑞尔)、天卫二(乌姆柏里厄尔)、天卫三(泰坦尼亚)和天卫四(欧贝隆).

情怀啊。

当然SAP还有很多产品的内部代号没有像Steampunk这样,由相关同事在社交媒体上发布出来,因此Jerry也不方便越俎代庖地在本文透露出来。

发两张包含了两个内部代号的图片,感兴趣的朋友不妨一猜。


要获取更多Jerry的原创文章,请关注公众号"汪子熙":

从SAP社区上的一篇博客开始,聊聊SAP产品命名背后的那份情怀的更多相关文章

  1. VSCode上发布第一篇博客

    在VSCode上发布到博客园的第一篇博客 前段时间在VSCode安装好插件WriteCnblog,多次检查writeCnblog configuration配置信息也是完全正确的,但是一直没能在VSC ...

  2. 鸿蒙内核源码分析(根文件系统) | 先挂到`/`上的文件系统 | 百篇博客分析OpenHarmony源码 | v66.01

    百篇博客系列篇.本篇为: v66.xx 鸿蒙内核源码分析(根文件系统) | 先挂到/上的文件系统 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...

  3. v79.01 鸿蒙内核源码分析(用户态锁篇) | 如何使用快锁Futex(上) | 百篇博客分析OpenHarmony源码

    百篇博客分析|本篇为:(用户态锁篇) | 如何使用快锁Futex(上) 进程通讯相关篇为: v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 v27.05 鸿蒙内核源码分析(互斥锁) ...

  4. 第一篇博客:HTML:background的使用

    开篇 我是一名程序员小白,这是我写的第一篇博客,在学习的路上难免会遇到难以解决的问题,我将会在这里写下我遇到的问题并附上解决方法 希望可以对各位有所帮助!! 我们在html中经常会遇到这样的问题 例如 ...

  5. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

  6. 第一篇博客:Hello World

    2016年10月10日,双十,好日子,决定开始写第一篇博客,标题想了会,就叫Hello World 吧,哈哈^_^. 首先感谢博客园的管理们能批准我的申请,记得在14年的时候申请过一次,竟然没申请通过 ...

  7. 通通的最后一篇博客(附自制html5平面射击小游戏一枚)

    这是我最后一篇博客了,由于本人的人生规划吧,以后应该也写不出什么好的技术文章了,到现在在博客园写了2年, 今天一看,我也有了120个粉丝,好几万的浏览量,感谢大家的支持啊~~ 半年没有写博客了,由于半 ...

  8. 第一篇博客 ---- 分享关于Maven使用的一些技巧

    Maven环境搭建 在官网上下载maven安装包,地址:http://maven.apache.org/download.cgi . 解压文件到电脑坐在盘符目录,如E:\apache-maven-3. ...

  9. 关于” 记一次logback传输日志到logstash根据自定义设置动态创建ElasticSearch索引” 这篇博客相关的优化采坑记录

    之前写过一篇博客是关于记录日志的简单方式的   主要就是  应用->redis->logstash->elasticsearch 整个流程的配置方法和过程的 虽然我们部分线上应用使用 ...

随机推荐

  1. 获取Django model中字段名,字段的verbose_name,字段类型

    如下app:ywreport下存在model:Game: class Game(models.Model): name = models.CharField(u'游戏名称',max_length=30 ...

  2. 多个wav音频文件合并(连接)成一个文件

    场景:一段声音从浏览器麦克风缓冲上一段一段发给服务器,按照时间戳生成很多文件. 目的:把他们按时间顺序连到一个时间轴上. 命令如下: ffmpeg -f concat -i list.txt out. ...

  3. ip地址分类和网段详解

    IP地址分类/IP地址10开头和172开头和192开头的区别/判断是否同一网段 简单来说在公司或企业内部看到的就基本都是内网IP,ABC三类IP地址里的常见IP段. 每个IP地址都包含两部分,即网络号 ...

  4. Spring Boot系列之-helloword入门

    一. What: Spring Boot是什么?以1.4.3.RELEASE为例,官方介绍为:http://docs.spring.io/spring-boot/docs/1.4.3.RELEASE/ ...

  5. replicationController 使用

    [root@lab2 nginx-harbor]# cat http-test.yaml apiVersion: v1 kind: ReplicationController metadata: na ...

  6. 【grpc proto】python使用proto文件生成简易的服务端和客户端

    1.安装python-grpc(注意,是grpcio包,不是grpc包!) pip install grpcio 2.编写.proto文件 grpc教程:http://doc.oschina.net/ ...

  7. div定位relative和absolute测试1

    div里的position定位也是比较常见的,relative是相对定位,absolute是绝对定位.如本文测试:body自带8px的margin,这里不对其进行清空.蓝色的div和红色的div分别设 ...

  8. 09点睛Spring4.1-AOP

    9.1 AOP AOP可以了让一组类共享相同的行为.在OOP中只能通过继承类和实现接口,这样使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上; 下面演示一个日志系统的实现,简单但不 ...

  9. 【ARTS】01_45_左耳听风-201900916~201900922

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  10. Python爬虫-爬取豆瓣图书Top250

    豆瓣网站很人性化,对于新手爬虫比较友好,没有如果调低爬取频率,不用担心会被封 IP.但也不要太频繁爬取. 涉及知识点:requests.html.xpath.csv 一.准备工作 需要安装reques ...