티스토리 뷰

Network

SOAP 과 Rest API 정의와 차이점

혲이. 2022. 12. 23. 14:23
반응형

서론

그땐 몰랐다... 5년전..신입사원때 웹운영을 했을 당시,, 맡게된 API가 SOAP 방식이였다는 걸,, 그땐 알지 못했다...
외주SW였기에 알수있던 자료도 사람도 없었다....허우적허우적대며 공부하면서 운영하면서 결국엔 이젠 알게된, 그당시의 나, 아주 칭찬해!
(아래는 그 당시에 썼던 블로그 글)ㅎㅎ
https://hyejikim.tistory.com/25

그때는 몰랐고, 이제는 아는 SOAP과 Rest API의 정의와 차이점을 작성한다.


본론

1. SOAP과 Rest API의 개념

- SOAP : HTTP, HTTPS, SMTP 등을 사용하여 XML형태의 데이터를 교환하는 프로토콜
- REST API : HTTP Method를 통해 자원을 처리하도록 설계된 아키텍처

2. SOAP과 RestAPI의 개념도와 구성요소

1) 개념도

SOAP 통신 개념도

- SOA 구조에 따라 UDDI 레지스트리를 통해 웹 서비스를 기록하고 탐색하고 바인딩 수행


Rest API  개념도

- 리소스를 등록하고 저장해 두는 중간 매체없이 리소스 제공자가 직접 리소스를 요청자에게 제공함으로써 Stateless 제공

2) 구성요소

SOAP Rest API
UDDI: API 공개 및 검색 하기 위한 표준으로 제공자가 저장한 API를 사용자가 이용 자원(Resource): URI를 통해 식별 가능한 서비스
WSDL: API를 설명하기 위한 XML 표준 언어 행위(Behavior): 자원에 대한 CRUD를 HTTP Method 로 표현
SOAP Message: API 요청/응답 메시지 규격
- 사용자는 규격에 맞게 데이터를 구성하여 제공자에게 요청하고, 제공자는 동일한 규격으로 처리결과 반환
메시지(Message): 자원에 대한 행위를 위한 요청정보와 행위의 결과인 응답정보를 출력하는 행위

SOAP 과 RestAPI는 통신방식과 구성요소 모두 상이하다

3) 특징

  SOAP Rest API
데이터 포맷 XML JSON, XML 등 다양한 포맷 허용
보안 Ws-Security, SSL HTTPS, SSL
캐시 사용 불가 사용 가능
대역폭 상대적으로 더 많은 리소스와 대역폭 상대적 적은 리소스와 대역폭


결론

SOAP은 엄격한 통신 규약이 있는 반면, Rest API는 비교적 자유로운 통신규약을 갖고 있다.
그래서 보통은 B2B 인터페이스, 기업내 통신 등에서 SOAP를 주로 사용하고 Open API, Client-Server 통신 간에는 RestAPI를 주로 사용한다.(요즘은 SOAP을 잘 사용하지 않는 추세인걸로 알고있다)



SOAP API는 Visual Studio에서 .NET 웹서비스 참조 tool(마법사 툴)을 사용하여 손쉽게 추가 및 구현가능하다.
자세한 내용은 여기를 참고하면 된다.

그리고 Rest API는 다들 아시다시피 Spring Boot를 이용하면 @RestController 를 통해 구현할 수 있다. 이거는 구글링하면 구현방법이 오조오억개 나오므로 생략하겠음.

그럼 20000


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함