어플리케이션 프로그래밍 인터페이스(API) 이해

Objectives

After completing this lesson, you will be able to:
  • API와 해당 요구사항을 설명합니다.
  • API의 이점은 무엇입니까?
  • API의 해부학을 분석합니다.

API에 대한 비즈니스 소개

지속 가능한 지능형 기업으로 비즈니스를 혁신할 때 몇 가지 과제에 직면할 수 있습니다. 예를 들어 다양한 클라우드 기반 또는 하이브리드 기반 시스템의 랜드스케이프에서 어플리케이션과 비즈니스 프로세스를 통합해야 합니다. 또한 SAP 이외의 공급업체 솔루션도 있습니다. 이 경우 SAP에서 SAP 이외의 프로세스로 통합해야 합니다. SAP Integration Suite를 사용하여 SAP를 SAP 프로세스에 통합하고, 타사 프로세스를 SAP에 통합할 수 있습니다. 회사에서 SAP Integration Suite를 통해 API를 상업화하고 관리할 수도 있습니다.

API 개요

API는 "Application Programming Interface"의 약어입니다. 애플리케이션/웹 사이트와 사용자로서의 사용자 간의 중재자(소프트웨어 조각으로 표시)입니다. 따라서 서로 다른 인스턴스 간에 정보를 교환하는 것이 중요합니다.

API 프로세스의 시각화입니다.

일상에서 API를 실현하지 않고도 API를 사용할 수 있습니다. 검색 창에 내용을 입력할 때마다 Google의 백엔드 서비스가 데이터베이스에서 키워드를 검색하고 웹 사이트에 요청 결과를 나열합니다. 실제로 웹 사이트에는 API의 결과가 표시됩니다. 이에 대한 지시자는 각 검색의 URL입니다.

"SAP"를 검색할 때 URL은 www.google.com/search? 로 표시됩니다.q=sap 를 입력합니다.

이제 이 부분을 아래와 같이 정리해 보겠습니다.

여기서 www.google.com 은 서버 주소이고, /search 는 호출하려는 기능, 즉 호출하려는 API를 나타냅니다. 이 경우 Google Search API이고, q (쿼리)는 이제 쿼리 값이 전달된다는 것을 알려줍니다. 이는 검색어입니다.

SAP 도움말 페이지(https://help.sap.com)에도 동일하게 적용됩니다. 검색 창에 API를 입력하면 다음 URL이 표시됩니다. https://help.sap.com/docs/search?q=api.

그러나 API 호출을 반드시 컴퓨터에서 시작할 필요는 없습니다. 음성 지원 시스템은 API의 통합 및 사용의 한 예이기도 합니다. 음성 보조 도구에 무언가를 검색하도록 요청하면 실제로 쿼리를 지원하는 데 도움이 됩니다. 그런 다음 이 쿼리는 텍스트로 저장되고 API 호출에 쿼리로 추가됩니다. 그런 다음 보조 도구는 오디오 음성을 통해 API의 결과를 제공합니다.

따라서 연결된 장치에서 어떤 작업을 수행하든, 여러분은 눈에 띄지 않고 시간당 몇 개의 API를 사용하고 있습니다. API가 매우 중요한 주제인 이유는 사용자와 개발자가 "방법"이 아닌 "작업"에 집중할 수 있도록 하기 때문입니다. 또한, 당신은 당신의 WhatsApp 메시지가 받는 사람에게 전송되는 방법에 대해 생각해 본 적이 있습니까?

따라서 이름에서 알 수 있듯이 API는 음악 재생과 같은 특정 기능을 트리거하는 데 사용되는 여러 유형의 인터페이스 중 하나일 뿐입니다. 마우스/터치스크린을 사용하여 어플리케이션/웹 사이트를 탐색하는 데 사용하는 GUI(Graphical User Interface)와 같은 다른 유형의 인터페이스에 이미 익숙할 수 있습니다.

API의 이점

API의 필요성

API는 오늘날 IT 아키텍처에 필수적입니다. 프론트엔드에서 백엔드로의 액세스, 인터페이스 관리, 포인트 투 포인트 통신은 수년 동안 IT 아키텍처의 상당 부분을 차지했지만, API는 애플리케이션과 웹 사이트의 통신 방식을 획기적으로 변화시켰습니다. 따라서 API는 IT 랜드스케이프를 구축하고 관리하는 데 많은 이점을 제공합니다. 따라서 기업이 IT 아키텍처에서 이를 구현해야 하는 가장 중요한 이유는 다음과 같습니다.

API의 이점 리스트

API는 코어에서 태스크와 별도의 통신입니다. 따라서 서비스가 API를 통해 통신하는 경우 API의 사용자(또는 컨슈머)는 전적으로 API가 제공하는 기능에 중점을 둡니다. 사용자는 작업 자체에 대해 생각하지 않고 API의 기능만 사용합니다. 초점은 요청과 결과(응답)를 기준으로 하며 그 외의 내용은 없습니다.

API 구조

API 유형

API를 정의하고 구현하기 위해 다양한 글로벌 표준을 사용할 수 있습니다. 다음 중 몇 가지가 나열되어 있습니다(그러나 가장 일반적으로 사용되는 API는 REST API임).

공통 API 유형

가장 인기 있는 API 유형으로 REST API를 사용하면 REST API 함수를 조금 더 자세히 살펴보겠습니다. API를 사용할 때는 일반적으로 리소스에 대해 이야기합니다. 즉, 일반적으로 다음과 같은 작업을 수행할 수 있습니다.

  • 무언가를 만듭니다(예: 게스트 북에 새 항목 추가).
  • API를 통해 내용을 읽거나 가져올 수 있습니다(Google 검색 기억: 여기서 웹 사이트 리스트를 가져오려고 함).
  • 내용을 업데이트하거나 변경합니다(일반적으로 변경되어야 하는 항목을 생성한 경우(예: 특정 항목의 상태 또는 오타를 생성한 경우).
  • 항목을 삭제합니다.

이러한 작업은 CRUD로 축약됩니다.

REST API의 경우 이 동사는 CRUD 동사와 매우 유사합니다.

CRUD와 REST 버전 비교

CRUDREST
READGET
생성(CREATE)POST
업데이트(UPDATE)PUT/PATCH
DELETEDELETE

"update"에는 두 가지 동사(PUT 및 PATCH)가 있을 수 있습니다.

패치는 참조 중인 리소스의 일부만 변경합니다. 게스트 북 항목을 생각해 보십시오. 여기서 한 단어만 수정하고 단어 번호 42가 교체되어야 한다고 게스트 북에 알립니다. 이는 패치 - 수리 또는 변경 지점입니다. 반면에 PUT는 대부분 동일하더라도 전체 텍스트를 변경하는 것이지만 오류가 수정되었습니다(전체 텍스트를 지우고 모든 항목을 다시 붙여넣는 것).

일반적으로 API 사양을 보면 이러한 동사가 아래 그림과 같이 표시됩니다(SAP BTP Integration Suite에 대한 예제 배포에서 가져옴). API가 반드시 모든 동사를 지원하는 것은 아닙니다.

API 동사

이 소단원의 핵심 요점

어플리케이션 프로그래밍 인터페이스(API, Application Programming Interface)를 사용하여 어플리케이션과 통신하고 데이터를 교환할 수 있습니다. API를 사용하면 비용을 절감하고 시스템 통합을 이전보다 훨씬 빠르게 추진할 수 있습니다. API를 정의하고 구현하기 위한 몇 가지 유형이 있지만 가장 일반적인 유형은 REST API입니다.