SAP 传统的基于 ABAP 开发的应用,有哪些设计亮点值得借鉴的?

举报
汪子熙 发表于 2022/01/24 16:29:05 2022/01/24
【摘要】 这是一个问题。上图的One Order是楼下一个部门领导让我给他的团队做的一个古老框架的session. 这个框架诞生于2000年,采用纯面向过程的思路开发。因为上世纪90年代ABAP开始引入对面向对象编程的支持后,很多语言层面的OO特性还不mature, SAP开发还没有养成使用OOP开发的习罐,所以SAP当时也没有新开发必须用OOP的强制规定。很多朋友可能瞧不起SAP传统产品里这些自研的...

这是一个问题。
image

上图的One Order是楼下一个部门领导让我给他的团队做的一个古老框架的session. 这个框架诞生于2000年,采用纯面向过程的思路开发。因为上世纪90年代ABAP开始引入对面向对象编程的支持后,很多语言层面的OO特性还不mature, SAP开发还没有养成使用OOP开发的习罐,所以SAP当时也没有新开发必须用OOP的强制规定。

很多朋友可能瞧不起SAP传统产品里这些自研的框架,认为它们和当今互联网的产品比起来,笨重,不性感,没有使用任何业界流行的技术,架构,开源组件,和同行聊天时,这些自研框架上没有什么可以吹嘘的亮点。

image

但我个人认为,从产品和工程层面说,像SAP one order这种框架是很成功的,一个2000年诞生的框架,将近20年后仍然运行于SAP全球众多CRM On Premises系统上,并且从2016年开始,CRM的service process并入了S/4HANA, 这意味着只要S/4HANA 的service模块还在,这个框架就会一直使用下去。S/4HANA service流程的roadmap在官网能查到,从roadmap也能看出,将来从CRM持续不断的迁移功能到S4, 底层仍然基于这套框架。

我个人觉得One Order最大的亮点就在于extensibility,框架里留了整齐的能够自描述的hook, 客户和partners不需要了解One Order的工作原理,只需要专注于这些hook的实现就行。一个hook就是一段业务逻辑的封装。SAP 最近几年搞的Kyma, 里面提出的lambda function 的概念,本质上就是One order 里的hook, 只不过后者可以通过微服务方式调用,而前者是monolithic系统内简单的函数调用。
image

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。