Web Service
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Computer science
모바일과 클라우드, 서비스형 소프트웨어(Saas, Software-as-a-Service) 플랫폼은 소프크웨어가 점차 분산되는 원인이 되었고, 이로 인해 웹서비스의 중요성은 점차 커져가고 있다. 그래서 이번엔 웹서비스의 개념과 구현 기술에 대해서 알아보고자 한다.
Web Service소개 #
웹 서비스(web service)는 네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용을 하기 위한 소프트웨어 시스템이다. 웹 서비스는 서비스 지향적 분산 컴퓨팅 기술의 일종이다. 웹 서비스 프로토콜 스택은 SOAP, WSDL, UDDI 등으로 이루어진다. 모든 메시징에 XML이 사용되어 상호운용성이 높다. -Wikipedia
웹 서비스를 제공하는 기술은 크게 SOAP 기반의 웹 서비스와 RESTful 기반의 웹 서비스로 양분화되어 있습니다. 초기 SOA하면 당연시 연상되던 SOAP의 경우 HTTP의 응용 프로토콜로써 언어나 플랫폼에 독립적이고, 분산 컴퓨팅에 유리하며, 웹 서비스를 제공하기 위한 표준이 잘 정리되어 있다는 장점이 있다. 하지만 복잡한 구조로 인한 오버헤드가 있었고 이는 SOAP의 확장을 저해하는 요소가 되었다.
이후 SOAP의 이러한 단점으로 인해 보다 간결한 RESTful 기반의 웹 서비스가 등장하며 각광을 받는다. RESTful 웹 서비스란 REST(Representational State Transfer, 2000년, Roy Fielding) 기반의 웹 서비스를 의미하며 HTTP의 기본 기능만으로 원격 정보에 접근하는 웹 응용 기술이다. 간단히 설명하자면 클라이언트는 HTTP 요청정보의 결과를 단순한 XML이나 JSON등의 포맷으로 반환하는 구조로 이루어져 있다. RESTful은 서비스 중심이 아닌 리소스 중심의 표현, 전달, 접근 방식의 특성을 가지는 차이가 있는데 이를 리소스 기반 아키텍쳐(ROA)라고 부른다. SOAP과 같이 공통된 포맷이 없다는 것이 장점이자 단점인 것은 필요하지 않은 부분에 대한 명세는 기록하지 않아 클라이언트에 따라 적절한 데이터 포맷을 결정 할 수도 있지만 선택 사항이 복잡하게 증가할 수 있고, 작성된 문서에 의존적이라는 단점이 있다.
사실 최근의 트렌드는 보다 간결한 RESTful이 대세다. 아래 그림은 SOAP(protocol)와 Representational State Transfer(protocol)에 대한 구글 트렌드 자료인데 이 도표를 보면 RESTful이 각광받고 있음을 알 수 있다.
다음번 포스팅을 통해 웹서비스를 제공하는 두 기술 SOAP기반 웹서비스와 RESTful기반의 웹서비스 구현기술에 대해서 살펴보도록 하겠다.