您好, 访客   登录/注册

SAP系统架构浅析

来源:用户上传      作者: 公慧玲 李致勋

  摘要: SAP是目前全球最受欢迎的ERP解决方案之一,其在中国的用户数量也与日俱增。但是,大部分SAP用户及SAP开发人员仅对其某一方面的商业模块应用及开发有所了解,却对SAP的基本架构鲜有认识。将针对SAP系统的基本结构框架和其特点做一基本分析,以增进大家对SAP系统的了解。
  关键词: SA;ERP;数据库;系统架构
  0 引论
  SAP是英文“Systems,Applications and Products in Data Processing”的缩写,其开发公司SAP公司是目前全球应用最广的企业管理和协同化商务解决方案供应商[1]。包括80%以上的财富500强公司在内的120多个国家的17万多家用户都在运行SAP软件[2]。在中国,SAP公司也成立了全球第四大的研发中心。
  但是SAP系统并非只是一套软件,而是一种策略性的解决方案。它同时具有集成化,灵活性,开放性及支持多种语言等特点,企业可通过SAP系统对企业资源及生产流程进行系统全面管理,有效提高工作效率。要更好的利用SAP系统,而不是简单的二次开发,认识其系统结构就显得尤为重要。下面我们针对其系统架构中的三层架构及数据库接口做一点简要分析。
  1 SAP系统的三层架构
  SAP是一个基于客户/服务机结构和开放系统的、集成的企业资源计划系统[3]。其功能覆盖企业的财务、后勤(工程设计、采购、库存、生产销售和质量等)和人力资源管理、SAP业务工作流系统以及因特网应用链接功能等各个方面。SAP系统的运行环境是该系统的核心部分,其主体是由C及C++语言编写,也有一部分有SAP自身开发到程序语言ABAP编写[4][5]。
  SAP系统的核心执行以下几个任务:
  1)运行SAP程序:所有的SAP程序都在一个软件处理器(虚拟机)中运行。
  2)提供数据库读写服务:SAP程序并不直接对数据库进行操作,而是通过自身的Database Interface,使用SAP Open SQL(Structured Query Language)对底层数据库进行读写。
  3)通讯服务:SAP程序可与其他SAP程序进行通信,同时也可与非SAP程序通过BAPI接口进行通信。
  4)系统监控:用户可对SAP程序的运行进行监控及改变运行环境参数。
  SAP系统是一个典型的Three-Tier系统架构,由表现层,应用层及数据库构成(图1):
  1)SAP系统架构表现层(Presentation Layer):这是SAP用户图形界面(SAP GUI),是SAP用户和SAP系统交流的接口,用户登录后对SAP系统进行操作。通过这图形界面用户可对SAP发出指令或递交数据给应用层,应用层接收到指令或数据后,会进行相应的计算操作,之后底层将处理后把数据返还给表现层。
  2)SAP系统架构应用层(Application layer)这层包括一个或者多个应用服务器(ABAP Programm)和一个消息服务器(ABAP Dispatcher)。每一个应用服务器包括一系列服务以便运行应用程序。Dispatcher是系统应用层的核心,所有从客户端传递进来的请求都将首先传递到消息服务器中,消息服务器首先按照First in First out的原则将所有请求排序,然后将用户请求依次传递给空闲的工作进程(Work Process)中,每个工作进程在某一时刻只能处理一个用户请求。工作进程会根据具体的要求通过Open SQL到数据层中读取对应的数据。
  3)SAP系统架构数据库层(Database layer):这里存放了所有SAP系统的数据。SAP系统通过自身的标准语言Open SQL对数据库进行管理,同时实现了上层应用于底层数据库类型的不相关性。SAP支持很多数据库系统,包括:Microsoft SQL Server,ORACLE,INFORMIX,DB2等。
  2 SAP系统的数据库接口
  SAP系统支持多种数据库,SAP程序可通过SAP Open SQL对数据库进行读写,SAP Open SQL的编写不依赖于数据库的类型。在图2中所示的数据库接口是SAP应用层中一个重要的组成部分,它将Open SQL指令转换成与数据库类型相应的SQL语句(Native SQL)。这样使得在SAP开发时无需考虑底层数据库的类型。在数据库接口对Open SQL进行转换时会先对验证其语法,并自动最大限度使用本的缓存来优化数据库的操作。人们也可在SAP程序中直接定义与数据库类型相应的SQL指令(Native SQL)来读写数据库中数据。
  3 总结
  任何ERP软件都不可能覆盖企业的多样性和复杂性的所有方面,对于企业的特殊要求用户可自行进行必要的二次开发,并要求同其他应用软件也可方便地集成。这就要求供应商提供的软件都能具有很强的开放性,而充分利用这种开放性的前提就是必须熟知其系统的基本架构。本文通过对SAP系统的三层结构和数据库接口的分析使大家更能深层次的了解SAP系统的系统框架,能够更好的使用SAP系统。
  参考文献:
  [1]http://www.sap.com/china/about-sap/index.epx,2012.
  [2]The ABCs of ERP Compiled from reports by Christopher Koch, Derek Slater and E. Baatz (From CIO on December 22, 1999).
  [3]SAP System R/3, Prof. Dr.-Ing.Wilhelm Spruth,2005.
  [4]黄佳,SAP高级应用开发[M].北京:人民邮电出版社,2008.
  [5]黄佳,SAP业务数据传输指南[M].北京:人民邮电出版社,2007.
转载注明来源:https://www.xzbu.com/8/view-3594360.htm