ABAP Cloud 살펴보기

Objective

After completing this lesson, you will be able to aBAP Cloud의 고유한 기능을 평가합니다.

ABAP Cloud 개발 모델의 특징

ABAP Classic에서 ABAP Cloud 개발 모델로

ABAP 클라우드 컴포넌트

지금까지 진행되는 과정 전체에서 SAP는 변화하는 고객 요구에 따라 쉽게 조정할 수 있는 유연한 어플리케이션을 필요로 하는 기업이 매우 중요하다는 점을 반복해서 언급했습니다. SAP S/4HANA Cloud는 이러한 요구사항을 충족하는 제품이며 Clean Core 확장성은 이러한 유연성을 지원하는 원칙입니다. 이전 소단원에서는 클라우드 컴퓨팅이 어플리케이션 개발 및 운영을 위한 플랫폼이 되는 데 있어 핵심적인 역할을 수행해 왔습니다. 이 소단원에서는 클라우드 컴퓨팅이 애플리케이션 개발 및 유지보수에 대한 다른 접근 방식, 즉 클라우드 네이티브로 어떻게 발전하게 되었는지도 살펴보았습니다. 마지막으로, 이 소단원에서는 클라우드 네이티브 REST API의 한 가지 특정 측면이 성공의 핵심임을 확인했습니다.

혁명이 아닌 진화

클라우드 컴퓨팅, 클라우드 네이티브, REST와 Clean Core 확장성 원칙이 등장함에 따라 개발자들이 수년간 사용해 온 ABAP 언어 및 ABAP 개발 모델의 진화가 필요해졌습니다. 다행히 ABAP은 변화하는 기술과 요구사항을 기반으로 진화할 수 있습니다. ABAP 4세대 프로그래밍 언어(1980년대)의 초창기에는 주로 SAP R/2 플랫폼에서 보고서를 작성하는 데 사용되었습니다. (1990년대에) SAP R/3가 등장하면서 SAP와 고객이 프로그램 및 확장을 생성하는 데 사용할 수 있도록 언어가 확장되었습니다. 서비스 팩에서 릴리스 업그레이드에 대한 인핸스먼트 팩을 통해 ABAP 언어는 현재 필요한 사항을 충족하도록 지속적으로 발전하고 있습니다. 클라우드 컴퓨팅으로의 전환은 근본적인 변화였지만, 그럼에도 불구하고, ABAP에 대한 SAP의 전략은 "혁명이 아닌 진화"를 중심으로 합니다. 즉, 클라우드 컴퓨팅에 적응하기 위해 ABAP에 이루어진 변경은 정확하고 제어되고, 잘 생각되고, 점진적으로 이루어졌습니다. 가장 중요한 점은 고객의 요구는 항상 가장 중요했습니다.

ABAP의 이전 진화

이 시점에서 클라우드 컴퓨팅에서 필요한 ABAP 변경사항을 살펴보기 전에 패러다임 전환에 따라 ABAP이 진화해야 했던 이전 상황을 잠시 살펴볼 필요가 있습니다. 이는 1990년대에 주류 사용에 도달한 객체 지향 개념의 출현일 것이다. 그때까지 ABAP 언어는 본질적으로 절차적이었습니다. 객체 지향 개념을 지원하는 ABAP의 필요성이 뚜렷해지면 개발자가 이러한 개념을 구현할 수 있도록 몇 가지 키워드가 언어에 추가되었습니다. 이러한 키워드는 고객 시스템에서 기존 ABAP 코드를 인식하고 존중하는 동시에 ABAP 언어를 진화시킬 수 있도록 신중하게 구성되어 있어 고객의 혼란이 최소화되었습니다. 따라서 ABAP 개발자는 절차 지향 코드와 객체 지향 코드를 모두 작성할 수 있고 주어진 태스크에서 둘 사이의 적절한 균형을 결정할 수 있는 유연성을 갖게 되었습니다. 예를 들어, 회사에서 특정 일자를 기준으로 하는 모든 ABAP 커스텀 코드 오브젝트의 90%를 갖는다는 목표를 설정한 경우 "하향식" 방식으로 부과되는 것과 달리 원하는 속도로 이 목표를 달성할 수 있습니다. 이 마지막 요점은 중요합니다. ABAP은 일반적으로 "이전 버전과 호환"되도록 항상 진화했습니다. 이는 일반적으로 변경이 예상만 가능함을 의미합니다. 기존 코드를 반드시 새로운 ABAP 표준 또는 기능에 맞게 조정할 필요는 없습니다. 개발자는 프로젝트 개발에서 앞으로 새로운 기능을 사용하기만 하면 됩니다.

