*쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.
SAP Public Cloud 환경에서의 개발은 전통적인 On-Premise나 Private Cloud 환경과는 접근 방식이 다릅니다. SAP Public Cloud, 특히 SAP S/4HANA Cloud Public Edition은 SaaS(Software as a Service) 모델을 기반으로 하며, 표준화된 프로세스와 제한된 커스터마이징을 특징으로 합니다. 따라서 ABAP을 사용한 전통적인 개발은 제한되며, 대신 클라우드 네이티브 도구와 확장성(Extensibility) 프레임워크를 활용합니다. 아래에서 Public Cloud에서의 개발 방식과 ABAP의 역할에 대해 자세히 설명하겠습니다.
SAP Public Cloud에서의 개발 방식
SAP Public Cloud는 "Clean Core" 원칙을 따르며, 핵심 시스템을 수정하지 않고 표준 기능을 유지한 상태에서 필요한 기능을 확장하는 방식으로 개발이 진행됩니다. 이를 위해 두 가지 주요 확장 모델이 사용됩니다:
1. In-App Extensibility (앱 내 확장)
- 설명: SAP Fiori 기반의 도구를 사용하여 시스템 내부에서 간단한 사용자 정의를 수행합니다. 코드를 직접 작성하지 않고 설정(Configuration) 중심으로 진행됩니다.
- 주요 도구:
- Custom Fields and Logic: SAP Fiori 앱을 통해 표준 객체(예: 판매 오더, 구매 오더)에 사용자 정의 필드를 추가하고, 간단한 비즈니스 로직(BAdI 기반)을 작성합니다. 로직은 ABAP이 아닌 클라우드 친화적인 방식으로 제공됩니다.
- Custom Business Objects: 새로운 비즈니스 객체를 생성하여 데이터 저장 및 처리를 정의합니다.
- Custom CDS Views: Core Data Services(CDS)를 활용해 데이터 모델을 확장하고, 분석용 뷰를 생성합니다.
- 특징:
- 코딩은 최소화되며, 드래그앤드롭 인터페이스나 사전 정의된 템플릿을 사용합니다.
- SAP가 제공하는 표준 API와 통합됩니다.
- 업데이트 시 호환성이 보장됩니다.
2. Side-by-Side Extensibility (사이드바이사이드 확장)
- 설명: SAP Business Technology Platform(BTP)을 활용하여 Public Cloud 외부에서 복잡한 애플리케이션을 개발하고, 이를 S/4HANA Cloud와 통합합니다. 이 방식은 더 높은 유연성을 제공합니다.
- 주요 도구:
- SAP BTP: 클라우드 플랫폼으로, 개발 환경(Cloud Foundry 또는 Kyma), 데이터베이스(HANA), 통합 서비스 등을 제공합니다.
- CAP(Cloud Application Programming Model): Node.js, Java 등을 사용해 마이크로서비스 기반 애플리케이션을 개발합니다.
- SAP Integration Suite: Public Cloud와 외부 시스템 간 API 기반 통합을 구현합니다.
- SAP Fiori Elements: UI 개발을 위한 템플릿 기반 프레임워크입니다.
- 특징:
- 독립적인 애플리케이션을 개발하며, S/4HANA와 느슨한 결합(Loose Coupling)을 유지합니다.
- SAP가 제공하는 OData 서비스나 RESTful API를 통해 데이터에 접근합니다.
- 멀티 클라우드 환경(AWS, Azure, Google Cloud)에서 실행 가능합니다.
ABAP의 역할
SAP Public Cloud에서는 전통적인 ABAP 개발이 크게 제한됩니다. 이유는 다음과 같습니다:
- SaaS 모델의 제약: Public Cloud는 다중 테넌트 환경으로, 고객이 SAP 소스 코드를 수정하거나 ABAP 워크벤치(예: SE80)를 사용할 수 없습니다.
- Clean Core 원칙: 시스템 안정성과 업데이트 호환성을 위해 ABAP 기반의 직접적인 커스터마이징이 금지됩니다.
그러나 ABAP은 완전히 배제되지 않고, 특정 상황에서 제한적으로 활용됩니다:
- ABAP RESTful Application Programming Model (RAP): SAP BTP 환경에서 ABAP을 사용해 애플리케이션을 개발할 수 있습니다. 이는 Side-by-Side 확장의 일부로, Public Cloud와 통합되는 별도의 애플리케이션을 구축하는 데 사용됩니다.
- 예: RAP를 사용해 OData 서비스를 생성하고, Fiori UI와 연결.
- In-App 확장에서의 제한적 사용: Custom Logic에서 BAdI를 구현할 때 ABAP에 기반한 간단한 코드 작성이 가능하지만, 이는 SAP가 제공하는 사전 정의된 범위 내에서만 허용됩니다.
개발 프로세스 예시
- 요구사항 정의: 예를 들어, 판매 오더에 새로운 필드를 추가하고 특정 로직을 적용해야 한다고 가정합니다.
- In-App 확장:
- "Custom Fields and Logic" 앱에서 필드를 추가하고, BAdI를 통해 로직(예: 값 검증)을 작성합니다.
- 결과는 즉시 S/4HANA Cloud에 반영됩니다.
- Side-by-Side 확장:
- SAP BTP에서 CAP 모델로 새로운 서비스를 개발하고, S/4HANA의 OData API를 호출하여 데이터를 가져옵니다.
- Fiori Elements로 UI를 생성하고, BTP에 배포합니다.
- 테스트 및 배포: SAP가 제공하는 테스트 환경에서 검증 후, 프로덕션 환경에 적용합니다.
장단점
- 장점:
- 클라우드 네이티브 도구로 빠른 개발 가능.
- SAP 업데이트와 무관하게 확장이 유지됨.
- ABAP 외에 Java, Node.js 등 다양한 언어 사용 가능.
- 단점:
- ABAP 개발자에겐 학습 곡선 존재.
- 복잡한 커스터마이징은 BTP 의존도가 높아 추가 비용 발생.
- 직접적인 시스템 수정 불가로 유연성 제한.
결론
SAP Public Cloud에서의 개발은 ABAP 중심의 전통적인 방식 대신 In-App 및 Side-by-Side 확장 모델을 통해 진행됩니다. ABAP은 RAP와 같은 특정 영역에서만 제한적으로 사용되며, 주로 CAP, Fiori, BTP 기반의 클라우드 네이티브 개발이 주를 이룹니다. 이는 Public Cloud의 표준화와 안정성을 유지하면서도 필요한 기능을 확장할 수 있도록 설계된 접근 방식입니다. 기존 ABAP 개발 경험이 있다면 BTP에서의 RAP 활용을 시작점으로 삼아 전환을 고려할 수 있습니다.
*쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.