系统架构与 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 程序在哪里运行?” |
应用服务器层 |
| “仓库是特定客户端的吗?” |
否——始终跨客户端 |
| “所有层可以在一台计算机上吗?” |
可以——垂直分布 |
相关笔记