피드로 돌아가기
Kyma Eventing & S/4HANA Extension Patterns
Dev.toDev.to
Backend

SAP가 Side-by-Side 확장 모델과 Kyma Eventing을 도입하여 S/4HANA 코어 유지보수 중단 없이 이벤트 기반 외부 마이크로서비스 확장 구현

Kyma Eventing & S/4HANA Extension Patterns

Aliaksandr Tsviatkou2026년 3월 26일9intermediate

Context

S/4HANA의 커스텀 코드 삽입은 업그레이드를 차단하고 라이프사이클 관리를 복잡하게 만든다. 기존 in-line 확장 방식으로는 표준 비즈니스 로직 업데이트와 커스텀 로직 배포를 독립적으로 수행할 수 없다.

Technical Solution

  • S/4HANA 코어를 수정하지 않고 Kyma Runtime에서 커스텀 로직 구현: Released API와 Business Event를 통한 느슨한 결합
  • S/4HANA에서 발행한 Business Event(BP Changed, Sales Order Created 등)를 SAP Event Mesh를 거쳐 CloudEvent 형식으로 Kyma 구독자에게 전달
  • 이벤트 페이로드가 최소한의 데이터(주로 엔티티 키만)를 포함하므로, 이벤트 핸들러는 필요시 S/4HANA Released API를 동기 호출로 전체 데이터 조회
  • Idempotency 구현으로 중복 전달된 이벤트 처리: Event ID 저장소 체크 및 타임스탐프 기반 stale event 탐지
  • 이벤트 순서 보장 및 DLQ(Dead Letter Queue) + Retry 패턴으로 견고성 확보

Key Takeaway

S/4HANA 같은 ERP 시스템 확장 시 in-line 수정 대신 Event-Driven Architecture로 외부 마이크로서비스를 구축하면 코어 라이프사이클과 확장 라이프사이클을 완전히 독립적으로 운영할 수 있다. 이벤트 핸디러의 Idempotency와 timestamp 기반 순서 검증은 분산 환경에서 필수적인 안정성 패턴이다.


S/4HANA와 연동하는 마이크로서비스 개발 팀은 Business Event 구독 시 이벤트 페이로드의 최소성을 고려하여 핸들러 내에서 Released API 동기 호출을 반드시 구현해야 한다. Idempotent key(Event ID)를 데이터베이스에 기록하고, lastChanged 타임스탐프를 비교하여 stale event를 필터링하면 중복 처리 및 순서 어긋남 문제를 방지할 수 있다. Event Handler를 bounded context별로 분리하고 각각 독립적인 subscriptions와 배포 라이프사이클을 부여하면 모놀리식 확장의 위험을 제거할 수 있다.

원문 읽기