API

kongta2·2023년 11월 1일

API(application programming interface)

API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타낸다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다.

인터페이스(interface)

인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면을 의미한다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다.

API의 동작

요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 한다. API의 동작 방식은 생성된 시기와 이유에 따라 네 가지 방식으로 작동한다.

  • SOAP API
    - 단순 객체 접근 프로토콜을 사용한다
    - 클라이언트와 서버는 XML을 사용하여 메시지를 교환한다.
    - 과거에 많이 사용되었으며 유연성이 떨어지는 API이다.
  • RPC API
    - 원격 프로시저 호출
    - 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송한다.
  • Websocket API
    - JSON 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 API 개발
    - 클라이언트 앱과 서버 간의 양방향 통신을 지원
    - 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어서 REST API보다 효율적이다.
  • REST API
    - 가장 많이 사용되고 유연한 API
    - 서버가 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환

RESTful API

Representational State Transfer은 API 작동 박식에 대한 조건을 부과하는 소프트웨어 아키텍처이다.
REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌다.
REST 아키텍처 스타일을 따르는 API를 REST API라고 한다.
REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 한다.

REST API사용의 이점

  1. 통합
    API는 새로운 애플리케이션을 기존 소프트웨어 시스템과 통합하는 데 사용된다. 그러면 각 기능을 처음부터 작성할 필요가 없기 때문에 개발 속도가 빨라진다.
  2. 확장
    API는 기업이 다양한 플랫폼에서 고객의 요구사항을 충족할 수 있는 고유한 기회를 제공한다. 예를 들어 지도 API를 사용하면 웹사이트, Android, iOS 등을 통해 지도 정보를 통합할 수 있다.
  3. 유지 관리의 용이성
    API는 두 시스템 간의 게이트웨이 역할을 한다. API가 영향을 받지 않도록 각 시스템은 내부적으로 변겨앻야 한다. 이렇게 하면 한 시스템의 향후 코드 변경이 다른 시스템에 영향을 미치지 않는다.
profile
2025.04.01~

0개의 댓글