본문 바로가기

SAP Story

OData 기초 - Data Entity ( Data Model )


Agenda
  1. SEGW Gateway Service Builder 
  2. Data Modeling
  3. Action Based
  4. Redefine Data Provider
  5. OData Service Implementation
  6. Test and Debug by Gateway Client
  7. Meet front-end Service

Data Entity - 모델링의 시작

SAP S4 HANA 의 가장 큰 특징 중 하나가 데이터 모델의 활용도가 많아 졌다는 점이다.
데이터베이스 모델링 - HANA Native CDS, Information View 및 Stored Procedure 에 의한 데이터 모델에서부터 BOPF, SADL 및 ABAP CDS, RFC 등으로 시작되는 비즈니스 모델까지 다양한 소스가 Gateway Service 의 데이터 모델의 Data Entity 로 사용될 수 있다. 

[ 게이트웨이 서비스 빌더에서 데이터 모델 ]

데이터 모델을 비즈니스 애플리케이션 관점에서  " 업무 처리에 대한 접근과 흐름 및 관계를 설명하는 모형 " 으로 나름대로 정의해 볼 수 있다.
예컨대 거래처 리스트를 활용하여 가격,수량,일정을 상세하게 검토 후 견적을 의뢰하는 업무의 엔티티는 거래처, 자재, 가격, 견적 이라 볼 수 있고 이에 대한 접근과 흐름 및 관계를 디자인 하는 일련의 구성을 데이터 모델이라 할 수 있다. 지금까지 SAP Project 에서는 보통 위와 같은 데이터 모델은 개별적인 절차적 정의에 머물러 있다고 해도 과언이 아닌데 (폄하하는 것은 아니다) 업무 흐름이 중요했고 이를 뒷받침하는 애플리케이션은 그다지 성숙하지 않아도 처리에 지장을 거의 주지 않았기 때문이다.

각설하고, 게이트웨이 서비스에서 데이터 모델의 엔티티의 종류는 다음과 같다.

Data Entity 
  • ABAP DDIC : Table, Structure
  • RFC Function Module
  • BOR (BOPF)
  • ABAP CDS ( SADL Based )
  • Include OData Serivce

전통적인 SAP ERP Project 에서 특히 ABAP 기반에서 데이터 모델 과 그 구성인 엔티티를 ( 우리는 이런 용어를 자주 쓰지는 않았다 ) 보면 선언부의 DDIC 참조는 쉽게 와닿는데 펑션 자체가 엔티티가 될 수 있다는 점을 주목해보면 "모델"은 단순히 필드를 나열한 구조체에 국한되지 않는다는 점이다. "접근성, 흐름, 처리 및 관계"를 디자인하여 모델로 구성하는 하나의 항목 다시말해 "Data Entity"를 구성하는 것이 OData 의 데이터 측면의 전부라 해도 과언이 아니다. 

어떤 엔티티가 유행할 것인가 ? 

RFC 는 매우 유력하다 ( BAPI 가 곧 데이터 모델의 엔티티로 사용될 수 있다 )
S4 HANA 에서 반드시 사용되는 CDS 그 뜻 그대로 Core Data Service 이므로 RFC 에 뒤지지 않을 것이다.
이 둘은 대부분의 차세대 프로젝트에서 가장 많은 템플릿을 양산할 것이다.

<예시> BAPI 를 활용한 데이터 모델링 ( BAPI_EPM_SO_GET_LIST )


스탠다드 비즈니스 앱의 OData 은 ABAP backend base에서 BOPF (Business Object Processing Framework), SADL(Service Adaptation Description Language)을 사용한 데이터 모델이 주류를 이룬다. 

BOPF - SADL - GW - UI5(firoi) 로 이어지는 빌드업(?) 이 특징이다. 

추후에 데이터 엔티티에 대한 별도의 연재를 해볼까 한다.

엔티티 구성에 관련된 실습은 아래 레퍼런스 사이트를 참조하길 권장한다.
중요한 것은 관행적으로 내재된 데이터 모델을 밖으로 끄집어 내어 약간은 고차원을 추구하는 형태가 되어야 한다는 점이다.

SEGW 는 이런 면에서 괜찮은 개념을 가진 툴이다.
데이터 모델을 구성하는 훈련이 GW 의 시작과 끝이다.


Reference