Web Service
- request ( input ) 요청
- 웹 어플리케이션에서 웹 서비스로 전달되는 요청, 클라이언트의 request
- response ( output) 응답
- 웹 서비스에서 처리된 결과를 웹 어플리케이션으로 반환, 웹 서비스의 response
Service Definition
- Request / Response Format
- Request Structure
- Response Structure
- Endpoint(URL...)
Data exchange 2 formats
- XML
- JSON : 문서의 양이 xml보다 적다.
SOAP 이란 ?
SOAP (Simple Object Access Protocol)
http, https, SMTP(Simple Mail Transfer Protocol) 등을 이용해서 XML 기반의 메세지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜을 말함
- 장점 : 프록시나 방화벽에 구애받지 않고 비교적 쉽게 통신이 가능하다, 플랫폼이나 프로그래밍 언어에 독립적이고 확장가능하다
- 단점 : 다른 미들웨어 기술과 비교해 느리다. 복잡한 구조로 오버헤드가 많았다. 개발하기 어렵고 무겁다 = 느리다
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
RESTful 이란 ?
REST (REpresentational State Transfer)
- Resouce의 Representation에 의한 상태 전달
- HTTP Method를 통해 Resource를 처리하기 위한 아키텍쳐
- HTTP Methods (GET, PUT, POST, DELETE)
- Http Status Codes (200, 404, ...)
RESTful
- REST API를 제공하는 웹 서비스
- API(Application Programming Interface)
- Resource
- URI(Uniform Resource Identifier) : 인터넷 자원을 나타내는 유일한 주소
- XML, JSON, HTML
- Endpoint
- API를 통해 서버가 제공하는 리소스에 접근하기 위해서 제공되는 주소, 즉 같은 URL 이라도 HTTP Method의 쓰임새에 따라 다른 역할을 수행하게 해준다