본문 바로가기

통신

[정보] Soap vs Rest 장단점


HTTP, HTTPS 등을 통해 인터넷간에 전송 프로토콜이 있다

 

대표적으로 SOAP, REST 있다

 


분류 

설명 

장점 

단점 

SOAP

 - Simple Object Access Protocol

 - 웹상에서 컴퓨터간의  서비스 통신을 위한 프로토콜

 - 애플리케이션계층의 프로토콜로 분류

 - HTTP 프로토콜과 함께 사용

 - HTTP, HTTPSSMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜

 - SOA서비스 방식으로 데이터에 직접 접근보다는 해당 데이터에 대한 메소드를 각각 구현이 메소드를 이용하여 해당 데이터를 취득

 - 표준화 되어 있는 기반

 - 프록시나방화벽에 구애 받지 않는다

 - 플랫폼과 프로그래밍에 독립적이다분산환경에 적합

 - 웹 서비스를 제공하기 위한 표준(WSDL, UDDI)  정립되어 있다

 - 너무 어렵다무겁다느리다

 - 구현하기 어렵고 기계어에 가까운 문제점

 - 복잡한 구조로 인한 오버헤드가 있으며 이는 SOAP 확장을 저해하고 있다

 - REST 비해 상대적으로 무겁고 속도도 느리다

 - 개발 난이도가 높아 개발 환경의 지원이 필요하다

REST

 - Representational State Transfer

 - HTTP 통해 세션 트랙킹 같은 부가적인 전송 레이어 없이전송하기 위한 아주 간단한 인터페이스

 - HTTP등의 기본 개념에 충실히 따르는  서비스

 - ServiceRegister 거치지 않고 리소스 요청을 바로 받아 들인다

 - ROA 서비스 방식으로 데이터에 대한 접근방식이 간단하다

 - PUT/GET 같은 간단한 함수로 해당 데이터를 쉽게 취득할  있다

 - URI HTTP 메소드를 이용해 객체화된 서비스에 접근하는 

 - 플랫폼프로그래밍에 독립적이다.

 - 가볍고 빠르고 쉽다

 - SOAP보다 개발하기가 단순하므로 학습곡선이 작고 도구가 거의 필요없다

  - HTTP 프로토콜에서만 사용가능 - point to point 통신 모델을 가정하므로  이상으로 상호작용하는 분산환경에 비적합

 - 보안정책 등에 대한 표준이 없다



[정보] Restful

◈ 정의

네트워크 아키텍처 원리 모음입니다. 

네트워크 아키텍처란 자원을 정의하고, 자원에 대한 주소를 지정하는 방법을 말합니다.


◈ 설명

비공식적으로 이해하기 쉽고 사용하기 쉬운 Rest API를 만드는 것

설계 방식. 그리고 좋은겁니다. 가볍고. 개발자들이 좋아하고 

경영자들은 개발속도롤 올릴수있는 좋은 개발방법인겁니다


◈ 목적

스마트폰 개발을 하게되면서 급속도로 RESTful API 사용이 많아졌습니다. 

이전에는 "개발자" 한명이서 DB도 만지고 화면도 제작했었습니다. 

그런데 업무 양이많아지고 분야가 넓어지면서 한 사람이 혼자 커버하기 어려워졌고 분업화가 필요 해졌고 백엔드 개발자가 DB접속권한등을 가진 코드등 분리가가능한것들 분리 했고 작업을 나누게 되었습니다. 

 

프론트개발자에게 API url를 넘겨주면 그것가지고 "화면"을 제작하고  api url에 파라미터를 넣어주면 의도한 값들이 나오면서 화면에 뿌리게되었습니다.



◈ 장점 

 - 이렇게 분리해서 개발하게되면 두명이서 동시에 개발

 - 업무속도를 높히게되고 분리가 되므로 코드가 꼬인다거나 다른 사고들을 미연에 방지 할수있게 되었습니다. 

 - Restful api 설계개발방식 이라고 합니다. 

 - Restful 하게 개발한다는것을 생산성 측면에서 본다면 협업을 효율적으로 하는것과, 유지보수를 체계화 할수있다는 것

 

◈ API 가뭔가요 ?

현업에서는 "URL"와 거의 동어로 사용되고있습니다.

API 와 파라미터가 있어야 프론트에서 입히고 테스트 할수있음.

이걸 API라고 하고 보통은 URL형태로 되어있음

 

  






'통신' 카테고리의 다른 글

[정보] TCP 통신과 UDP 통신 차이  (0) 2018.07.03
시리얼 포트란?  (0) 2018.07.03
[프로토콜] 통신프로토콜 종류  (0) 2018.07.02
[정보] MQTT vs CoAP 차이  (0) 2018.07.02
[용어] BacNet  (0) 2018.06.26