ABAP 클라우드 개발 모델(ABAP Cloud)

클라우드 컴퓨팅, 클라우드 네이티브 및 REST의 출현과 광범위한 사용으로 인해 ABAP이 진화해야 하는 또 다른 필요성이 대두되었습니다. 이 요구사항은 ABAP Cloud 개발 모델(ABAP Cloud)에서 자체 등장했습니다. ABAP 클라우드의 다양한 측면과 빌딩 블록은 클라우드 네이티브 환경에 ABAP 개발자가 필요로 하는 모든 것을 갖추고 있습니다. ABAP Cloud의 주요 기능은 다음과 같습니다.

  • 클라우드 네이티브 언어: 클라우드 개발을 위한 ABAP – 클라우드에 최적화된 ABAP 언어 버전
  • 클라우드 네이티브 프로그래밍 모델: ABAP RESTful 어플리케이션 프로그래밍 모델 및 ABAP 분석
  • ABAP 플랫폼의 일부인 PaaS(Platform as a Service) 기능: 재사용 서비스, ID 및 액세스 관리, 연결
  • 통합 SAP S/4HANA Cloud 기능: 비즈니스 API, 확장 지점 및 이벤트
  • 툴: 통합 개발 환경인 Eclipse용 ABAP 개발 툴

ABAP Cloud 개발 모델의 핵심은 모든 확장, 서비스 및 어플리케이션의 디자인 타임 및 런타임 아키텍처를 정의하는 프로그래밍 모델입니다. 프로그래밍 모델에 대해 이야기할 때는 일반적으로 다음과 같은 세 가지 사용 케이스 또는 시나리오를 고려합니다.

  • 트랜잭션(OLTP): ABAP Cloud를 사용하면 비즈니스 오브젝트를 빌드하고 서비스로 공개하여 UI 및 통합 시나리오에서 사용할 수 있습니다. 모든 표준 동작(생성, 읽기, 업데이트, 삭제)이 지원됩니다. 잘 알려진 판매 오더 비즈니스 오브젝트를 예로 들어 보겠습니다. 이러한 기능은 ABAP RESTful 어플리케이션 프로그래밍 모델을 사용하여 수행됩니다.
  • 분석(OLAP): ABAP Cloud는 데이터 분석을 위한 서비스와 UI 생성, 여러 차원에서 드릴다운 등을 위해 동일하게 제공됩니다. 주요 사용 케이스는 SAP Analytics Cloud에 데이터를 통합하는 것입니다. 이 기능은 ABAP Analytics를 사용하여 수행할 수 있습니다.
  • 통합: 이전의 두 측면 모두 오늘날의 서비스 지향 환경을 지원하기 위해 강력한 데이터 및 애플리케이션 통합으로 보완됩니다.

프로그래밍 모델은 다음과 같은 두 가지 핵심 차별화 요소를 동반합니다.

  • 번호 범위, 어플리케이션 작업, ABAP 통합 SAP Fiori Launchpad 및 UI 저장소와 같은 핵심 비즈니스 서비스로 서비스와 라이브러리를 재사용하여 SAPUI5 및 SAP Fiori 요소 UI를 배포합니다.
  • 프로그래밍 모델에서 End-to-End 확장성을 제공하는 기본 제공 품질, 확장성 및 업그레이드 안정성과 같은 주요 클라우드 품질 등.

ABAP Cloud로의 진화

ABAP Cloud로의 진화

ABAP Cloud는 지난 10년 동안 수많은 혁신의 결과입니다. Eclipse용 ABAP 개발 툴은 2012년에 도입되었으며 개발자에게 ABAP 코드를 빌드, 디버그, 테스트, 실행할 수 있는 추가 환경을 제공합니다. 그 직후 Core Data Services가 도입되어 개발자가 SAP HANA에 최적화된 어플리케이션을 빌드하는 데 사용할 데이터 모델을 생성할 수 있는 선언적 방법을 제공합니다. REST는 이전 단원에서 살펴본 바와 같이 널리 사용되는 아키텍처 스타일로 등장하여 ABAP RESTful 어플리케이션 프로그래밍 모델을 개발했으며, 이를 통해 ABAP 개발자는 트랜잭션 SAP Fiori 앱과 웹 API를 개발하기 위한 End-to-End ABAP 기반 REST 서비스를 효율적으로 생성할 수 있게 되었습니다.

