逻辑视图
与 SAP NetWeaver AS ABAP 的硬件或软件视图不同,逻辑视图并不能将所有显示的组件分配给特定的硬件或软件单元。下图以框图形式展示了这种逻辑视图。
以下是 SAP NetWeaver AS ABAP 中三个逻辑组件的主要任务。
内核与管理服务
内核与管理服务组件提供了一个运行时环境,支持所有 ABAP 应用程序的运行,并且与硬件、操作系统及数据库无关。ABAP 运行时环境主要使用 C 和 C++ 语言编写,不过也有部分底层内容使用 ABAP 编写。该组件的主要任务包括:
-
运行应用程序:所有 ABAP 应用程序都在虚拟机(软件处理器)中运行。
-
用户与进程管理:NetWeaver AS ABAP 是一个多用户环境,每位用户可以同时运行多个独立的 ABAP 应用程序。该组件负责一些类似操作系统的任务。用户通过登录 SAP NetWeaver 应用服务器来运行 ABAP 应用程序,从而避免与主机的实际操作系统打交道。SAP NetWeaver AS ABAP 是主机操作系统唯一的使用者。
-
数据库访问:每个 SAP NetWeaver AS ABAP 系统都与一个数据库系统连接,该数据库系统包括数据库管理系统(DBMS)及数据库本身。ABAP 应用程序不会直接与数据库交互,而是通过管理服务来完成数据访问。
-
通信:ABAP 应用程序能够与其他 SAP 系统以及外部系统进行通信,外部系统也可以通过 BAPI 接口访问 ABAP 应用程序。与通信相关的服务都是内核与管理服务的一部分。
-
SAP NetWeaver AS ABAP 的控制与管理:该组件包含一系列程序,用于监控、控制 SAP NetWeaver 应用服务器的运行状态,并可以更改其运行参数。
ABAP 工作台
ABAP 工作台是一个功能齐全的开发环境,用于创建、编辑、测试及管理 ABAP 应用程序。它完全集成于 SAP NetWeaver AS ABAP 环境中,且本身也是使用 ABAP 编写的。
展示组件
展示组件负责处理 ABAP 应用程序与用户之间的交互,包括输入与输出操作。同时,它还负责将桌面组件(如文字处理及电子表格)集成到 SAP NetWeaver 应用服务器中。
软件视图
下图展示了 SAP 系统的面向软件的视图。在基于 ABAP 的 SAP 系统中,SAP NetWeaver AS ABAP 包含所有 SAP GUI 组件以及 ABAP 应用服务器。
SAP 系统采用多层客户端/服务器架构。各个软件组件按层次排列,依据其所处的位置,既可以作为下层组件的客户端,也可以作为上层组件的服务器。经典的 SAP 系统配置通常包含以下几个软件层次:
数据库层
数据库层由一个中央数据库系统组成,该系统包括数据库管理系统(DBMS)及数据库本身。该层不但存储 ABAP 应用程序的主数据及交易数据,还保存了所有 SAP NetWeaver AS ABAP 相关的数据。例如,数据库中存储了控制和定制数据,这些数据决定了 SAP NetWeaver AS 如何运行。此外,ABAP 应用程序本身的组件(如程序代码、屏幕定义、菜单、功能模块等)也存储在数据库中的“存储库”部分,并被称为存储库对象。这些对象可以在 ABAP 工作台中进行操作。
应用层
SAP NetWeaver AS ABAP 的应用层由一个或多个 ABAP 应用服务器以及消息服务器组成。每个应用服务器都提供了一组服务,用于支持 SAP NetWeaver 应用服务器的运行。
尽管理论上只需要一个应用服务器即可运行 SAP NetWeaver 应用服务器,但实际上,服务通常分布在多个应用服务器上。消息服务器负责各个应用服务器之间的通信,并维护应用服务器组的负载均衡信息。当用户登录系统时,消息服务器会选择负载最小的服务器为用户提供服务。
展示层
展示层是 SAP 系统与用户交互的接口。通过 SAP GUI(图形用户界面)组件,展示层为用户提供了一个直观的图形界面,用于数据的输入和显示。展示层将用户的输入传递给应用服务器,并从应用服务器接收并显示处理结果。SAP GUI 在运行期间与 SAP NetWeaver AS ABAP 的用户终端会话保持连接。
该软件视图可以扩展,以纳入其他层次,例如互联网事务服务器(ITS)。
软件视图与硬件视图
软件视图与硬件配置无关。系统层次及组件可以根据需求进行多种不同的硬件配置。例如,所有层次可以部署在一台主机上,或者可以将每一层分配到单独的主机上。组件的分布取决于所使用的数据库系统,应用层与展示层的组件可以分布在不同的主机上。此外,也可以在同一主机上运行多个 ABAP 应用服务器。常见的配置是在一台主机上运行数据库系统和一个包含特殊数据库服务的 ABAP 应用服务器,而其他应用服务器则运行在各自的主机上。展示层组件通常运行在用户的桌面计算机上。
多层架构的优势
将 SAP 系统分布在三层结构中,不仅有效地分散了系统负载,还提升了系统性能。更重要的是,系统具备高度的可扩展性,应用层中的 SAP NetWeaver AS ABAP 可以通过安装更多的 ABAP 应用服务器来应对不断增长的需求,几乎不受硬件限制。
这种架构允许将应用层和数据库层部署在不同的主机上,并通过网络进行通信。这极大地减轻了数据库系统的负担,而数据库系统是 SAP NetWeaver AS ABAP 的核心数据存储,对系统的运行有着极高的要求。
展示层与应用层的分离同样减轻了 ABAP 应用服务器的负担,避免将用户输入处理和数据输出格式化与程序的实际执行混为一谈。值得注意的是,SAP GUI 和 ABAP 应用服务器的设置方式,使得两层之间的数据传输量降至最低。因此,即便是在与应用服务器连接速度较慢的远程主机上,也可以有效运行展示层的组件。
用户视图
下图展示了 SAP GUI 用户对 SAP 系统的视角:
对于用户而言,SAP 系统的可见部分就是屏幕上显示的那些窗口。这些窗口由 SAP NetWeaver AS ABAP 的展示层生成。
用户在登录 SAP 系统之前,需要启动一个名为 SAP Logon 的 SAP GUI 工具,该工具安装在前端。通过 SAP Logon,用户可以选择一个可用的 SAP 系统。程序随后连接到所选 SAP 系统中的 SAP NetWeaver AS ABAP 的消息服务器,并获取一个合适的 ABAP 应用服务器的地址,随后启动与该服务器的连接。此后,SAP Logon 工具不再需要。
当用户成功登录后,SAP GUI 会在屏幕上显示系统的初始页面。每个 SAP GUI 窗口都代表一个会话。登录后,用户可以在同一个 SAP GUI 窗口中打开最多五个会话,这些会话几乎可以像独立的应用程序一样运行。不同会话可以同时运行各自的应用程序,互不干扰。
在一个会话中,用户可以运行会打开更多窗口的应用程序(如对话框和图形窗口)。这些窗口并不是独立的,而是属于调用它们的会话。这些窗口可以是模式的(原窗口不可操作)或非模式的(两个窗口均可操作,并可相互交互)。
用户还可以使用 SAP Logon 打开其他 SAP GUI,以登录同一个或不同的 SAP 系统。用户的 SAP GUI 与其相应的终端会话是完全独立的。用户可以在桌面计算机上同时打开多个 SAP GUI,分别代表多个 SAP 系统的展示层。
网友评论