본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

이론

SOAP와 REST의 차이

SOAP

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

@WebService
@SOAPBinding(style = Style.RPC)
public class CalculatorService {

    @WebMethod
    public int add(int num1, int num2) {
        return num1 + num2;
    }

    @WebMethod
    public int subtract(int num1, int num2) {
        return num1 - num2;
    }
}

 

 

REST

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;

@Path("/calculator")
public class CalculatorResource {

    @GET
    @Path("/add/{num1}/{num2}")
    public int add(@PathParam("num1") int num1, @PathParam("num2") int num2) {
        return num1 + num2;
    }

    @GET
    @Path("/subtract/{num1}/{num2}")
    public int subtract(@PathParam("num1") int num1, @PathParam("num2") int num2) {
        return num1 - num2;
    }
}

 

 

코드자체로만 봤을때는 두 프로토콜 간의 차이가 명확하지 않을 수 있으나

전반적으로 SOAP는 웹서비스에 중점을 두어 XML을 사용하고

REST는 간결한 URL 및 다양한 데이터 형식을 사용해 리소스 기반의 아키텍처를 강조한다.