系统架构与 ABAP 程序流程 (★★★★)

系统架构与 ABAP 程序流程 (★★★★)

#abap #abap-architecture

概览表

Layer (层) Role (角色) Key Point (要点)
数据库层 RDBMS 数据管理 存储应用数据 + 程序 + 元数据
应用服务器 ABAP 程序执行 程序在此运行
表示服务器 用户界面 (SAP GUI) 用户交互

三层架构

SAP NetWeaver AS 采用面向软件的客户端/服务器架构,分为三个层次:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌─────────────────────┐
│ 表示服务器 │ SAP GUI(用户界面)
│ (多个客户端) │
└──────────┬──────────┘

┌──────────┴──────────┐
│ 应用服务器 │ ABAP 程序在此执行
│ (可以有多个) │ 调度器 → 工作进程
└──────────┬──────────┘

┌──────────┴──────────┐
│ 数据库层 │ RDBMS(数据 + 程序 + 元数据)
│ (单个实例) │
└─────────────────────┘
  • 垂直扩展:所有层在一台机器上,或分布在不同机器上
  • 水平扩展:表示服务器和应用服务器可以分布在多台机器上
  • 数据库:水平分布取决于数据库类型

ABAP 程序执行流程

1
2
3
4
5
6
7
1. 用户输入数据 → 表示服务器
2. ABAP 程序启动 → 应用服务器
3. 调用复用单元 → 将数据传递给被调用程序
4. 数据库读取 → 向数据库发送 SQL 请求
5. 数据库返回数据 → 放入结构体(数据对象)
6. 复用单元返回 → 控制权回到调用程序
7. 列表输出 → 运行时系统将屏幕发送到表示层
💡核心概念
ABAP 程序在应用服务器上处理。用户对话和数据库访问的设计是编写应用程序时的主要关注点。

关键术语

Term (术语) Definition (定义)
RDBMS 关系型数据库管理系统
Repository (仓库) 所有开发对象的跨客户端存储
Dispatcher (调度器) 将用户请求路由到可用的工作进程
Work Process (工作进程) 在应用服务器上执行 ABAP 程序
Runtime System (运行时系统) 管理 ABAP 程序的执行

考试/测试模式

Scenario/Keyword (场景/关键词) Answer (答案)
“ABAP 程序在哪里运行?” 应用服务器层
“仓库是特定客户端的吗?” 否——始终跨客户端
“所有层可以在一台计算机上吗?” 可以——垂直分布

相关笔记