티스토리 뷰
서론
그땐 몰랐다... 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) 개념도
- SOA 구조에 따라 UDDI 레지스트리를 통해 웹 서비스를 기록하고 탐색하고 바인딩 수행
- 리소스를 등록하고 저장해 두는 중간 매체없이 리소스 제공자가 직접 리소스를 요청자에게 제공함으로써 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
'Network' 카테고리의 다른 글
API 게이트웨이의 이해 (0) | 2021.05.31 |
---|---|
세션 방식/어떻게 HttpSession 사용으로 클라이언트가 여러명 붙을수있나.. (0) | 2021.05.30 |
- Total
- Today
- Yesterday
- 백준퇴사
- html꿀팁
- html
- 백준
- 퇴사
- 런타임에러
- boj
- 프론트엔드개발자
- script버전
- 캐시삭제
- 개발중캐시삭제
- 백준14501
- C# java 차이점
- 선언적트랜잭션 #noRollbackFor #@Transactional
- C++
- c#
- 프론트엔드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |