릴리스된 API 탐색

Objective

After completing this lesson, you will be able to 릴리스된 API의 다양한 유형을 살펴봅니다.

SAP S/4HANA Cloud 비즈니스 API, 익스텐션 지점 및 이벤트

릴리스된 API: 로컬 ABAP 플랫폼 API

로컬 ABAP 플랫폼 API는 SAP S/4HANA Cloud와 SAP BTP, ABAP 환경 간에 동기화됩니다.

1단원 2단원 'Clean Core 접근법 소개'에서 언급했듯이, Clean Core 개념의 가장 중요한 부분 중 하나는 SAP S/4HANA Cloud에서 업그레이드 안정적인 인터페이스를 사용하는 것입니다. 이를 통해 소프트웨어 업데이트에 기여하여 적용 시 중단 없이 원활하고 쉽게 업데이트할 수 있습니다.

이러한 이점을 활용하기 위해 SAP와 고객은 서로 협력합니다. SAP에서는 여러 가지 유형으로 구성된 공개 릴리스 인터페이스를 제공합니다. 또한 SAP에서는 고객이 안심하고 사용할 수 있도록 릴리스부터 릴리스까지 이러한 인터페이스의 안정성을 보장합니다. 고객 측에서는 신규 개발(고객이 생성한 아티팩트)과 확장 개발(확장 구현) 모두에서 공개된 인터페이스만 사용하는 것에 고객이 동의하게 됩니다. 실제로 이는 ABAP Cloud 개발 모델의 일부인 Eclipse용 ABAP 개발 툴에서 구문 점검과 ABAP 테스트 콕피트 점검을 통해 시행되며, 이에 대한 구체적인 내용은 다음 단원에서 다룹니다.

이러한 릴리스된 인터페이스는 여러 소스에서 나옵니다. 첫 번째는 SAP BTP, ABAP 환경 및 SAP S/4HANA Cloud, ABAP 환경에서 사용 가능한 ABAP 플랫폼 클라우드입니다. 일반적으로 로컬 ABAP 플랫폼 API라고 합니다. 두 제품이 동일한 ABAP 플랫폼 클라우드 코드 라인을 사용하므로 릴리스된 SAP 오브젝트(예: 데이터 요소)를 두 위치에서 모두 사용할 수 있습니다. 이렇게 하면 개발자가 코드를 어디에 속해야 한다고 느끼는지, 아니면 두 곳 모두에서 선호하는 접근 방식이라고 느낄 수 있습니다.

클라우드 네이티브 세계에서는 특정 SAP 오브젝트가 적합하지 않을 수 있다는 것을 인식하여 SAP는 이러한 오브젝트를 더 클라우드 설계 동등한 오브젝트로 체계적으로 대체했습니다.

SAP S/4HANA Cloud 비즈니스 API

원격 API, 로컬 API 및 로컬 확장 지점은 SAP S/4HANA Cloud에서 사용할 수 있는 다양한 공개 릴리스 인터페이스 유형입니다.

원격 사용

SAP S/4HANA Cloud에서는 몇 가지 공개 릴리스 인터페이스를 사용할 수 있으며 이를 목적에 따라 이해할 수 있습니다.

첫 번째 목적은 원격(SAP S/4HANA Cloud가 아닌) 소스(예: SAP BTP에서 실행되는 사용자 정의 어플리케이션)에서 사용하기 위한 인터페이스입니다. 이러한 인터페이스(일반적으로 원격 API라고 함)는 SOAP 서비스뿐만 아니라 ABAP RESTful 어플리케이션 프로그래밍 모델을 사용하여 생성된 OData 서비스일 수 있습니다. 어플리케이션 개발 시 SAP Fiori 및 SAP Build Apps에서 OData 서비스를 사용하는 방법을 살펴보았습니다. 이 두 가지 시나리오 모두 어플리케이션에서 직접 시작된 직접 호출 시나리오(동기)였습니다. 하지만 많은 어플리케이션이 비동기(간접 호출 시나리오)로 설계되었습니다. 비동기 시나리오에서는 직접 통신하는 대신 발신자와 수신자가 미들웨어 브로커를 사용하여 정보를 메시지로 교환합니다. SAP Integration Suite 내의 기능인 클라우드 통합은 SAP BTP에서 실행되는 서비스로서, 이러한 유형의 시나리오에서 사용하도록 특별히 설계되었습니다. 개발자가 각각 OData와 SOAP 서비스를 활용할 수 있도록 OData와 SOAP 어댑터가 모두 제공됩니다.

이벤트

