본문 바로가기
Category/정보처리기사

WSDL (Web Services Description Language)란?

by Corinee 2024. 10. 13.
728x90
반응형

WSDL (Web Services Description Language)웹 서비스의 인터페이스와 사용 방법을 XML 형식으로 기술한 언어입니다. WSDL은 웹 서비스가 제공하는 기능, 호출 방법, 사용되는 메시지 포맷, 전송 프로토콜 등에 대한 정보를 정의하여 웹 서비스와 클라이언트 간의 상호작용을 가능하게 합니다.

WSDL의 주요 목적:

  • 웹 서비스의 명세: 웹 서비스의 기능과 이를 어떻게 호출할 수 있는지에 대한 정보를 제공합니다.
  • 웹 서비스와 클라이언트 간의 통신: 클라이언트는 WSDL 파일을 참조하여, 웹 서비스의 기능을 호출하고 상호작용할 수 있습니다.
  • 표준화된 형식: WSDL은 XML 형식을 사용하여 플랫폼에 독립적이며, 다양한 시스템 간의 상호운용성을 제공합니다.

WSDL의 주요 구성 요소:

  1. types:
    • 웹 서비스에서 사용할 데이터 타입을 정의합니다. 주로 XML Schema (XSD)를 사용해 데이터 구조를 설명합니다.
  2. message:
    • 웹 서비스에서 주고받을 요청(Request)응답(Response) 메시지를 정의합니다. 각 메시지는 여러 개의 파라미터(데이터)를 포함할 수 있습니다.
  3. portType:
    • 웹 서비스의 기능을 정의하는 부분입니다. 여러 개의 operation(함수와 유사한 개념)을 정의하며, 각 operation은 요청 메시지응답 메시지로 구성됩니다.
  4. binding:
    • 웹 서비스가 사용할 프로토콜과 데이터 형식을 정의합니다. 예를 들어, SOAP나 HTTP를 사용할 수 있습니다.
  5. service:
    • 웹 서비스의 물리적 위치(URL)를 정의합니다. 클라이언트가 실제로 웹 서비스에 접근할 수 있는 엔드포인트를 지정합니다.

WSDL의 작동 방식:

  1. 웹 서비스 제공자는 WSDL 파일을 생성하여 웹 서비스의 세부 사항을 기술합니다.
  2. 웹 서비스 사용자(클라이언트)는 이 WSDL 파일을 참조하여, 해당 웹 서비스의 호출 방법, 전달할 파라미터, 반환될 데이터 등을 이해하고, 이를 기반으로 요청을 보냅니다.
  3. 클라이언트와 웹 서비스 간의 통신은 주로 SOAP이나 HTTP 프로토콜을 통해 이루어지며, 데이터는 XML로 교환됩니다.

예시:

<definitions>
  <types>
    <!-- 데이터 타입 정의 -->
  </types>
  
  <message name="GetTemperatureRequest">
    <!-- 요청 메시지 정의 -->
  </message>
  
  <message name="GetTemperatureResponse">
    <!-- 응답 메시지 정의 -->
  </message>
  
  <portType name="WeatherServicePortType">
    <!-- 기능(operation) 정의 -->
    <operation name="GetTemperature">
      <input message="GetTemperatureRequest" />
      <output message="GetTemperatureResponse" />
    </operation>
  </portType>
  
  <binding name="WeatherServiceBinding" type="WeatherServicePortType">
    <!-- SOAP 사용 정의 -->
  </binding>
  
  <service name="WeatherService">
    <!-- 서비스 위치(URL) 정의 -->
    <port name="WeatherServicePort" binding="WeatherServiceBinding">
      <address location="http://example.com/WeatherService" />
    </port>
  </service>
</definitions>

WSDL의 특징:

  • 플랫폼 독립적: 클라이언트와 서버가 서로 다른 운영 체제나 프로그래밍 언어를 사용해도 문제없이 상호작용할 수 있습니다.
  • 표준화: 웹 서비스와 클라이언트 간의 통신을 위한 표준화된 형식을 제공하여 상호운용성을 높입니다.
  • 확장성: 웹 서비스의 복잡한 인터페이스를 명확하게 정의할 수 있어 확장성이 뛰어납니다.

WSDL의 활용 사례:

  • SOAP 웹 서비스: SOAP 기반 웹 서비스에서 WSDL을 사용해 서비스의 인터페이스를 정의하고 호출합니다.
  • 서비스 검색: WSDL 파일은 UDDI(Universal Description, Discovery, and Integration) 같은 레지스트리에서 서비스 제공 정보를 등록하고 검색하는 데 사용됩니다.

따라서, WSDL은 웹 서비스의 구조와 통신 방식을 명확하게 정의하는 XML 기반 언어로, 클라이언트가 서비스에 어떻게 접근하고 호출할 수 있는지를 설명하는 중요한 역할을 합니다.