1R/3系统的体系结构为各种领域提供广泛商业应用解决方案的SAPR/3系统结构是一个三层分布式客户/服务器体系的数据处理系统。SAPR/3的客户/服务器体系可以灵活地进行配置,以适应不同规模企业的业务数据处理需要。(1)数据库服务器中心数据库(CentralDB)是存储所有数据和应用程序的,它掌握所有数据库功能,如更新、建库等等,通过修改数据库和进行批处理与应用逻辑层相联接。(2)应用服务器通过读数据库和更新缓冲区,以及面向对象的不同时间的更新作业与数据库眼务器相联接,同时为专门部门装入和执行应用程序眼务,它是属于应用逻辑层。如图所示,应用服务器可以灵活地配置成多个,以适应大批客户在位置的分布和业务范围上的分布。(3)用户服务器联接应用服务器的工作站、PC机和终端,它们用来作为输入和显示数据的。SAPR/3的系统内核:用户请求的处理:R/3应用层的核心程序是分配器(dispatcher)。它和操作系统一起控制R/3应用系统的资源。其主要任务包括分配事务载荷给工作进程,连接表现层和组织通讯。用户的屏幕输入被SAP显示程序SAPGUI接受,转换成自己的格式,然后发送给分配器。处理请求然后就被分配器保存在请求队列中,并根据“先进/先出”的原则进行处理。分配器一个跟着一个地分配请求给可用的工作进程。数据实际上是在工作进程中处理的。通过SAPGui发送请求的用户通常不分配工作进程,因为没有固定的工作进程分配给用户。一旦数据处理完成,来自工作进程的处理结果就被分配器发送还给SAPGUI。由SAPGUI解释这些数据并在前端计算机操作系统的帮助下产生屏幕输出。在初始化R/3系统时,分配器执行下列动作:读系统参数,启动工作进程,并将日志记录到消息服务器。SAPR/3表现层SAPR/3表现层支持WindowsPC,NC终端和Java环境工作站。SAPR/3应用服务:从操作系统看R/3运行系统是一组并行和协调进行的程序。在每个应用服务器上这些程序包括分配器和工作进程,工作进程的数量依赖于可用的资源。工作进程可以被安装为对话处理,更新,对话释放后台处理和假脱机(缓冲)打印。另外还有用于并行处理应用服务器的消息服务和外部应用系统通讯的网关服务。SAPR/3数据库层SAPAG1999NativeSQLDatabasedataApplicationserverDatabaseserverABAPinterpreterSELECT*FROM...EXECSQL.SELECT...ENDEXEC.DatabasedataNativeSQLOPENSQLDataDBinterfaceLocalbuffersDataDatabaseR/3DatabaseInterface今天,大量数据通常使用关系数据库系统RDBMS进行管理。这些系统使用两维表储存数据,逻辑关系简单明了。数据的定义,表和表的关系储存在RDBMS的数据字典中。在SAPR/3的开发语言ABAP中,SAPOPENSQL可以被用于访问数据库中的应用数据,而和具体的RDBMS无关。R/3数据库接口把ABAP命令中的openSQL命令转变成对应的数据库命令。这意味着在ABAP应用程序中是数据库无关的。数据库支持的SQL语言也可以在ABAP程序中使用。当解释openSQL命令时,R/3数据库接口检查这些命令的语法并自动确保应用服务器中的共享内存中的本地缓冲区进行优化地利用。应用程序频繁访问的数据被储存在这些缓冲区中,这样系统在读这些数据时可以不必访问数据库。特别是,所有的技术数据,如ABAP程序,屏幕和ABAP字典信息,以及某些通常在运行系统中维持不变的业务处理参数,都是理想的缓冲存储对象。以只读方式访问的某些业务数据也一样。R/3应用最大的特性就是其高度集成性。标准化的用户界面,标准化的数据管理,控制和分布处理的标准化概念,标准化接口,标准化的开发方法共同保证了应用模块能进行无缝连接。所有这些都是通过在最低层软件的共享层,即基础软件的基础上建立一些应用来达到的。R/3基础软件包括所有R/3系统和外界的通信,R/3系统和其它应用进行有效的数据交换所需要的接口。这样就保证了应用系统和工具的可移植性。基础软件同时还负责哪些应用系统能分布在客户/服务器结构环境下。更多的是基础软件允许系统的所有功能都在一个统一的图形界面下进行存取,基础软件既服务于最终用户,又服务于系统管理人员,就像连接在系统软件和应用软件之间的一条链,从而保护他们不受整个系统内部复杂性的影响。R/3基础软件包括很多彼此相互补充的部件,这也说明了所需执行的任务范围之广泛,由于软件系统在局域网和广域网中分布的趋势,基础部件将在整个客户商务中发挥作用。R/3基础内核必须放在需要解释应用系统的每一台计算机上,除基础内核外,基础软件还包括所有和外界的接口。它们包括用户界面。用户界面是通过显示接口来实现的。显示接口可以依赖于所用的窗口管理系统(Windows3。1,WindowsNT,OSF/Motif,PresentationManager,AppleMacintosh)的技术能力编制应用系统所需要的控制元素,SAP的标准用在用户界面上,从而使得系统的所有元素独立于窗口管理系统,并作为统一界面的一部分提供给用户,这些标准对所有支持的平台都遵循一个公认的准则。基础软件也定义数据自动输入/输出的接口,例如EDI和电子邮件的接口。CPI-C处理器、远程功能调用以及电报和传真的通信接口。网络上各种打印机的打印作业的分布是通过假脱机系统进行控制的。SAPAG2001工作站PC膝上型电脑应用程序数据库表示网络服务器数据库服务器浏览器客户机应用程序服务器Internet事务服务器R/3系统示例应用程序服务器R/3系统涉及到分配到同一数据库的所有软件组件.应用方案大致地可分成三个功能区:表示区、应用程序逻辑区和数据保持区,这三个组件可以在各自的主机(计算机)上运行。R/3系统可以将表示、应用逻辑和数据保持分布到不同的主机。但前提条件是基础系统的多级客户机/服务器策略。数据库位于中央主机,应用服务器(具有调度器和工作进程的R/3实例)也在使用之列,其他主机则用作用户前端(表示)以及与应用服务器进行通讯。在表示层,您可以使用工作站,PC,膝上型电脑,以及Internet应用浏览器客户机.SAPAG2001软件方面硬件方面客户机服务器进程1请求服务客户机提供服务LAN/WAN进程1客户机/服务器基本原理服务器用SAP的术语来讲,软件组件提供服务(软件方面),这个组件可由一个进程或一组进程组成,因而也被称为该服务的服务器。使用这种服务的软件组件被称为客户机,同时,这样的客户机也可以用作某些特殊服务的服务器。服务器通常是提供特殊服务的计算机(主机),软件组件在其上运行(硬件方面)。SAPAG2001R/3应用程序数据库调度器工作进程程序表示SAPGUI客户机客户机/服务器服务器工作进程终端处理面向软件视图TablesTables缓冲区DBDB客户机/服务器服务SAP表示层程序SAPGUI接受用户屏幕输入,将它进行格式转换并发送到调度器。SAP调度器在R/3系统应用程序层次上是控件实例,与操作系统一起管理R/3应用程序资源,其主要任务是将事务负载平均分配到工作进程,并连接到表示层。调度器一个接一个地将用户请求调度(分配)到可用的工作进程。工作处理实际进程的是数据。工作处理完成后,处理结果经由调度器发送到SAPGUI,由SAPGUI来解释此数据并生成用户输出屏幕。初始化(启动)时,R/3系统从数据库将缓冲表和系统操作需要的程序上载到应用程序层作缓冲。R/3系统操作通常提供三种层次的服务:表示层服务、应用程序层服务、数据库层服务(这也就是三层客户机/服务器的概念)。SAPAG2001硬件方面数据库,应用程序,表示中央系统2-层配置3-层配置数据库应用程序数据库表示表示应用程序启用网络Internet事务服务/网络服务R/3配置中央R/3系统配置中,主机负责所有任务处理.通常使用单独负责格式化图形界面的特殊表示服务器来实现二层R/3系统配置。许多R/3系统用户使用PC机作为表示服务器,比如安装了MicrosoftWindows的PC机。可选的二层配置是安装了功能强大的桌面系统并将它用于表示层和应用程序层(二层客户机/服务器),这种配置类型尤其适用于代价昂贵的应用场合(比如模拟)或软件开发中。在三层配置,使用自己的主机。使用来自数据库服务器的数据,几个不同的应用程序服务器可以同时操作。为确保每个服务器的数据负荷尽可能的平均以获取优化的性能,可以将某个服务器用于特定的应用领域,例如销售计划、分销或财务会计。为启用SAP应用程序的网络服务,需要网络服务器和ITS(Internet事务服务器)。网络服务和ITS服务可以运行于一个服务器或两个专用的服务器。此结构中的表示层由Internet浏览器提供。SAPAG2001硬件方面软件方面应用程序数据库表示......可扩展性......调度器SAPGUI工作进程工作进程DBDB客户机/服务器好处R/3系统结构允许将应用程序与表示层和数据库分开。这样就可以在客户机/服务器配置中将负载在多个应用服务器进行分配。因此,用硬件术语来说,系统可以分为三个不同的层次。这种结构意味着安装主机服务可以任意调整(具有可扩展性),尤其由于增加用户数量而导致负载参数文件更改,或由于使用了附加组件。R/3系统可扩展性在选择硬件和软件时提供了一定的机动性.R/3系统可调整性的例子:酿酒厂-20个用户小型电信公司-415个用户大型软件公司-2000个用户石油&天然气公司-2500个用户大型工程公司-3200个用户大型电信公司-5800个用户SAPAG200111用户在线执行事务屏幕显示事务处理结果22SQL查询44所需数量的传输与格式化3关系数据库应用程序组件ABAP词典业务事务一个R/3事务是一系列业务环境中一致并且逻辑上相联系的对话步骤。当执行R/3事务时,执行所有单独的对话步骤,并且在数据库中更新事务中的输入数据。从数据库的观点来看,这时是从一个一致性状态到下一个一致性状态的转换。用户执行事务之后,R/3系统开始从应用程序级到数据库级的查询。查询使用与大多数数据库系统兼容的SQL(结构化查询语言)语言执行。SQL的范围涵盖了将要使用的数据库系统的全部功能,包括所有供应商特定的增强功能。ABAP(高级业务应用程序编程语言)词典包含标准SAP系统定义的字段定义。联机时,系统使用ABAP词典中的表字段定义来检查用户字段条目的格式。R/3应用程序级的检查保证了数据传输到数据库之前保持一致性。SAPR/3系统中所有的数据和程序均存储于数据库中。SAPAG2001集团用户口令语言999SAP20-XX•字段长度最长为12•字母或数字•字段长度为3•数字字段字段是描述业务相关信息的最小单位.所需的定义是:允许的字符数(字段长度)字符类型(数字、字母或数字)除了字段的基本属性外,也可以定义特定字段的编号范围。例如,对于属于特定地区的客户,客户编号只能使用预定的编号范围。SAPAG2001集团用户口令语言域数据元素表字段字段语义特性字段技术特性xxxxxxxxxxxx字段定义在ABAP工作台中的ABAP词典里设置字段定义。例如:集团字段限制为三个数字字符,也就是说,在R/3系统中您可以输入最大的集团数为999。ABAP词典中定义数据的基本对象是表、数据元素和域.。数据元素用于表字段的语义定义(字段标签)。域用于表字段的技术定义(字段类型、长度)。字段不是独立的对象。它依赖于表并仅能在表内维护。SAPAG2001行列列列行行表集团用户口令.....................有效自有效至1/1/19991/1/19991/1/20071/1/20071/6/20051/1/1999500SAP20-03********500SAP20-04********