WSDL 의공학과 3학년 김 기 흔
WSDL 이란. WSDL(Web Services Description Language)은 웹 서비스 기술언어 또는 기술된 정의 파일의 총칭으로 XML로 기술된다. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다.
WSDL은 특정 비즈니스가 제공하는 서비스를 설명하고, 개인이나 다른 회사들이 그러한 서비스에 전자적으로 접근할 수 있는 방법을 제공하기 위해 사용되는 XML 기반의 언어이다. WSDL은 마이크로소프트, IBM 등에 의해 주도된 UDDI의 기본이라 할 수 있다. 즉, UDDI는 기업들이 자신들의 서비스 내용을 인터넷 상에 스스로 등록할 수 있게 해주는 XML 기반의 등록처이며, WSDL은 그렇게 하기 위한 언어이다. WSDL은 마이크로소프트의 SOAP와 IBM의 NASSL로부터 파생되었지만, 이제 UDDI 등록처에 비즈니스 서비스를 명시하는 수단으로서, NASSL과 SOAP 둘 모두를 대체할 수 있다.
웹서비스란 웹서비스란 XML을 기반으로 하는 공개 표준들을 이용해서 인터넷 기반의 분산 컴퓨팅 환경에서 원격 메소드를 호출하여 사용할 수 있는 재사용 가능한 소프트웨어 컴포넌트를 일컫는다. 웹서비스의 기본 요구사항 어떤 서비스 제공자에 의해서 어디에서 서비스 되고 있는지 검색할 수 있어야 함. 서비스를 검색하고 해당 서비스에 대한 정보를 알게 되었다면, 서비스 요청자가 어떠한 형태의 서비스 요청 메시지를 서비스 제공자에게 보내야 하고, 어떤 결과 메시지를 받아야 할 지에 대한 일련의 프로토콜이 정해져야 한다.
이러한 요구 사항에 대해서 웹 서비스는 3가지 XML 기반의 표준을 가지고 있는데, 바로 SOAP(Simple Object Access Protocol), WSDL(Web Services Description Language), UDDI(Universal Description, Discovery and Integration)이다. SOAP은 웹 서비스 제공자와 웹 서비스 요청자 사이에서 주고받는 메시지의 형식을 정의한 메시지 교환 프로토콜이고, WSDL은 해당 웹 서비스에 대한 상세한 설명을 포함하고 있는 서비스 명세이다. 그리고 UDDI는 웹 서비스를 등록하고, 검색할 수 있는 일종의 웹서비스 레지스터리에 대한 명세이다.
기존 웹과 웹 서비스의 차이 현재까지의 웹은 사용자와 프로그램간의 상호 작용이 주를 이루었으나 에이전트 기술 및 개인화 서비스의 보편화로 인해 프로그램과 프로그램간 자동적인 상호 작용이 많아졌습니다.
웹서비스 프레임워크(기본개념) 1. 웹 서비스 공급자(web service provider)가 서비스를 만들어 WSDL로 정의한 다음 웹 서비스 디렉토리(web service directory)에 게시한다. 2. 이용자(web service client)가 웹 서비스 디렉토리로 질의한다. 이에 대한 응답은 요청된 서비스의 WSDL 기술자를 포함한다. 3. 이용자가 WSDL 기술자의 정보를 사용하여 SOAP메시지를 구성하는 서비스를 호출한다.
일반적으로 웹 서비스 활용을 위해서는 먼저, 웹 서비스를 찾고, 찾았다면 그 이용 방법을 알아 실제로 이용하는 과정을 거칠 것이다. 여기서, 웹 서비스를 찾기 위해 UDDI를, 서비스 이용 방법을 알기 위해 WSDL을, 그리고 실제로 이용하기 위한 객체간의 통신규격으로 SOAP이 사용되고 있다
웹서비스에서의 WSDL사용 UDDI 등을 통해 발견한 웹 서비스를 이용하기 위해서는 해당 서비스를 이용하기 위한 인터페이스 사양을 알아야 하며, 이 사양을 컴퓨터가 이해할 수 있는 형식으로 기술하기 위한 XML 형식 언어가 WSDL이다. 즉, WSDL은 SOAP메시지 집합 및 해당 메시지가 교환되는 방법을 설명하는 XML문서라고 할 수 있다. WSDL은 XML이기 때문에 읽고 편집할 수 있지만, 대부분의 경우에는 소프트웨어에 의해 작성되고 사용된다.
이렇게 XML 스키마 표준을 사용함으로써 다양한 플랫폼과 프로그래밍 언어에서 액세스할 수 있는 웹 서비스 인터페이스를 정의할 수 있다. WSDL은 메시지 컨텐트를 설명할 뿐만 아니라 서비스를 사용할 수 있는 위치 및 서비스와 대화하는 데 사용되는 통신 프로토콜을 정의한다. 즉 WSDL은 XML 웹 서비스와 함께 작동하는 프로그램을 이용하는 데 필요한 모든 사항을 정의한다.
웹 서비스 제공자는 서비스의 이름, 호출 방법, 호출때의 파라미터, 서비스 이용 결과로 얻을 수 있는 정보 등을 정의하며 이는 다음 7가지 요소로 구성된다. (type): 교환되는 메시지를 기술하기 위해 사용하는 데이터 타입 정의 - 메시지(message): 1개 이상의 논리적 파트로 구성된 각각의 데이터 포맷 - 오퍼레이션(operation): 전송방식을 지원하기 위한 입/출력 메시지 참조 정의 - 포트타입(port type): 논리적 오퍼레이션 세트 - 바인딩(binding): 특정 port type으로 정의된 인터페이스의 논리적 모델과 물리적 모델 연결 - 포트(port): 개별 엔드 포인트 주소를 정의 - 서비스(service): port세트를 그룹화 해 서비스 명을 적어 서비스의 구체적 액세스 포인트 정의