이러한 각각의 혁신은 많은 가치가 있습니다. 그러나, 자주 말했듯이, "전체는 그 부분의 합보다 크다". 여기서도 마찬가지다. ABAP Cloud는 이러한 모든 혁신을 통합할 뿐만 아니라 모든 혁신 기능을 종합적으로 결합하여 몇 가지 추가 혁신을 추가합니다. 따라서 개발자는 이제 ABAP을 사용하여 효율적인 End-to-End 클라우드 네이티브 개발을 누릴 수 있습니다. ABAP Cloud를 사용하여 사용자 정의 어플리케이션과 서비스를 개발하고 SAP S/4HANA Cloud 어플리케이션에 대한 확장을 빌드할 수 있습니다.

ABAP Cloud 가용성

ABAP Cloud 가용성

ABAP Cloud는 SAP BTP, ABAP 환경 및 SAP S/4HANA Cloud Public Edition 모두에서 기본(및 전용) 옵션으로 사용할 수 있습니다. SAP S/4HANA Cloud Private Edition 및 SAP S/4HANA, ABAP Cloud는 ABAP Classic과 함께 제공되며, 고객이 언제 어떤 모델을 사용할지 선택할 수 있습니다. 구체적인 내용은 단원 5, SAP S/4HANA Cloud Private Edition 및 SAP S/4HANA의 특별 고려사항 평가 에서 다룹니다. 다시, 진화는 혁명이 아닙니다.

SAP S/4HANA Cloud를 통한 확장성 개인

2단원 2단원, 소단원 2(SAP Build 평가)에서는 툴 지원 측면에서 "시민 개발자"(즉, "빌더")와 더 전통적인 "개발자"의 차이점을 살펴보았습니다. 빌더의 경우 주로 "로우 코드(low code)" 범주에 속하는 툴이 필요하지만, 개발자에게는 더 "프로 코드(pro-code)" 중심의 툴세트가 필요합니다. ABAP 클라우드는 개발자 페르소나를 지향합니다.

클라우드 최적화 ABAP 언어

기존 ABAP과 클라우드 개발을 위한 ABAP의 차이점

길고 풍부한 이력으로 인해 전문 엔터프라이즈 어플리케이션 개발에 필요한 기능을 제공하기 위해 ABAP 키워드, 아티팩트 및 기법이 다양하고 다양합니다. 그러나 이러한 모든 것이 클라우드 네이티브 접근법의 요구사항과 호환되는 것은 아니므로 이들 중 일부만 ABAP Cloud에서 사용됩니다. 예를 들어 TABLES 문과 같은 더 이상 사용되지 않는 키워드는 금지됩니다. ABAP RESTful 어플리케이션 프로그래밍 모델을 사용하여 생성된 REST 서비스 기반의 SAP Fiori UI 대신 Dynpro와 Web Dynpro도 마찬가지로 금지됩니다. Core Data Services를 사용하는 대신 SAP 테이블에 대한 SELECT 문을 직접 실행할 수 없습니다.

이러한 차이를 명확히 하기 위해 개발자는 이제 생성 시 개발 오브젝트에 언어 버전을 지정해야 합니다. 이 언어는 "표준 ABAP"("ABAP 클래식"), "클라우드 개발용 ABAP"(ABAP 클라우드 개발용) 또는 "주요 사용자를 위한 ABAP"(ABAP 클라우드 개발용, 다음 단원에서 설명)일 수 있습니다. 명시적 지정을 수행하면 개발 작업이 ABAP Cloud를 준수하는지 확인하기 위해 적절한 점검을 수행할 수 있습니다.

Eclipse의 ABAP 개발 툴

클라우드 개발을 위한 ABAP의 기능

전통적으로 개발자는 ABAP 워크벤치를 사용하여 어플리케이션에 필요한 다양한 아티팩트와 구문 점검 및 디버깅을 생성했습니다. 앞서 언급한 바와 같이 2012년에는 Eclipse 플랫폼과 특수 플러그인을 통해 Eclipse용 ABAP 개발 툴이 ABAP 개발을 위한 대체 "프로 코드" 환경으로 도입되었습니다. ABAP 클라우드 개발은 Eclipse용 ABAP 개발 툴만 사용하여 수행됩니다. Eclipse의 ABAP 개발 툴은 ABAP 컴파일러, ABAP 런타임 및 ABAP 테스트 콕피트 점검의 조합을 통해 ABAP Cloud 호환성을 적절하게 확인합니다. 이러한 기능은 코드 자동 완성, 구문 점검, 디버깅과 같은 Eclipse용 기존 ABAP 개발 툴과 결합되어 개발자가 쉽게 ABAP 클라우드 개발로 원활하게 전환할 수 있도록 합니다. ABAP 워크벤치에서 Eclipse용 ABAP 개발 툴로의 원활한 마이그레이션에 대한 자세한 내용은 ADT를 사용하는 SE80 전문가용 FAQ를 참조하십시오.