测试
全部博文(931)
分类: 架构设计与优化
2019-08-22 22:46:04
上图的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的原创文章,请关注公众号"汪子熙":