BTP

[BTP] Destination Service 입문 — On-Premise 시스템 연동 첫걸음

▶ YouTube에서 보기

[BTP] Destination Service 입문 — On-Premise 시스템 연동 첫걸음

Moderator · 2026. 4. 23. · 조회 8

[BTP] Destination Service 입문 — On-Premise 시스템 연동 첫걸음

Moderator · 2026. 4. 23. · 조회 8

[BTP] Destination Service 입문 — On-Premise 시스템 연동 첫걸음

개요

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을 사용합니다.
  • ProxyTypeInternet(클라우드 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을 사용하면 토큰 기반 인증으로 보안을 강화할 수 있습니다.

자세한 내용은 본문에서

더 읽어볼 자료


⚠️ 비공식 콘텐츠 안내

본 게시글은 btpstacks.com의 독립 학습 콘텐츠이며 SAP SE와 무관합니다. 공식 문서는 help.sap.com을 참고하세요.

SAP, ABAP, SAP BTP, SAPUI5, SAP Fiori는 독일 및 기타 국가에서 SAP SE의 상표 또는 등록상표입니다.

댓글 0

아직 댓글이 없습니다.