반응형

Java Web Services API 개념 되새기기


 최근 몇 년 사이에 웹서비스 개발과 관련되어 인터넷의 URI 를 나타내는데 REST-API 라는 architechural 구조를 가진 개념이 많이 사용되고 있다. Java-Spring 기반의 사용자들은 Spring-MVC 를 사용하거나 Spring with jersey 의 조합으로 REST-API 서비스들을 만들어 오고 있었다. 이렇게 개발만하다 보니 왜 spring 과 jersey 를 사용하게 되었지도 잊어버리고 (ㅡ,.ㅡ ... ) 그래서 정리를 해 보려고 한다. 


 Java Web Service API 의 주요한 2가지 개념이 있다. JAX-RS 와 JAX-WS 이다. 자바 웹 서비스 애플리케이션 코드를 작성하는 두가지 방법이 있는데 바로 잘 아는 Restful 과 SOAP 이다. 이 두개의 주요 API들은 JavaEE6 부터 웹서비스 애플리케이션 개발을 위해 자바 표준으로 정의 되어 있다.


JAX-RS 는 RESTful 웹서비스를 위한 것이며, JAX-RS 애플리케이션을 생성하기 위해 현재 사용중인 주요한 2가지 구현으로는 Jersey 와 RESTeasy 가 있다. (Apache CFX, Restlet 도 있다.)

JAX-WS 는 SOAP 웹서비스를 위한 것이며, JAX-WS를 코드로 작성하는 두가지 방법으로 RPC 와 Document 형태가 있다.


 REST 와 SOAP 의 차이를 표를 통해서 나타내면 다음과 같다.

REST 

SOAP

  Architecural style

 Protocol

 REST stands for REpresentational State Transfer

 Simple Object Access Protocol

 REST can use SOAP web services because it is a concept 

 and can use any protocol like HTTP, SOAP.

 SOAP can't use REST because it is a protocol.

 REST use URI to expose business logic.

 SOAP use service interfaces to expose the business logic. 

 REST does not define too much standards like SOAP.

 SOAP defines standards to be strictly followed. 

 REST permits different data format such as Plain text, HTML, 

 XML JSON etc...  

 SOAP permits XML format data only.


 이러한 차이와 과거로부터 현재까지 SOAP 에서 REST로 변화?하게된 흐름을 이해한다면 더 나은 REST-API 개발을 이끌어 낼 수 있을 것이다.


ref) https://www.javatpoint.com/web-services-tutorial

반응형

+ Recent posts