Jerry 2006年参加SAP成都研究院校园招聘会时,曾经听在研究院里实习过一段时间的两位教研室同学介绍过,进入SAP之后,咱们大学学习和研究生阶段做项目用的C/C++就用不上了,得从头学习一门全新的编程语言(详情参考Jerry之前的文章: 我是怎么和SAP结缘的 - Jerry的SAP校园招聘之路)。
后来,Jerry 2007年1月进入SAP成都研究院报道才知道,那门语言叫做ABAP.
那个时候,整个成都研究院的开发人员,几乎都在围绕着同一个SAP SaaS软件进行开发工作: SAP Business by Design.
一晃十多年过去了。今天,SAP成都研究院小伙伴们,使用的技术栈早已突破了ABAP的限制,可以说目前IT业界使用的所有主流编程语言,在SAP成都研究院的开发项目里都能找到它们的身影。
这十多年间,我也亲身见证了SAP编程技术演进的历史。Jerry之前的文章,SAP UI和Salesforce UI开发漫谈, 简单回顾了SAP前端开发几代技术的演进历史,按照诞生的日期早晚,依次罗列如下:
- SAP GUI + Dynpro
- SAP ABAP Web Dynpro
- SAP WebClient UI
- SAP Fiori(poweres by SAP UI5, or other Fiori Fundamentals)
早在2013年SAP Fiori 1.0诞生之初,SAP就在官方社区上向生态圈内的从业者宣布,Fiori将会是未来SAP主流产品使用的UI设计语言和用户体验准则(User Experience Guideline). Jerry以前的同事周帅,曾经写过一篇文章,SAP成都C4C小李探花:浅谈Fiori Design Guidelines,概要介绍了SAP Fiori的前世今生和其在SAP Cloud for Customer中的应用。
Fiori是一套界面设计风格的规范集合,在诞生之初,配套的前端实现框架仅仅只有SAP UI5这一种选择。近些年来SAP技术一直在朝着拥抱变化,拥抱开放的方向发展,于是就有了SAP Fiori Foundamentals, 能够让会用React, Vue等非SAP UI5框架的前端工程师们,使用他/她们熟悉的前端开发技术,依然同样能开发出具有Fiori UX的应用出来。
而SAP UI5 Web Component, 是SAP将之前SAP UI5控件库里的控件,按照Web Components标准规范重新实现并封装后的产物。
一个传统的基于SAP UI5的应用,其XML视图里,声明一个Button控件的用法,见下图第二行:
SAP UI5 Web Components可以用在任何前端框架里,比如React, Angular, Vue和未使用任何框架开发的简单HTML页面。下图是一个简单的HTML页面,使用SAP UI5 Web Components定义的Button控件位于第17行。
关于更多SAP Fiori Foundamental和SAP UI5 Web Components的介绍,请参考Jerry的文章:
- SAP Fiori + Vue = ?
- Fiori Fundamentals和SAP UI5 Web Components
- 用React开发SAP Fiori应用
在Jerry刚进入SAP行业的那个年代,Partners如果要进行二次开发,手段相当有限,无非直接在ABAP On-Premises系统上做增强,或者在第三方系统上,通过Web Service或者RFC消费SAP系统暴露出的API. 详情请参考Jerry的文章: SAP API开发方法大全。
随着SAP云平台的问世,极大地丰富了Partners进行二次开发的技术手段。ABAP也加入了云环境的大家族,正式成为了SAP云平台编程环境之一。而越来越多的来自开源社区的技术,诸如Docker容器,Kubernetes等等,也在逐渐渗透进SAP标准产品的开发中去。
这些新出现的技术,深刻影响到了咱们的客户们使用SAP产品的习惯和方式。上世纪末,把SAP GUI玩得烂熟的那些资深SAP老前辈们,绝对不会意识到,未来的十几年后,SAP应用可以在掌中一部几英寸大的移动设备上,仅仅凭借指尖触碰就能访问。技术的更新换代也给SAP开发人员提出了更高的要求,我们唯有保持接受变化的开放态度,根据客户的实际需求,更新自己的技能库,方能跟上时代的步伐。