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전송 서비스

댓글