반응형

 

XML과 인터넷 프로토콜을 통해 표준화된 방식으로 상호작용하기위한 소프트웨어 시스템을 말한다.

 

웹서비스는 SOAP, WSDL, UDDI 등의 표준기술로 이뤄진다.

따라서, 서로 다른 개발환경과 운영체제에서도 상호 통신을 가능하게 된다.

HTTP를 사용한다는 점에서 CORBA나 DCOM 보다 우위에 있다.

 

 

SOAP (Simple Object Access Protocol) :

XML과 HTTP등을 기본으로 하여 다른 컴퓨터에 있는 데이터나 서비스를 호출하기 위한 통신규약(Protocol)이다.

SOAP을 지원하는 서버가 대중화가 되면서 대부분의 SOAP 서버들을 웹에서 Access가 가능해졌으며 다양한 프로그램언어에서도 쉽게 실행할 수 있게 되었다

 

 

WSDL (Web Service Description Language) :

웹서비스에서 제공하는 기능들(서비스 오퍼레이션에 해당함)을 외부에서 이용할 수 있도록 그 사용방법을 알려주는 인터페이스 언어로 XML 기반으로 작성된다.

즉, 웹서비스 설명서이다.

 

 

WSDL 웹 서비스를 표현하고 기술하는 언어 (서비스 표현)
SOAP 웹 서비스에서 사용되는 보편적이며 확장성 있는 메시지 프로토콜 (데이터 통신 프로토콜)
UDDI 필요한 서비스를 찾을 수 있는 웹 서비스 레지스트리 (서비스 등록, 검색)

 

 

 

 

 

 

SOAP(Simple Object Access Protocol)

SOAP(Simple Object Access Protocol)은 HTTP, HTTPS, SMTP등을 사용하여 XML 기반의 메시지 를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜로써 웹 서비스(Web Service)의 기본적인 메시지 전송 수단 이며 XML-RPC와 WDDX에서 envelope/header/body로 이루어진 구조와 전송(transport)과 상호 중립성(interaction neutrality)의 개념을 도입하였다.
  • SOAP Message 구조
  • SOAP 메시지는 루트 엘리먼트로 Envelope를 가지며, SOAP Header와 Body를 하위 엘리먼트로 가지고 있다. SOAP의 메시지 구조는 XML을 근간으로 Header와 Body를 조합하는 디자인 패턴으로 설계되었고 Body는 필수사항으로 전송될 메시지의 내용을 기술(Header는 선택사항)한다.
  • SOAP 특징
  • 장점
    설명
    1 SOAP은 기본적으로 HTTP 기반 위에서 동작하기 때문에, HTTP와 같이 프록시와 방화벽에 구애받지 않고 쉽게 통신 가능하다.
    2 SOAP는 표준 트랜스포트 프로토콜인 HTTP 이외의 다른 트랜스포트 프로토콜들을 사용할 수 있다.
    3 플랫폼 및 프로그래밍 언어에 독립적이다.
    4 간단하고 확장 가능하며, (멀티파트 MIME 구조를 사용하여) 첨부를 통합하는 SOAP XML 메시지를 지원한다.

    단점
    설명
    1 XML 포맷은 태그 형태로 보내기 때문에 CORBA 같은 미들웨어 기술과 비교해서 상대적으로 느리다. (최근 네트워크 속도의 비약적인 발전과 성능 최적화 기술의 발전으로 대부분 해결됨)

WSDL(Web Services Description Language)

WSDL(Web Services Description Language)이란, 웹 서비스(Web Services)가 제공하는 서비스에 대한 정보를 기술하기 위한 XML 기반의 마크업 언어이다.
즉, 원하는 서비스가 어디(Where)에 존재하며, 웹서비스로 무엇(What)을 할 수 있고, 또 이를 실행하기 위해서는 어떻게(How) 해야 하는가를 XML 형식으로 기술하여 제공하는 웹 서비스(Web Services) 기술 언어이다.
  • WSDL 문서 구조
  • definitions 태그를 루트 엘리먼트로 하여 추상적 정의(types/message/portType)와 구체적 정의(binding/service)로 나뉜다. 추상적 정의와 구체적 정의를 분리하여 기술함으로써, 서로 다른 서비스 구현에 대해 서비스의 추상적 정의를 재사용할 수 있다.

  • WSDL 문서 구조 상세
  • WSDL의 주요 기술 내용에는 웹 서비스의 이름과 URI 정보, SOAP 메시지의 인코딩 방법, SOAP 메시지 전송을 위한 프로토콜 정보, 웹 서비스를 이용하는데 필요한 인터페이스 정보가 있으며 문서 구조 로는 추상적 정의와 구체적 정의를 분리하여 기술함으로써, 서로 다른 서비스 구현에 대해 서비스의 추상적 정의를 재사용할 수 있다. WSDL의 구성요소는 아래와 같다.


    WSDL의 각각의 구성 요소에 대한 설명은 다음과 같다.
    요소
    설명
    <service> Endpoint(실제 웹 서비스로 구현된 어플리케이션)의 물리적 위치를 정의하고 각 바인딩에 대한 포트 주소를 기술한다.
    <port> binding 정보와 address location을 정의한다.(WSDL 2.0에서는 <endpoint>로 변경됨)
    <binding> portType과 네트워크 호출 프로토콜, 어떤 통신 프로토콜을 통해서 통신을 할 것인지를 정의한다.
    <portType> 인터페이스의 메소드들을 정의한다. Interface(WSDL 2.0에서 <interface>로 변경됨)
    <operation> 서비스의 함수에서 사용되는 요청(Request)/ 응답(Response) 메시지 정의
    <message> 서비스가 사용하는 메시지를 정의한다. 메소드의 인자와 리턴 값을 선언한다. (WSDL 2.0에서는 <types>를 통해 XML 스키마 타입을 사용하여 기술)
    <types> 문서에서 사용되고 있는 데이터 타입을 정의한다.

출처 : http://dev.anyframejava.org/anyframe/doc/core/3.1.0/corefw/guide/webservices.html

 

 

반응형

+ Recent posts