[BTP] Destination Service 입문 — On-Premise 시스템 연동 첫걸음
AI News
· 조회 1
![[BTP] Destination Service 입문 — On-Premise 시스템 연동 첫걸음](https://btpstacks.com/uploads/46fa7a59-a2d9-496a-8b39-b1f845385af9.png)
개요
SAP BTP의 Destination Service는 애플리케이션이 외부 시스템(On-Premise SAP, 클라우드 API 등)과 통신할 때 사용하는 연결 정보를 중앙에서 관리하는 서비스입니다. URL, 인증 정보, 프록시 설정 등을 코드에 하드코딩하지 않고 BTP Cockpit에서 선언적으로 관리할 수 있어, 보안과 유지보수 측면에서 권장되는 방식입니다.

핵심 개념
- Destination이란? — 이름(Name), URL, 인증 정보(Authentication), 프록시 타입(ProxyType)을 묶은 연결 설정 단위입니다. Subaccount 또는 Service Instance 레벨에서 관리할 수 있습니다.
- 인증 유형 4가지 —
NoAuthentication(인증 없음),BasicAuthentication(ID/PW),OAuth2ClientCredentials(M2M 인증),PrincipalPropagation(사용자 토큰 전달). On-Premise 시스템에는 일반적으로 BasicAuthentication 또는 PrincipalPropagation을 사용합니다. - ProxyType —
Internet(클라우드 API 호출)과OnPremise(Cloud Connector 경유)로 구분됩니다. On-Premise로 설정하면 Cloud Connector를 통해 내부 네트워크의 시스템에 접근합니다. - Cloud Connector — BTP와 On-Premise 시스템 간 암호화된 터널을 생성하는 리버스 프록시입니다. 내부 네트워크에 설치되며, BTP 쪽에서만 연결을 시작할 수 있는 보안 구조입니다.
코드 예제
BTP Cockpit에서 Destination을 생성하는 주요 설정값입니다.
# Destination 설정 예시 (BTP Cockpit → Connectivity → Destinations)
Name: S4HANA_ONPREM
Type: HTTP
URL: http://s4hana.mycompany.internal:8000/sap/opu/odata/sap/API_BUSINESS_PARTNER
ProxyType: OnPremise
Authentication: BasicAuthentication
User: BPUSER
Password: ********
# 추가 속성 (Additional Properties)
sap-client: 100
HTML5.DynamicDestination: true
WebIDEEnabled: true
WebIDEUsage: odata_gen
CAP Node.js 프로젝트에서 Destination을 소비하는 예제입니다.
// package.json - cds 설정
{
"cds": {
"requires": {
"S4HANA_BP": {
"kind": "odata-v2",
"model": "srv/external/API_BUSINESS_PARTNER",
"[production]": {
"credentials": {
"destination": "S4HANA_ONPREM",
"path": "/sap/opu/odata/sap/API_BUSINESS_PARTNER"
}
}
}
}
}
}
// srv/bp-service.js - CAP 핸들러에서 Remote Service 호출
const cds = require('@sap/cds');
module.exports = class BPService extends cds.ApplicationService {
async init() {
const S4 = await cds.connect.to('S4HANA_BP');
this.on('READ', 'BusinessPartners', async (req) => {
// Destination을 통해 On-Premise S/4HANA로 자동 라우팅
return S4.run(req.query);
});
await super.init();
}
};
실무 팁
- Destination 테스트 — BTP Cockpit에서 "Check Connection" 버튼으로 연결을 검증하세요. 200 OK가 아니면 Cloud Connector 로그(
ljs_trace.log)를 확인합니다. - 환경별 분리 —
mta.yaml에서destinations모듈을 사용하면 Dev/Stage/Prod 환경별로 다른 Destination을 자동 바인딩할 수 있습니다. - 보안 — Password를 Destination에 직접 입력하는 대신
OAuth2ClientCredentials+ Communication Arrangement을 사용하면 토큰 기반 인증으로 보안을 강화할 수 있습니다.

참고 자료
- SAP Tutorial: Create a Destination in the SAP BTP Cockpit
- SAP Help: Creating and Configuring a Destination
- SAP Cloud SDK: Destinations (JavaScript)
- SAP Learning: Using Destinations
- SAP Community: Connecting BTP and On-Premise via Cloud Connector
📌 본 게시물은 AI(Claude)가 공개된 자료를 기반으로 자동 생성한 콘텐츠입니다. 기술 내용의 정확성은 SAP 공식 문서 와 교차 확인하시기 바랍니다.
™ SAP, S/4HANA, ABAP, Fiori, SAP BTP 등은 SAP SE 또는 그 계열사의 등록 상표입니다. 본 사이트는 SAP SE 와 공식적인 관련이 없는 비공식 학습 자료 입니다.
📧 저작권 침해 / 오류 / 콘텐츠 신고: btpstacks.com 의 "문의" 메뉴를 이용해주세요.