티스토리 뷰

어제 API에 대해서 정리했다.

 

API

개발이나 학부생 연구원으로 일할 때 API라는 것을 꽤 자주 접하게 되었다. 처음 API라는 것을 쓸때, API가 뭔지도 모르고 그냥 가이드라인에 따라서 사용했었다. 늦게나마 API에 대한 개념을 확실

u-pic-code.tistory.com

API는 서로 다른 응용 프로그램의 데이터와 서비스에 연결하는 소프트웨어 및 매개체이다.

 

API의 구조에 대해 이야기할 때, 가장 대표적인 방식이 SOAP 방식REST 방식이다.

 

가장 큰 차이는

SOAP는 프로토콜이고, REST는 아키텍처라는 점이다.

그렇기 때문에 두 방식은 구성, 기능, 사용되는 상황이 서로 다르다.

 

REST API

REST(Representation State Transfer)는 네트워크를 통해 컴퓨터끼리 통신할 수 있게 해주는 아키텍처 스타일이다.

REST API는 웹 서비스 API라고 할 수 있다. URI와 HTTP 프로토콜을 기반으로 슈퍼 브라우저와 호환 가능한 방식인 JSON을 사용한다. REST API는 구축과 확장이 용이하다. 그래서 단순하게 또는 복잡하게 구성할 수 있다.

 

REST API의 장점

  • HTTP 프로토콜로 인해 간단하다.
  • 클라이언트-서버 통신 및 아키텍처를 용이하게 한다.
  • 단일 균일 인터페이스 사용
  • 웹에 최적화 (JSON)
  • 뛰어난 성능과 확장성
    다른 기술들과 마찬가지로 앱이 느려지거나 할 수 있다. 이 점을 해결하기위해 GraphQL과 같은 언어가 등장

 

SOAP API

SOAP(Simple Object Access Protocol)는 자체 프로토콜이며 REST 방식보다 더 많은 표준을 지켜야 하기 때문에 상대적으로 조금 더 복잡한 방식이다. 하지만 보안, 트랜젝션, ACID(Atomicity, Consistency, Isolation, Durability) 측면에서 포괄적인 기능이 필요한 조직에게 REST보다 더 좋은 선택지가 될 수 있다. SOAP 방식은 웹 서비스 보다 단일 엔터프라이즈 상황에 적절하다

 

SOAP API의 장점

  • 더 엄격한 보안
  • 안정적인 메시징 기능을 위한 Success/Retry 기능
  • 기본적으로 ACID를 준수

 

 

REST API와 SOAP API의 차이

  1. SOAP API는 프로토콜인 반면, REST API는 아키텍처 스타일이다.
  2. SOAP API는 작업을 수행, REST API는 데이터 리소스에 엑세스
    REST API는 보다 데이터 중심적이고, SOAP API는 기능 중심적으로 구조화된 정보를 전송.
    REST는 일반 텍스트, HTML, XML, JSON 등 다양한 데이터 형식을 포함하기 때문에 데이터 전송에 아주 적합하고 브라우저 호환성도 뛰어나다. SOAP는 XML만 사용한다.
  3. 보안
    REST API는 HTTP 프로톨인 HTPPS 및 SSL의 보안을 사용한다. 그리고 SOAP는 SSL과 WS-security 방식을 제공하여 더 높은 수준의 보안을 보여준다.
  4. 데이터의 양
    SOAP는 사용하는 오버헤드가 좀 더 많지만 더 많은 데이터를 포함하고 있다. 반면 REST API는 상대적으로 적은 양의 데이터이지만 요청 시 필요한 오버헤드가 적다.
  5. 캐싱
    REST API 호출은 캐싱할 수 있지만, SOAP API는 캐싱 기능을 사용할 수 없다.

정리

 

사용 대상

REST API는 다음과 같은 사용자에게 적합하다.

  • HTTP 및 JSON 데이터 형식을 사용하고, 비교적 적은 양의 데이터가 필요한 사용자
  • 외부 라이브러리 호출에 대한 요구 사항이 적은 경우
  • 캐싱 기능이 필요한 경우

SOAP API는 다음과 같은 사용자에게 적합하다.

  • 보안 수준에 대한 요구사항이 있는 경우
  • SOAP를 사용하고 있는 시스템과 통합해야 하는 경우
  • ACID에 대한 요구 사항이 있는 경우

 

 

지금까지 SOAP와 REST API에 대해 정리해보았다.

설명 중에서도 모르는 개념과 단어들이 많이 있어 완벽하게 이해하진 못했지만

지나가다가 SOAP와 REST API 단어에 대해 일부 알게 된 것 같다.

 

참고

 

SOAP vs. REST: A Look at Two Different API Styles | Upwork

In this article we will compare SOAP and REST, including some of the pros that would make you want to use one over the other for your application.

www.upwork.com

 

 

SOAP REST 차이, 두 방식의 가장 큰 차이점은?

API는 방식에 따라 'SOAP REST 차이'가 있다는데, 이 둘의 차이점은 과연 무엇일까요? 각각 어떤 장점들이 있는지, 어떤 상황에 무엇이 더 잘 맞는지 알려드리겠습니다:)

blog.wishket.com

 

'지나가는 개념 정리' 카테고리의 다른 글

Repository Pattern 이란?  (0) 2022.02.08
비즈니스 로직이란?  (0) 2022.02.08
API  (0) 2021.09.01
프레임워크(FrameWork)와 라이브러리(Library)  (0) 2021.08.31
SPA & Routing  (0) 2021.08.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함