SAP·ABAP/RAP

SAP RAP의 개요 (RAP 전체의 구조와 기본 개념)

SEO_Joon 2025. 10. 21. 13:41

💡 RAP란 무엇인가?

RAP (Restful ABAP Programming Model)
ABAP 환경에서 Fiori 앱이나 OData 서비스를 표준화된 방식으로 개발하기 위한 프레임워크입니다.

👉 즉, ABAP 개발자가 OData REST 서비스와 Fiori UI를 쉽게 만들 수 있도록 하는 모델이죠.

SAP가 기존의 BOPF + SEGW + Gateway + CDS 조합을 통합하고,
클라우드 환경(BTP ABAP Environment)에도 맞게 설계한 **“차세대 ABAP 개발 모델”**입니다.


🧩 RAP의 구성요소 (4단 구조)
RAP는 크게 4개의 계층(Layer)으로 구성돼 있습니다.

계층 구성요소 역할 요약
1. Data Model Layer CDS View Entity 데이터 구조 및 관계 정의
2. Behavior Layer Behavior Definition / Implementation 비즈니스 로직(Validation, Action 등) 정의
3. Projection Layer Projection View + Behavior Projection 외부로 노출할 데이터 구조 제한/조정
4. Service Layer Service Definition / Binding 실제로 OData 서비스로 공개


🔍 핵심 포인트
CDS가 “데이터의 모양”을 만들고, Behavior가 “동작(로직)”을 정의한다.
그걸 Service로 외부(Fiori, Postman 등)에 노출한다.


🏗️ RAP의 기본 구조 흐름
[테이블] → [CDS View Entity] → [Behavior Definition & Impl] → [Projection View] → [Service Definition & Binding] → [OData 서비스 호출]

예시로 보면
1. Table을 만든다.
2. Table을 기반으로 CDS View Entity를 정의한다.

3. Behavior Definition에서 'create, update, delete' 등을 지정한다.

4. Behavior Implementation에서 로직을 구현한다.

5. Service Definition으로 노출한다.

6. Fiori 또는 Postman으로 CRUD를 테스트한다. 


⚙️ RAP의 실행 모델 (Managed vs Unmanaged)

RAP에는 두 가지 개발 방식이 있습니다.

구분 Managed Unmanaged
데이터 관리 책임 프레임워크(RAP)가 관리 개발자가 직접 관리
DB 연동 방식 CDS 기반 자동 처리 기존의 Custom Logic 필요
사용 예시 신규 개발, 표준 CRUD 기존 레거시 테이블, 복잡한 비즈니스 로직
장점 코드 간결, 생산성 높음 유연성 높음
단점 제약 많음 코드 작성량 많음

Managed는 “자동차 자동변속기” 로 비유
Unmanaged는 “수동변속기” 로 비유

 

 

🔄 RAP와 BOPF의 차이

구분 BOPF (과거) RAP (현재)
아키텍처 ABAP on-prem 전용 클라우드 + 온프레미스 지원
데이터 모델 Separate BO Model Object CDS 기반 통합 모델
서비스 개발 SEGW(Gateway Builder) 필요 CDS + Behavior로 자동 생성
개발 복잡도 높음 (BOPF, Gateway, CDS 별도 관리) 낮음 (하나의 모델에서 일관성 있게)
표준화 수준 제한적 OData V4 완전 지원

 

🌐 OData V2 vs V4 (RAP는 V4 중심)

구분 OData V2 OData V4
지원 시스템 S/4HANA 1909 이하 S/4HANA 1909 이상, BTP
성능 낮음 개선됨 (Batch, Metadata)
RAP 호환성 제한적 완전 호환
주요 특징 SEGW 기반 RAP CDS 기반 자동 생성

RAP는 OData V4를 기본으로 설계되었기 때문에
“Service Binding”에서 V4 타입으로 바인딩하는 게 일반적이라고 합니다.

 

🧠 RAP의 철학 (핵심 키워드)

키워드 의미
Declarative Programming 로직을 명령형으로 작성하지 않고, 선언적으로 정의 (CDS, Behavior Definition 중심)
Separation of Concern 데이터, 로직, 서비스 계층 분리
Cloud Ready BTP ABAP 환경에서도 동일한 방식으로 개발 가능
Reusability CDS 및 Behavior를 여러 서비스에서 재활용 가능
Consistency 표준화된 OData CRUD + Transaction 관리 지원

 

이번 게시물에선 RAP 전체의 구조와 기본 개념 에 대하여 살펴보았습니다.

 

다음은 “RAP의 핵심 구성요소별 역할과 문법 구조 - CDS View Entity 구조” 에 대해서 살펴보겠습니다.

작은 정보가 모여 큰 도움이 되길 바랍니다.
[SEO_Joon]은 앞으로도 유용한 정보를 전해드리겠습니다. 읽어주셔서 감사합니다 🙌

'SAP·ABAP > RAP' 카테고리의 다른 글

RAP Data Model — CDS View Entity  (0) 2025.11.04