SAP BTP의 일부로 제공되는 또 다른 서비스는 SAP Event Mesh입니다. 이 서비스를 사용하면 어플리케이션이 비동기 이벤트를 통해 서로 통신할 수 있습니다. 이러한 유형의 통신을 통해 이벤트 중심 비즈니스 프로세스를 설계할 수 있습니다. 이벤트 중심 아키텍처를 사용하면 이벤트를 발생시키는 이벤트 프로바이더와 이벤트에 대한 통지를 받고 그에 따라 반응하는 이벤트 컨슈머가 있습니다. SAP Event Mesh는 프로바이더와 컨슈머 간의 "접착제" 역할을 합니다. ABAP RESTful 어플리케이션 프로그래밍 모델은 즉시 사용 가능한 이벤트 중심 디자인을 지원하며 ABAP RESTful 어플리케이션 프로그래밍 모델 BO는 디자인 시나리오에 따라 프로바이더 또는 컨슈머 역할을 할 수 있습니다.

로컬 소비

두 번째 목적은 로컬에서(즉, SAP S/4HANA Cloud 기반) 사용하기 위한 인터페이스입니다. 이러한 인터페이스를 사용하면 ABAP RESTful 어플리케이션 프로그래밍 모델 또는 BAdI 구현을 사용하여 빌드된 사용자 정의 어플리케이션의 형태를 취할 수 있습니다. 개발자는 이러한 사용을 설계할 때 클래스와 CDS 뷰를 사용하여 SAP S/4HANA Cloud 기능에 쉽게 액세스할 수 있습니다. 이러한 로컬 인터페이스를 일반적으로 로컬 API라고 합니다. 간단한 로컬 API 예제를 사용하기 위해 일반적으로 개발자가 국가 테이블에 액세스해야 하는 경우 테이블 T005에서 직접 데이터를 선택합니다. 그러나 이 데이터에 액세스할 수 있는 로컬 CDS 뷰 "I_country"가 있습니다(릴리스되어 릴리스됨).

로컬 익스텐션 지점

마지막으로, 확장 목적(로컬 확장 지점)에 사용되는 인터페이스가 있습니다. 로컬 API와 마찬가지로 이러한 확장 지점은 SAP S/4HANA Cloud에 있으며 개발자는 확장 구현을 생성합니다. SAP R/3 4.6(c)에서 처음 도입된 BAdI는 SAP S/4HANA Cloud에서 사용할 수 있으며 ABAP RESTful 어플리케이션 프로그래밍 모델은 ABAP Cloud에서 사용되는 기본 프로그래밍 모델입니다. 확장성 모델도 설계되었으며 개발자가 사용할 수 있습니다.

Eclipse의 ABAP 개발 툴에서 사용할 수 있는 릴리스된 오브젝트 트리에는 사용 가능한 릴리스된 모든 오브젝트가 표시됩니다.

로컬 및 원격 공용 API와 SAP S/4HANA Cloud의 로컬 확장 지점은 모두 SAP Business Accelerator Hub를 사용하여 볼 수 있으며 검색 목적으로 계속 사용할 수 있습니다. 그러나 Eclipse용 ABAP 개발 툴에는 릴리스된 오브젝트 뷰가 있습니다. 이 뷰에는 ABAP Cloud 개발에서 사용할 수 있도록 특별히 릴리스된 기능이 개발자에게 표시됩니다. SAP Business Accelerator Hub는 원격 API, 이벤트, CDS 뷰, ABAP RESTful 어플리케이션 프로그래밍 모델 BO 인터페이스 및 BAdI를 표시하는 반면, 릴리스된 오브젝트 뷰에는 데이터 요소, 권한 오브젝트, CDS 뷰 등 개발을 위해 릴리스된 추가 오브젝트가 표시됩니다.

Eclipse용 ABAP 개발 툴에서 서로 다르지만 밀접한 관련이 있는 기능은 릴리스되지 않은 API의 사용을 감지하고, 적절한 교체가 가능한 경우, 사용할 대체를 제안하는 구문 오류 메시지를 표시하는 기능입니다. 예를 들어 테이블 T005(국가)가 릴리스되지 않았습니다. 그러나 대체 CDS 뷰 I_COUNTRY를 사용할 수 있습니다. 테이블 T005에 액세스하면 다음 메시지와 함께 구문 오류가 발생합니다.

테이블 T005의 사용은 허용되지 않습니다. 대신 CDS 엔티티 I_COUNTRY를 사용하십시오.

SAP Business Accelerator Hub 사용

Eclipse용 ABAP 개발 툴에서 SAP 릴리스 API 뷰 사용