SAP系统架构和技术平台

作为一个CS专业资深码农,早就想写一些关于SAP技术平台和架构设计的文章了。原因是SAP的技术架构自成体系,和市面上流行的Java或者Net体系完全不同。对于一个毕业就进入C++和Java开发的人来说更是多了几份好奇心,比如SAP为什么要自己搞一套独立的技术架构而不用更为流行的平台和开发语言?为什么SAP要另起炉灶搞一套而不用现成的东西,增加了学习成本不说还显得和主流格格不入。

首先SAP成立于1972年,而Java语言直到1995年才出来的,比尔盖茨的微软公司到1973年才才成立,所以当时既没有Java和.net,更没有Tomcat,WebLogic,IIS这些常用的中间件。

回归主题哈,目前的打算是分几个话题来分别介绍比如APAP和Basis、SAPGUI、BAPIs、数据字典、系统权限与安全、工作流引擎、数据传输、系统实施向导IMG(Implementation Guide)等、当然也会专门介绍一下目前SAP正在大力推的云平台BTP(Business Technology Platform)。

SAP传统的系统架构

SAP ERP与商业套件

首先要先说一下SAP的起家产品ERP(SAP在很多领域已经成为ERP的代名词,直到现在为止很多人还把ERP称为SAP)。从1979年推出R3到92年的R3,再到04年的ECC再到16年的S/4HANA(S/4HANA的含义即为第四代商业套件),再到今天重点推出的云ERP整整发展了五代。

SAP的ERP产品史

SAP把所有功能一股脑全部集成在了一个系统中,比如我们常用的六大模块:财务会计FI、管理管理CO、生产管理PP、物料管理MM、销售与分销SD等,另外加上了25个行业应用包和37种语言。后来又在同一个技术平台上开发了产品生命周期管理PLM、客户关系管理CRM、供应商关系管理SRM以及供应链管理。SAP当时做了个很牛的决定直接把这些代码全部开放出来,客户可以按照自己实际业务需求随意改动。

SAP商业应用套件

SAPGUI和事务代码T-code:

SAPGUI是系统的UI界面,业务人员可以登陆进去进行业务操作、开发人员可以进去进行代码更改与调试、系统管理员Basis可以进去进行系统配置、监控和维护。在BS架构盛行的那些年SAPGUI证明了“你大爷还是你大爷”:在性能、稳定性、易用性上远超BS架构(当然SAP也推出了基于Java和Web版本的SAPGUI)。从Web时代起SAPGUI被人质疑和诟病的声音从来就没有停止过,为了适应人民群众对于美的无限追求和跨移动端的互联网时代SAP在13年推出了基于Html-5技术的Fiori[1]

SAPGUI登陆后的界面和菜单

Tcode即事物代码(Transaction code)是进入系统特定功能的快捷命令[2],当年很多人为了熟练操作系统像背单词一样的背事务代码(最新版本的SAP事务码大概有10万个左右)。有人诟病事务代码太多和难记,就像Linux命令一样:不熟悉的总觉得Linux比Windows难用,只有熟悉的人才知道用起来有多爽。

ABAP语言、SAP Basis与NetWeaver平台:

Abap全称高级商务应用编程语言(Advanced Business Application Programming,德语Allgemeiner Berichts-Aufbereitungs-Prozessor的缩写,意思是“通用报表预处理器”)。SAP设计了一个完整的开发环境,它和ERP系统完全集成在一起,用户可以根据其需求用它开发特定的解决方案,或改进、改善标准的应用程序。ABAP开发环境包括了设计和开发程序、屏幕、菜单、功能模块等所需的一切工具,还包括了程序调试、性能和在线分析、测试所需的实用程序[3]

ABAP Development Environment

SAP Basis(Business Application Software Integrated solution)一般是指对SAP系统的管理,比如系统的规划,安装,配置,管理,监控,维护,调优等,类似于System Admin。

对SAP Basis顾问的要求

NetWeaver[4]是一个类似于IIS, Tomcat, WebLogic或者WebSphene的应用服务器,用来支持ERP、CRM、SCM、PLM等应用的运行,当然也具备一些分析和集成的功能比如BW、PI和Portal等。另外除了支持Abap外也支持Java应用。

SAP NetWeaver平台

SAP NetWeaver平台

系统配置向导IMG (Implementation Guide)和最佳业务实践 (Best Practice)

Implementation Guide(IMG)是SAP系统的配置工具,它可按企业的需求来配置SAP系统以适合企业自身的要求。我们可以用其来构建和组织公司中SAP系统的实施。IMG中详细记录了所有IMG活动的实施步骤[5]

因为企业应用实在是太复杂了,所以SAP提供了最佳业务实践Best Practice[6]来帮助客户快速梳理流程和上线(换句话说就是我提供了通用的标准流程,如果你不知道怎么做就按照这个大家都在使用的流程肯定不会错)。

SAP Best Practice Explorer

SAP BADIs(Business Add-Ins)和IDoC (Intermediate Document 中转文档):

BADIs是基于ABAP面向对象的SAP增强的新技术,它可以插入到SAP系统中以实现用户个性化的需求。BADIs应该被当作为广义的函数模块,这单个函数模块捆绑了程序,菜单,屏幕增强[7]

IDoc[8]是一种系统间通用的数据交换格式,通过IDoc接口可以实现SAP系统之间以及SAP系统与其他系统之间的数据交换。

归档 Archiving[9]

很多客户的ERP系统可能已经运行很长时间了,也有可能某个集团下属上万家分子公司都运行在一个实例上,那么随着业务的发展数据量必然越来越多。为了不影响系统的性能,建议定期为系统做归档。而在Abap环境下Archiving本身就是自带的一个非常易用的工具,您可以把所以相关的数据归档到外部的存储或者文件里,但是同时又可以随时查看历史数据。这听上去是不是很酷,您需要做的就是通过菜单找到Tools -> CCMS -> DB Admin -> Data Archiving(或者使用Tcode SARA)[10]

Data Archiving Process Flow

Solution Manager (简称 SolMan):

SAP SolMan是一个系统管理和运维的工具,高大上一点叫“系统的全生命周期管理 Application Lifecycle Management”[11]。功能包括:系统监控、知识库、流程管理、项目和变更管理、测试管理等。

SAP ALM SolMan 7.2

参考

  1. ^什么是Fiori 什么是Fiori - 知乎
  2. ^What is Transaction Code (T Code) in SAP What is Transaction Code (T Code) in SAP - SAP Tutorial
  3. ^Abap abap_百度百科
  4. ^SAP NetWeaver Platform SAP NetWeaver | Application Integration & Server
  5. ^SAP的三种不同类型IMG SAP IMG_tianjun309的博客-CSDN博客
  6. ^SAP Best Practices in Help Portal SAP Help Portal
  7. ^SAP BADIs 概览 BADIs 概览_ITPUB博客
  8. ^IDoc IDoc - 江正军 - 博客园
  9. ^Data Archiving (CA-ARC)  SAP Library - Data Archiving (CA-ARC)
  10. ^SAP Archiving Step by Step Guide for Beginners SAP Archiving Step by Step Guide for Beginners | SAP Blogs
  11. ^揭开SAP Solution Manager神秘面纱 揭开SAP Solution Manager神秘面纱_zltpc007的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_42137700/article/details/124851048