1. SOAP(Service Oriented Architecture)를 따르는 웹 서비스 디자인 표준
1) 정의
- SOA(Service Oriented Architecture)를 따르는 웹 서비스 디자인 표준
- HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜
- Web Services Description Language(WSDL)을 이용하여 정의
- XML을 근간으로 헤더와 바디를 조합하는 디자인 패턴으로 설계
- WSDL(Web Services Description Language) : 네트워크 연결된 XML 기반 서비스를 설명하는 표준 스펙
- UDDI(Universal Descripton, Discovery, and Integration) : 웹 서비스에 대한 정보를 공개하고 발견하는 방법을 정의
2) 장점
- 플렛폼과 프로그래밍에 독립적
- 분산 컴퓨팅 환경에서 사용하기 위한 디자인
- 웹 서비스를 위해 널리 사용되는 표준이며, 다른 표준과 통합을 통한 확장성이 뛰어나고 다양한 Vendor을 통한 지원이 이루어지고 있음
- 에러처리 기능이 포함되어 있음
3) 단점
- 개념적으로 REST보다 더 어렵고 무거움
- 개발이 REST보다 어렵고 Tool이 필요한 경우가 많음
2. REST(Representational State Transfer)
1) 정의
- ROAD(Resource Oriented Architecture)를 따르는 웹 서비스 디자인 표준
- 원드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식
- CRUD(Create Read Update Delete)에 해당 하는 4가지의 메서드만 사용
Method | CRUD | SQL | 용 도 |
POST | Create | INSERT | ㅋㅓㄹ렉션에 새로운 리소스를 만들거나 컴트롤러를 실행할때 사용 |
GET | Read | SELECT | 리소스 상태의 표현을 얻을때 사용 |
PUT | Update | UPDATE | 새로운 리소스를 스토어에 추가하거나 기존 리소스를 갱신할때 사용 |
DELETE | Delete | DELETA | 리소스 제거 |
- WADL(Web Services Description Language) : HTTP 기반 웹 어플리세이션(전형적 REST용 웹 서비스)의 기계 판독형 XML 설명
2) 장점
- 분산 환경에서 메시지가 중간 경ㅇ지를 여러번 통과하는 경우 사용하기 어려움
- 보안, 정책, 안정적인 메시지 전달을 지원하기 위한 표준이 부족함. 즉, 복잡한 요구사항을 표현하기 위해 직접 구현해야 함
3. 서비스 기술 비교
SOAP 기반 웹서비스 | RESTful 웹서비스 | |
배경 및 현황 | - 기업을 위한 비즈니스 응용에서부터 출발 - IBM, BEA(현재 IBM으로 통합), Oracle 등을 선두로 하는 웹서버 벤더에서 주창 - SOA의 서비스는 대부분이 비즈니스 컴포넌트로서의 의미를 가짐 | - WEB2.0은 서비스 어플리케이션에서 부터 시작 - 구글, 아마존, 야후와 같은 인터넷 서비스 기업에 의해서 주창 - 맵이나 뉴스, 가젯 등과 같이 UI 성격을 갖는 서비스가 대다수임 |
특징 | - The Machine-Readable Web: 사람보다는 기계가 해석할 수 있는 웹 - Stateful : 오퍼레이션 중 서비스 상태가 일관되게 유지, 관리 되어야 함. -엄격한 문법 검사, 서비스 계약에 충실 - 웹서버 등 웹서비스 개발 환경이 지원되어야 함 | - The Homan-Readable Web : 사람이 해석할 수 있는 웹 - Stateless : 오퍼레이션 중 서비스/리소스의 상태를 관리하지 않음(HTTP의 기본 메커니즘), 필요한 경우에 직접 관리해야 함 - 기본 XML만으로 서비스 개발 가능 - 별도의 개발 환경 지원이 필요 없음 |
전달 메커니즘 | Remoto Procedure Call | Pubilsh/Syndicate Patterm |
전달 프로토콜 | SOAP/HTTP, SMTP | HTTP |
서비스 명세 | WSDL | WADL, XML, JSON, hREST(시맨틱 REST)등 |
서비스 레지스트리 | UDDL | 없음 |
필요 스택 | W3C의 WS-+스택(WS-addressing, WS-security등) | 없음 |
주요 적용 분야 | 트랜잭션 프로세싱 | 데이터와 UI(User Interface) 프로세싱 |
현재의 문제점 | 어려운 사용법, 무거운 프로토콜 | 표준의 부재, 관리가 어려움 |
'Web?' 카테고리의 다른 글
ANSI, UTF-8 웹사이트 개발 방법 (0) | 2016.07.22 |
---|---|
MVC(모델, 뷰, 컨트롤러) (0) | 2016.07.19 |
웹 서버와 웹 어플리케이션 서버 (0) | 2016.07.18 |
자바 서블릿, JSP로 본 웹 어플리케이션의 발전 흐름 (0) | 2016.07.15 |
닷넷 프레임 워크 (0) | 2016.07.11 |