REST와 SOAP의 차이점

Anonim

소개

이 기사에서는 두 가지 웹 서비스 액세스 프로토콜 인 SOAP ("Simple Object Access Protocol")와 REST ("Representational State Transfer").

웹 서비스

웹 서비스는 정의 된 소스에서 데이터를 적극적으로 가져오고, 읽거나 전송하여 지정된 결과 (결과)를 생성하도록 정의됩니다.

다음 기본 예제는 SOAP 또는 REST를 사용하여 데이터가 웹 서비스와주고받는 방법을 이해하기 전에 웹 서비스의 기본 사용을 보여줍니다.

개발자가 한 곳에서 데이터 계산이 필요한 응용 프로그램을 작성하는 경우 계산 방법이 한 곳에서 코드로 작성됩니다. 그러나 데이터 계산이 응용 프로그램의 다른 부분에서 필요하면 개발자가 필요한 모든 영역에 계산 방법을 배치했는지를 유지하는 것은 비효율적이며 비실용적입니다.

그 방법을 한 번 변경하려면 편집 할 모든 인스턴스를 찾아야합니다. 이 시나리오는 최적의 기능을 수행하고 비즈니스 민첩성을 향상시키기 위해 웹 서비스를 사용하면 도움이됩니다. 추가, 뺄셈, 나누기 및 곱하기 위해 액세스 할 수있는 메소드가있는 웹 서비스를 하나 만들면 데이터 계산이 필요할 때마다 해당 웹 서비스에 참여하게됩니다. 웹 서비스를 호출하여 계산을 수행하고 결과를 산출합니다. 따라서 개발자가 데이터 계산 방법을 유지 관리 할 수있는 유일한 곳이 있습니다.

웹 서비스에서 데이터를 처리하는 방법은 SOAP 또는 REST가 구현되었는지 여부에 따라 결정됩니다.

SOA와 BPMN

실행 가능한 프로세스를 기반으로 구축 된 애플리케이션은

SOA (Service Oriented Architecture) 999를 기반으로합니다. 데이터를 전송, 생성, 유효화 또는 계산하는 서비스를 사용하는 방법에 대한 접근 방법입니다.

SOA 는 개발 품질 및 시간을 개선하고 애플리케이션 성능 및 확장 성을 개선하는 데 점점 더 유리 해지고 있습니다. 비즈니스 프로세스 모델링 표기법

("BPMN")은 비 기술적 인 사람들이 수행 할 수있는 서비스 또는 비즈니스 프로세스를 모델링합니다. 이자형. 비즈니스 분석가. BPMN

을 사용하면 비즈니스 모델 (서비스 용)은 모델을 실행 가능한 프로세스로 구현하는 개발자가 쉽게 해석 할 수 있으며 이러한 프로세스에는 사람과의 상호 작용이 필요할 수도 있고 그렇지 않을 수도 있습니다. SOAP (Simple Object Access Protocol) SOAP은 인터넷을 통해 데이터를 전송하는 방법입니다. 인터넷의 출현으로 인해 Microsoft에서 처음 개발 한 SOAP은 이전의

DCOM

CORBA 기술을 대체했으며 REST보다 훨씬 오래되었습니다. SOAP은 REST i보다 무거운 것으로 간주됩니다.이자형. 데이터를 전송하는 데 더 많은 수하물이 필요하므로 메시지 요청 당 더 많은 대역폭이 필요하며 데이터를 패키징하고 수신 할 때 데이터 소스와 대상이 더 많은 작업을해야합니다. SOAP은 인터넷을 통한 메시징 서비스에만 XML

을 사용하며 XML 메시지 요청은 매우 복잡 할 수 있으며 수동으로 개발하면 SOAP은 오류로 인해 유연하지 않으므로주의가 필요합니다.

를 사용하여 SOAP 메시지 요청을 자동화 할 수 있습니다. 개발자가 XML로 작업 할 필요가없는 NET 언어 (예를 들어)가 백그라운드에서 자동 생성됩니다. 메시지 요청에 문제가 발생하면 메시지 응답에 자세한 오류 정보가 반환되며 메시지 응답에 제공된 표준 오류 코드를 참조하여이 프로세스를 자동화 할 수도 있습니다. 따라서, 사용 된 프로그래밍 언어는 SOAP을 구현하는 것이 얼마나 어려운지를 결정하는 요소입니다.

SOAP 메시지에 수반되는 수하물 중 하나는 웹 서비스 작동 방식을 설명하는

WSDL (Web Services Description Language)

입니다. 응용 프로그램이 웹 서비스를 참조하면 웹 서비스를 통해 수행 할 작업을 읽고 이해합니다.

SOAP는 HTTP (HyperText Transfer Protocol)만을 사용하도록 바인딩되지 않습니다. SMTP 및 기타 전송 프로토콜을 통해 사용할 수 있습니다.

SOAP가 표준화되면서, REST보다 엄격 해졌지만, 둘 다 정해진 규칙에 의존합니다. REST REST는 SOAP의 새롭고 매끄러운 사촌이며, 대부분의 웹 및 모바일 애플리케이션에서 빠르게 선택되고 있습니다.

소개 이후 10 년이 넘는 기간 동안, REST는 웹 서비스와 상호 작용할 수있는 더 가볍고 유지 보수 가능하며 확장 가능한 방식입니다.

SOAP과 달리 REST는

XML

만을 사용하지 않는다. AJAX 호출의 경우

일반 텍스트 , CSV RSS 뿐만 아니라 JSON 원본과 대상 모두 사용 된 형식을 이해할 수 있어야합니다. REST는 덜 복잡하며 SOAP에 비해 학습 곡선이 작다고 여겨집니다. 대부분의 최신 프로그래밍 언어에는 C #, Python, Java 및 Perl과 같은 REST (RESTful) 서비스를 지원하는 라이브러리 및 프레임 워크가 있습니다. REST는 최소한의 처리로 다른 메시지 형식을 사용하면 더 효율적입니다. 둘 모두에 장단점이 있으므로 사용할 액세스 프로토콜을 고려할 때 조직에서 사용되는 프로그래밍 언어, 응용 프로그램 환경 및 응용 프로그램 요구 사항을 고려하십시오.