这是一个问题。

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

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

但我个人认为,从产品和工程层面说,像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系统内简单的函数调用。

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

最新文章

  1. 28. Implement strStr()
  2. Git服务器搭建及配置
  3. iOS内存管理(二)之深拷贝和浅拷贝
  4. facedetect
  5. 解决:打开OleView报错 dllregisterserver in iviewers failed
  6. 如何避免后台IO高负载造成的长时间JVM GC停顿(转)
  7. 提高Linux安全性--hosts.allow, hosts.deny 文件修改方法
  8. 从地址栏输入url到显示页面都发生了什么?
  9. 初识CSS3之媒体查询(2015年05月31日)
  10. 【转载】计算机视觉(CV)前沿国际国内期刊与会议
  11. Android带参数链接请求服务器
  12. Session之考勤
  13. NetworkX学习笔记-5-NetworkX中怎样对多个网络赋属性,并根据属性排序
  14. [RabbitMQ]Error: unable to connect to node rabbit@compute1: nodedown(CentOS7.0)
  15. 转 ORACLE数据库它可以存储 中文 字节或字符
  16. VS2008生成解决方案卡顿、龟速
  17. Cordova开箱注意事项
  18. c博客作业01--顺序、分支结构
  19. 【ProtoBuffer】windows上安装ProtoBuffer3.1.0 (附已编译资源)
  20. Log4Net在MVC下的配置以及运用线程队列记录异常信息

热门文章

  1. jmeter -- beanshell 执行本地py文件
  2. Python之queue模块以及生产消费者模型
  3. 心の壁 From EOE:Air / 真心为你
  4. 深度图转伪彩色图(python)
  5. Python 用hashlib求中文字符串的MD5值 (转自 haungrui的专栏)
  6. 关于npm install 报错 EAI_AGAIN reason: getaddrinfo EAI_AGAIN registry.npmjs.org
  7. PPT 中用 LaTeX 插入公式、PowerPoint 中用 LaTeX 插入公式(4)
  8. 题解 luoguP3554 【[POI2013]LUK-Triumphal arch】
  9. C++实现16进制字符串转换成int整形值
  10. Rabbitmq C++客户端 Rabbitmq Client