BTP
SAP 생태계 이해하기: ABAP부터 S/4HANA까지
#SAP#ECC#S/4HANA
2025년 2월 23일
SAP의 ABAP, ECC, S/4HANA, Fiori, BTP 등 입문자에게 다소 생소할 수 있는 다양한 개념들을 차근차근 알아보겠습니다.
What's Inside
0. ERP
ERP (Enterprise Resource Planning) 시스템 :
기업의 자원을 계획하고 관리하는 데 필요한 통합 소프트웨어
SAP는 이 ERP 시스템을 지원하며, 다양한 모듈을 통해 기업의 여러 부서를 연결하고, 효율적인 데이터 관리를 도와줍니다.
1. ABAP
ABAP (Advanced Business Application Programming) :
SAP 시스템에서 비즈니스 애플리케이션을 개발하는 전용 프로그래밍 언어
중앙집중식 개발 환경으로 협업 & 안정성이 뛰어납니다.
대용량 데이터 처리에 강점을 갖고 있습니다.
2. SAP GUI vs. ADT
-
SAP GUI : 전통적인 인터페이스

-
ADT (ABAP Development Tools) : Eclipse 기반의 최신 개발 환경

3. SAP ECC
3.1. SAP ECC
SAP ECC (ERP Central Component) : 전통적인 ERP 시스템
ECC 환경에서는 ABAP이 주요 개발 언어로 사용됨
3.2. ECC에서의 주요 ABAP 개발 방식과 기능
- ALV (ABAP List Viewer) :
리포트나 리스트를 효과적으로 출력할 수 있게 도와주는 툴
ALV를 사용하면 정렬, 필터링, 출력 형식 설정 등의 기능을 쉽게 구현할 수 있습니다. - 리포트 (Reports) :
데이터 조회 및 출력을 위한 프로그램 - 스마트폼 (SmartForms) :
문서 출력을 관리하는 도구로, 전자문서 또는 출력 인쇄물을 디자인하고 생성하는 데 사용 - BADI (Business Add-Ins) :
SAP 시스템에서 기능을 확장하거나 커스터마이징할 때 사용되는 기술
SAP의 표준 기능을 변경하지 않고, 애플리케이션의 특정 부분을 사용자 정의할 수 있도록 해줍니다. - 유저 익스트 (User Exits) :
SAP 시스템 내에서 미리 정의된 특정 지점에 코드 조각을 삽입할 수 있게 해주는 기능
사용자 정의 로직을 삽입하여 표준 SAP 동작을 수정하지 않고도 필요한 작업을 수행할 수 있습니다.
4. SAP S/4HANA
4.1. SAP S/4HANA
- S : Simple (단순화된)
- 4 : 4th Generation (4세대)
- HANA : High-performance Analytic Appliance (고성능 분석 어플라이언스)
SAP HANA 데이터베이스 기반의 차세대 ERP 시스템으로, 실시간 데이터 처리와 인메모리 기술을 활용합니다.
4.2. ECC와 S/4HANA의 차이점
| 항목 | SAP ECC | SAP S/4HANA |
|---|---|---|
| 데이터베이스 | Any DB 지원 | HANA 전용 |
| 속도 | 전통적 DB 접근 | 인메모리 기반 초고속 처리 |
| UI | SAP GUI 중심 | Fiori 기반 UI |
| 개발 방식 | 전통적 ABAP 개발 | ABAP on HANA, CDS, RAP 활용 |
| 배포 방식 | 온프레미스(On-Premise) | 온프레미스, 클라우드(Private/Public) 모두 지원 |
4.3. S/4HANA 아키텍처
S/4HANA에서 CDS, RAP, Fiori, BTP의 유기적인 관계는 비즈니스 애플리케이션을 효율적으로 개발하고 운영하기 위해 상호 연관되어 있습니다.
S/4HANA 아키텍처의 요소들을 비즈니스 애플리케이션의 흐름에 맞게 정리하면,
- CDS에서 정의된 데이터 모델은 RAP에서 API로 처리되어 클라이언트 애플리케이션에 제공됩니다.
- RAP는 OData 프로토콜을 사용하여 Fiori 앱과 데이터를 주고받습니다.
- Fiori는 UI5를 사용하여 직관적이고 반응형 UI를 제공하며,
OData를 통해 RAP에서 제공되는 데이터를 사용자에게 표시합니다. - BTP는 이러한 모든 기술을 클라우드 환경에서 관리하고 최적화하여 효율적인 애플리케이션 개발 및 운영을 지원합니다.
5. 데이터 처리 및 API 관리
5.1. CDS
CDS (Core Data Services): 데이터 모델링 및 제공
역할 :
CDS는 고성능 데이터 처리와 최적화된 데이터 모델링을 제공하여,
FIORI와 RAP에서 사용할 수 있는 데이터를 효율적으로 준비하고 정의합니다.
CDS는 SQL 기반 데이터 모델을 쉽게 관리할 수 있게 하여 데이터를 중앙 집중식으로 다룹니다.
핵심 작업 :
데이터 모델 정의, 실시간 분석을 위한 뷰 생성, RAP와 FIORI에서 사용할 데이터를 제공합니다.
CDS 뷰의 특징
- 선언적 모델링 SQL보다 직관적으로 데이터를 정의할 수 있어 모델링 속도가 빨라지고 이해하기 쉬워집니다.
- 퍼포먼스 최적화
인메모리 기술(RAM에 저장 및 처리)을 활용하여 데이터 처리 속도가 매우 빠르고,
대용량 데이터 처리에서 성능을 극대화합니다. - 재사용성
여러 애플리케이션에서 동일한 CDS 뷰를 재사용할 수 있어
데이터 모델을 중앙집중식으로 관리하고 여러 시스템에서 일관되게 사용할 수 있습니다.
5.2. RAP
RAP (Restful ABAP Programming Model) : 비즈니스 로직 및 API 개발
역할 :
RAP는 CDS에서 정의한 데이터 모델을 바탕으로 RESTful API를 개발하여
비즈니스 로직을 처리하고 이를 클라우드 및 온프레미스 환경에서 실행합니다.
OData 프로토콜을 사용하여 Fiori와의 통신을 가능하게 합니다.
핵심 작업 :
CDS 데이터 모델을 기반으로, API 개발을 위한 최적화된 프로세스를 제공합니다.
OData 프로토콜을 통해 Fiori와 같은 프론트엔드 앱과 실시간으로 데이터를 주고받습니다.
RAP의 특징
- 클라우드 및 온프레미스 환경 지원 클라우드 환경에서 RESTful API를 효율적으로 개발하고 배포할 수 있습니다.
- 표준화된 API 개발
RAP는 API 개발을 위한 표준화된 방법론을 제공하여 개발자의 생산성을 높이고,
유지 보수를 용이하게 합니다. - 클라이언트-서버 데이터 전송 효율화
RAP는 OData를 통해 클라이언트와 서버 간의 데이터 전송을 최적화하여
실시간으로 데이터를 제공할 수 있습니다.
5.3. OData
OData (Open Data Protocol) :
HTTP 프로토콜을 기반으로
서버와 클라이언트 간 데이터 요청 및 응답을 표준화된 형식으로 처리하는 프로토콜입니다.
이를 통해 다양한 클라이언트 애플리케이션이 서버의 데이터를 쉽게 사용할 수 있습니다.
- RAP에서 제공하는 RESTful API는
OData 프로토콜을 사용하여 Fiori 앱과 데이터를 주고받습니다.
OData를 통해 클라이언트는 서버에서 필요한 데이터를 요청하고,
서버는 RAP에서 정의된 비즈니스 로직을 통해 데이터를 처리하여 응답합니다. - Fiori 앱은 OData를 사용하여 서버의 데이터를 실시간으로 가져오고,
Fiori UI에서 이를 시각적으로 표현합니다. - CDS 뷰는 OData 서비스를 통해 외부와 데이터를 연결하여
Fiori UI에 데이터를 표시하는 역할을 합니다.
6. 사용자 인터페이스
6.1. Fiori
Fiori : 사용자 인터페이스 (UI) 제공
역할 :
Fiori는 직관적이고 반응형 UI를 제공하여
사용자가 데이터를 시각적으로 보고 상호작용할 수 있도록 돕습니다.
RAP에서 제공하는 OData API를 통해 CDS에서 제공하는 데이터를 사용자에게 표시합니다.
핵심 작업 :
RAP에서 제공하는 OData API를 통해 CDS 데이터 모델을 사용자에게 반응형 UI로 제공합니다.
UI5는 Fiori UI를 구성하는 프레임워크로 사용됩니다.
Fiori의 특징
- 역할 기반 접근 사용자의 역할에 맞춰 필요한 기능만 제공하여, 불필요한 정보의 노출을 줄이고 사용자의 업무 효율성을 높입니다.
- 모듈화 및 재사용성 컴포넌트 기반 구조를 통해 코드 재사용 및 유지보수가 용이합니다.
- 데이터 바인딩 양방향 데이터 바인딩을 통해 실시간 데이터 동기화 및 최신 정보를 제공합니다.
6.2. UI5
UI5 : SAP의 웹 UI 프레임워크
역할 :
UI5는 Fiori UI를 구성하는 프레임워크로 사용되며,
HTML5, JavaScript, CSS 등을 사용하여 Fiori 앱의 사용자 인터페이스(UI)를 개발합니다.
핵심 작업 :
UI5는 Fiori 앱의 프론트엔드(UI)를 개발하는 데 사용되는 기술
UI5와 Fiori의 주요 차별점
- Fiori는 SAP에서 제공하는 사용자 인터페이스 디자인 원칙이자 UX (사용자 경험) 표준으로,
UI5는 이 디자인을 구현하는 기술적 프레임워크입니다. - Fiori는 사용자 경험(UX)을 최적화하기 위해 역할 기반 접근을 제공하고,
UI5는 이를 실현하는 기술적 기반을 제공합니다. - Fiori는 모바일 친화적이고 반응형 디자인을 채택한 앱 스타일을 정의하며,
UI5는 이를 실현하는 프론트엔드 기술로 사용됩니다.
7. 클라우드 기반 관리 및 최적화
7.1. BTP
BTP (Business Technology Platform) : 클라우드 기반 관리 및 최적화
역할 :
BTP는 Fiori, CDS, RAP 등 모든 요소를 클라우드 환경에서 관리하고 최적화하여
비즈니스 애플리케이션을 효율적으로 운영할 수 있도록 지원합니다.
SAP의 모든 서비스가 연결되도록 하는 중요한 허브 역할을 합니다.
핵심 작업 :
Fiori앱과 RAP API의 배포 및 관리,
CDS 데이터 모델링 최적화,
클라우드 환경에서의 애플리케이션 및 서비스 통합 및 최적화
BTP는 클라우드 기반의 확장성과 애플리케이션 성능 최적화를 지원합니다.
BTP의 특징
- AI 및 데이터 분석
인공지능과 데이터 분석을 통해 예측 분석 및 자동화된 의사결정을 지원 - 애플리케이션 개발
다양한 개발 프레임워크 및 언어 지원, 클라우드 환경에서 애플리케이션 개발 및 배포 가능 - 서비스 통합 및 자동화
SAP 시스템을 포함한 다양한 시스템 간 통합과 자동화를 통해 업무 효율성 향상
7.2. BTP와 ABAP 개발 연계
- ABAP 환경 통합
클라우드에서 ABAP 애플리케이션 개발 및 온프레미스와의 통합 - API 기반 개발
OData 등의 API 서비스를 통해 클라우드와 온프레미스 시스템 간 효율적 통신 - CAP 모델
CAP (Cloud Application Programming) 모델 다양한 프로그래밍 언어와 개발 도구로
클라우드 애플리케이션 개발 및 서드파티 시스템 연동 최적화 - 애플리케이션 확장성
개발자가 맞춤형 애플리케이션을 쉽게 확장하고, 변화하는 비즈니스 환경에 빠르게 적응
8. 모듈
SAP ECC와 S/4HANA 모두 다양한 모듈을 포함하고 있습니다.
각 모듈은 특정 비즈니스 기능을 처리합니다. 예를 들면,
- FI (Financial Accounting): 재무 회계 관리
- CO (Controlling): 관리 회계
- MM (Materials Management): 자재 관리
- SD (Sales and Distribution): 판매 및 유통 관리
- PP (Production Planning): 생산 계획
마무리
SAP ABAP은 기업의 핵심 ERP 시스템을 구축하고 확장하는 중요한 프로그래밍 언어로,
ECC에서 S/4HANA로의 전환을 통해 더욱 효율적이고 직관적인 시스템 환경이 마련되고 있습니다.
이렇게 개념들을 한 번에 정리해보니, 각 흐름과 역할에 대해 명확하게 이해할 수 있게 되었습니다.
앞으로 ABAP Dictionary, ALV, CDS 등 핵심 요소를 깊이 있게 탐구하는 포스팅으로 찾아뵙겠습니다!
최근 게시글
