聊聊SAP系统架构有多牛逼?
技术琐话 2022-10-06 09:23 发表于四川
编者荐语:
原标题:做时间的朋友
以下文章来源于乐谈IT,作者frankyue乐立骏
这篇文章的标题“做时间的朋友“是受到我的朋友杨华总的启发,杨华是SAP顾问成功转行的典范,现在是国内一家知名IT软件公司的副总裁兼首席产品官,前端时间我们大家在群里闲聊到SAP的底层架构,他扔给我一篇当年他们创业做软件产品的研究文档,文档名字叫“学习SAP的底层架构,时间才是产品“。
这篇文档包括一个核心观点和一个事实,核心观点是做To B产品的最重要的一点是需要搭建一套可被积累的架构,剩下来的就是时间了,时间越长,积累越多,产品就越成熟。
核心的事实是描述了SAP的架构(技术、应用架构)是什么,这些架构是如何逐渐积累壮大的,这其中举了很多例子,比如SAP在1986年建立了BAPI机制,最终通过时间的力量,在36年的时间内,从第一个BAPI发展积累到今天了几万个BAPI,让SAP沉淀为坚不可摧的产品。
备注:BAPI本质是用于对业务对象实现各种功能的函数,但BAPI封装了SAP业务对象模型的内部逻辑,使用BAPI时不需要关注业务对象的内在逻辑,只需要输入相应的参数就可以,其最大的价值在于确保创建、更改、访问业务对象时正确执行所有的业务逻辑、验证和授权检查。
为什么需要写这篇文章
ToC产品有时只需要一个创意,强调唯快不破,但ToB产品,我们绝大部分情况下需要做时间的朋友。To B产品需要足够耐心,搭建可被积累的架构,然后一方面对架构进行优化,另外一方面基于架构积累各种各样的业务模式(数据模型、逻辑),做到让软件产品以更标准、更稳健、更灵活的方式应对客户的需求。
现在搞ToC的互联网行业势头很猛,一方面自己开始进军ToB市场,做To B的各类产品,另外一方面很大程度上影响了整个IT行业以及传统企业,而这些影响有积极的,但也有很多不利的一面,比如动不动谈微服务、中台等各种时髦的架构。
行业中需要各种声音,聊聊ToB产品的本质,因此,我写了这篇“做时间的朋友-聊聊SAP系统的美妙的底层架构“,目的是聊聊SAP架构(应用/技术架构)是什么,这些架构中哪些是值得国内公司学习的。
具体来说,本文首先描述SAP是什么,然后描述其架构(应用/技术架构)的重要特点,这种架构带来的好处是什么,大家自己思考ToB类产品的本质是什么,哪些是与互联网ToC类似,哪些完全不想关。
关于整个To B市场,可参见我写的文章
美妙的软件架构
作为大学毕业一直从事SAP行业的老顾问,我应该还是比较熟悉SAP的,作为从业人员,当然能看得到SAP的强大之处,但实际上从未真正意识、理解SAP的架构的美妙之处,这种美妙,是这几年我与SAP之间有距离之后,经历了其他各种各样的企业管理软件,才真正的理解SAP的架构之美。
这种美妙的架构基本解决了复杂的企业管理软件领域的最大的难点问题:如何同时考虑到标准化、灵活性以及稳健性。
要知道SAP是通过一款产品满足几乎所有行业,这些行业有着各自的业务流程,各自的特殊之处,同时SAP几乎又是端到端的覆盖企业的整个业务线(产供销、财务、仓库、人力、研发、设备维护、质量、EHS),这种架构的美就额外值得人赞叹。
一、SAP是什么
在我们聊SAP的架构之前,我们花点笔墨来说一下SAP系统是什么
1 SAP可能是代码量最大的软件
绝大部分的SAP顾问每天都在接触SAP系统,但可能没有意识到SAP系统有可能是这个世界上最大的单体应用(软件),最新的S/4产品包含子程序在内一共有960万个程序,即使按照每个程序20行代码,那么也有2亿行代码量。
其他代码量排在前列的应该是操作系统,根据Quora上的数据,Windows10操作系统约有6千万行代码量。
为什么会这么大的代码量,因为某种程度SAP也是企业核心的操作系统
国内互联网巨头阿里巴巴前几年一直在提“商业操作系统的“概念,其实SAP是这方面的鼻祖,也是真正的行业领先者。
二 SAP是最早的软件公司之一
SAP公司1972年成立,起步就是做企业管理软件,而现在鼎鼎大名的一些软件公司基本都在这个时间之后成立的。大家熟知的微软1975年成立,也是一直做软件的。甲骨文成立于1977年,Adobe成立于1982。SAP成立的早的原因很简单,最早只有企业才用得起电脑和软件。
支撑行业最多、行业解决方案最多的软件
在企业市场,不同的客户其需求可能是类似的,但也很可能有很大的差异,尤其是不同的行业、不同的规模的客户。在企业管理软件领域,SRM和财务领域会相对标准,行业特点不那么明显,ERP和CRM领域会有明显的行业特色,MES领域行业特色非常显著,所以MES领域是最难做的一个领域。
关于MES、SRM,可参见我写的文章
回到ERP领域,SAP的最新一代产品S/4本质是一个产品打天下,覆盖所有的制造业(离散、流程、重复制造、项目制造),并包括特殊的行业(烟草、医疗、金融、能源、电信、建筑、政府、军队、零售),因此一个集团性公司假设跨越多个行业,SAP也可以搞定。
关于SAP支持的行业,可参见我写的文章
你对SAP行业(特有)解决方案了解多少,是否知道在S4中的改进
可能是模块最多的软件
SAP的S/4本质是一款泛ERP的产品,包括了狭义的ERP,还包括其他各类产品(MDG/主数据管理系统、CRM、PLM、EWM/高级仓库管理、PPDS/高级排程、EHS/环境、安全)、GRC/合规管理等),算下来大概有40个左右的模块。当然最经典、最常见是其中的五大模块(SD、MM、PP、FI、CO),覆盖企业的产供销和财务。
关于SAP系统中的模块的情况,可参见我写的文章:S/4中究竟有多少个模块,你对这些模块了解多少
可能是在标准化和灵活性(定制)的平衡性上做的最好的软件。
SAP系统非常灵活,这一点可能有人有不同意见,不服者很多的话,我会单纯写篇,但我个人深度认为SAP是在标准化和灵活性上做到极致的公司,做到了高度的标准化,以及灵活性。
这种高度的标准化、灵活性具体在下文的架构部分中重点描述。以灵活性为例,体现在很多方面,比如SAP系统中我们可以不做定制,也可以根据需要做大量的定制,并且更重要的一点是这种灵活性不会牺牲产品的稳健、这种标准化不会带来软件产品的僵化。