본문 바로가기
카테고리 없음

RAP 01 - ABAP RESTful 어플리케이션 프로그래밍 소개

by SAPortal 2026. 5. 22.
반응형

목차

    1.Evolution of the ABAP programming model

    ABAP Program Model의 진화과정에 대해 간단히 살펴보도록 하겠습니다.

    CLASSIC ABAP PROGRAMMING

    ABAP  7.4 이하에서 사용할수 있었던 UI는 Classic Dynpro, Web Dynpor ABAP, Floorplan Manager등이 있었습니다.

    HANA에 최적화된 7.4 release부터는 CDS가 도입되었고 SAP Gateway가 필수 구성요소가 되었습니다. 그리고 이때 UI5와 OData가 도입 되었습니다.

     

    ABAP PROGRAMMING MODEL FOR SAP FIORI

    ABAP 7.5 부터 도입된 이 모델은 Classic방식의 무거운 비즈니스 로직과 UI5간의 간극을 줄이기 위해 등장한 초기 Fiori 최적화 개발 모델입니다. 데이터 모델링은 CDS View를 중심으로 수행하며 비즈니스 로직과 트랜잭션 처리는 BOPF가 담당합니다.

    그리고 CDS View에 @OData.publish: true 어노테이션을 선언하여 OData 서비스를 자동생성하는 방식으로 발전했습니다.

    UI영역은 CDS View내에 UI 어노테이션을 직접 작성하여 화면을 구성하는 SAP Fiori Elements가 본격적으로 활용되기 시작했습니다. 

     

    ABAP RESTful PROGRAMMING MODEL

    SAP Cloud ABAP Environment 1808이상부터 도입되어 현재 클라우드 및 온프레미스의 표준이 된 최신 완성형 개발모델 입니다.

    기존 모델과 마찬가지로 CDS View를 데이터 모델링의 중심으로 사용하지만 비즈니스 로직 처리를 위해 Behavior Definition

    (BDEF)과 Behavior Implementation(CLASS)을 사용합니다. 그리고 데이터를 정의하는 영역과 이를 외부(UI)에 노출하는 영역을 완전히 분리했습니다. Service Definition으로 노출할 항목을 고르고 Service Binding을 통해 OData V2또는 OData V4 프로토콜 서비스를 손쉽게 발행합니다. SAP Fiori Elements 프레임워크와 완벽하게 결합되어 화면을 구성하는 UI어노테이션을 CDS View에 직접 추가하거나 Metadata Extension(MDE)에 추가하여 최소한의 프론트엔드 코딩으로 고성능 Fiori 앱을 개발할 수 있습니다.

     

    2.RAP Architecture Overview

    DATABASE

    모든 데이터가 실제로 저장되고 연산되는 물리적인 공간입니다. RAP는 SAP HANA 데이터베이스의 고속 연산 능력을 최대한 활용하도록 최적화 되어 있습니다.

     

    DOMAIN-SPECIFIC IMPLEMENTATION

    비즈니스의 데이터 구조와 핵심 로직을 정의하는 가장 중요한 백엔드 영역입니다.

    QUERIES: 데이터를 단순히 읽기(Read-only)만 하는 조회 중심의 데이터 모델입니다.

    BUSINESS OBJECTS : 트랜잭션(생성, 수정, 삭제)을 처리하는 핵심 단위입니다.

    • CDS(data modeling): 테이블간의 관계(Composition)을 맺어 비즈니스 데이터의 구조를 잡습니다.
    • BDEF(behavior definition): 데이터에 어떤 기능(CUD, Action등)이 가능한지 규칙을 정의합니다.
    • ABAP(behavior implementation): 정의된 규칙의 실제 비즈니스 로직 코드를 작성합니다.

     

    BUSINISS SERVICE EXPOSURE

    비즈니스 데이터를 외부에 공개할 범위 지정 및 어떤 프로토콜(Odata V2, V4등)로 내보낼지 결정하는 게이트웨이 입니다.

    • SERVICE DEFINITION: 어떤 데이터들을 외부로 노출할 것인지에 대한 범위를 지정합니다.
    • SERVICE BINDING: 노출할 데이터를 어떤 통신 프로토콜(OData V2, V4등)과 시나리오(UI용, API용)로 연동할 것인지 결정하고 활성화 합니다.
    • EVENT BINDING: 비즈니스 이벤트를 SAP의 이벤트 인프라와 매핑하여 외부 메시징 시스템으로 던져주는 역할을 합니다.

     

    APP(최상단 소비자 레이어)

    최종 사용자가 마주하는 서비스 레이어입니다.

    서비스 바인딩을 통해 만들어진 OData를 받아 Fiori 화면(Fiori element등)을 띄웁니다.

     

     

    RAP에 대해 간단하게 살펴봤습니다.

    다음시간 부터는 가장 간단한 APP을 만들어 보면서 RAP에 대해 하나씩 학습해 보겠습니다.

    서버는 SAP BTP Trial Cockpit을 사용하도록 하겠습니다. 검색하셔서 계정 생성하시면 될 것 같습니다.

    개발Tool은 Eclipse를 사용합니다. Eclipse설치방법도 검색해 보시면 금방 찾을 수 있습니다.

     

    모든 준비가 되셨다면 이제 출발해 보겠습니다.

    반응형