SAP是标准的多层架构,应用服务器的概念是SAP首先提出来的,你可以把SAP理解成一个类似于JAVA平台的东西,和硬件及操作系统打交道的那层用C及ABAP做了封装(抽象),整个系统就是建立在这样一个类似JAVA虚拟机的平台上。绝大部分的SAP模块都是用ABAP写的,所有的ABAP程序都存放在数据库中,要用的时候先编译一次以后就不用重新编译——除非修改。所以从某种程度上看SAP可是一个开源的系统。简单分层如下:
GUI
Application Server/Transaction Server
DB Access
DBMS
那要看你的发展方向了,做系统维护——basiss,做二次开发——ABAP,做实施顾问——相关模块。
如果做顾问,总的来说还是结合自己当前业务相关的模块入手比较好,做顾问也要懂ABAP,有条件的系统的上SAP标准课程。另外对于SAP的整体架构一定要有所了解,不然很容易迷惑的。
SAP用C++开发出来BASIS模块(包括一个ABAP的开发平台),将实际的数据库和操作系统隔离,具体的应用模块都是用ABAP开发出来的,从BASIS6。2以后已经支持J2EE。ABAP程序并不直接访问Oracle的数据库,而是通过BASIS来访问的。
如果说SAP里不同业务模块是大学里的不同专业,那么
BASIS = 高等数学
ABAP = 英语
CEO和END USER小姐除外, 不管做什么技术工作,
basis,ABAP 都要懂一点 。
对於无法接触SAP实际业务的学习者,
建议不妨先学BASIS和ABAP,有一些基础后,再选择一个业务模块深入(专业)学习。
SAP不是IT行业的专业
1. SAP是ERP系统,而ERP系统的主要设计和实施都不是IT专业的强项,所以你可以见到的大部分SAP实施顾问都是非IT专业出身,面是财务,管理的
2. 无论BASIS,ABAP都不过是门工具,没有太多的内涵,学的人多了,自然就掌握的多了,以前SAP只有几家大公司在用,一般人接触不到,而现在用的公司多了,BASIS和普通的NT权限管理,数据库权限管理没什么两样,不过是对象,权限,角色等. 而ABAP虽然选用了类似于COBOL的语言,但高级语言本身就没什么大的差别.所以和VB也是一样
3. SAP的流程很难适应中国的大部分公司,上SAP需要公司适应SAP的流程要求,而不是SAP来适应本公司的要求.