SOAP
태그 :
- 개념
- - 서로 다른 컴퓨팅 환경에서 사용되는 모든 애플리케이션들이 직접 소통하고 실행될 수 있도록 동적 시스템 환경을 구현해 주는 소프트웨어 컴포넌트 - SOAP(Simple Object Access Protocol), WSDL(Web Service Description Language), UDDI (Universal Description Discovery Intergratioin)등의 표준 기술을 사용
I. 환경을 넘나드는 서비스 제공자, 웹 서비스 개요
가. 웹 서비스의 정의
- 서로 다른 컴퓨팅 환경에서 사용되는 모든 애플리케이션들이 직접 소통하고 실행될 수 있도록 동적 시스템 환경을 구현해 주는 소프트웨어 컴포넌트
- SOAP(Simple Object Access Protocol), WSDL(Web Service Description Language), UDDI (Universal Description Discovery Intergratioin)등의 표준 기술을 사용
나. 웹 서비스 구성도
다. 웹 서비스 구성요소
구성요소 |
설명 |
Service Provider |
특정 서비스 스펙을 구현하여 서비스를 제공 |
Service Broker (Service Registry) |
서비스 등록 및 검색, 저장, 관리를 통해 Service Provider가 제공하는 서비스를 Service Consumer에게 연결 |
Service Consumer (Service Requester) |
Service Broker를 통해 특정 서비스를 찾아서 Service Provider의 서비스를 요청하고 사용 |
II. 웹기반 간단 프로토콜 SOAP(Simple Object Access Protocol)의 개요
가. SOAP의 정의
- XML과 HTTP 통신을 기반으로 하여 네트워크상에 존재하는 각종 컴포넌트간의 호출을 효율적으로 실현하기 위한 방법을 제시하는 규약으로 네트워크상에서 Client와 Service간에 메시지를 요청하고 이에 응답해주는 방법을 제공
나. Why SOAP
- 기존 Remote Procedure Calls의 상호운영성과 보안문제 해결
- Application Layer Protocol의 TCP또는 UDP포트를 사용으로 인한 방화벽제약을 SOAP의 HTTP프로토콜 사용으로 해결
- 특정한 HTTP Header를 방화벽의 필터링 부분에 보냄으로써 메시지의 통과여부를 가릴 수 있게 하는 방법으로 보안문제 해결
다. SOAP 의 특징
특징 |
설명 |
표준공개성 |
W3C의 표준 메시지 포맷으로 다중환경에서 상호운영성 가능 |
유연성 |
XML기반의 확장성으로 표준을 유연하게 통합/운영 가능 |
확장성 |
HTTP 이용으로 인터넷에서 사용가능하며 프록시와 방화벽 제약 극복 |
분산컴퓨팅 |
분산된 환경에서의 원격 프로시져 호출, 데이터전송가능 |
독립성 |
특정 언어, OS,플랫폼, 전송프로토콜에 독립적 |
미들웨어 저용량성 |
텍스트처리 프로세스와 메모리, 웹서버만으로 미들웨어 구성가능 |
III. SOAP(Simple Object Access Protocol)의 구성과 모델
가. SOAP 의 구성
영역 |
설명 |
SOAP envelope |
XML이 SOAP메시지임을 정의하는 최상의 엘리먼트 헤더와 바디를 가짐 |
SOAP Header |
인코딩, 인증, 트랜잭션 등의 헤더정보제공 |
SOAP body |
SOAP을 통해 전송할 데이터로 호출정보와 응답정보 제공 |
SOAP encoding (serialization rule) |
SOAP메시지를 생성시 데이터형을 SOAP 메시지로 표기하는 방법. |
SOAP Attachment |
- SOAP 메시지 안에 하나 이상의 첨부 파일을 보내는 방법. - 보내고 받는 방법에는 GET, 단순타입, 배열, 구조체, 첨부파일 등의 형태 존재 |
나. SOAP 의 서비스 모델
- A와 B간 HTTP를 통해 A에 있는 프로시져를 B가 호출하는 SOAP전송 서비스