모든 콘텐츠 서비스와 비즈니스 컴포넌트를 인터넷 표준 기술을 기반으로 등록, 검색, 호출할 수 있도록 하는 분산 컴포넌트 기반의 애플리케이션 서비스
웹 서비스를 개방형 프로토콜(HTTP, SMTP 등)을 이용해 커뮤니케이션하며, SOAP 프로토콜을 이용해 구성된 XML 메시지를 처리하고, XML 스키마를 사용하여 메시지를 기술하고, WSDL을 이용해 서비스 인터페이스를 기술하며, UDDI를 이용해 등록하고 검색 할 수 있는 소프트웨어 컴포넌트
웹 서비스의 등장 배경
다양한 프로그래밍 언어 및 운영체제로 인한 인터페이스 오버헤드 극복 필요
기업 내, 기업 간, 기업과 고객 간 통합된 서비스의 필요성이 증대
IT 기술(XML, SOAP 등) 발전
웹 서비스의 특징
웹 서비스는 플랫폼에 독립적임
유.무선 디바이스 등을 통해 장소 및 위치에 구애를 받지 않고 시스템에 접근 가능
기업 또는 개인이 요구하는 다양한 기능들에 대해 적절한 서비스 제공자를 찾을 수 있으며, 실시간으로 연계가 가능
분산 시스템 간의 소프트웨어를 통합하여 자동화 함으로써 IT 개발 비용이나 운영의 효율성을 제공할 수 있으므로 비용 절감에 효과적임
주요 표준 기술
XML(eXtensible Markup Language)
W3C의 텍스트 기반 마크업 언어에 대한 표준안으로, HTML과는 다른 식으로 태그를 이용해 각종 표현과 데이터를 나타낼 수 있음
SOAP(Simple Object Access Protocol)
웹 서비스를 요청하고 응답하는데 사용되는 표준 기술
서비스 요청자는 서버의 주소, 객체 이름, 파라미터 만 식별하면 운영체제나 응용 프로그램과 상관없이 웹서비스를 호출이 가능함
WSDL(Web Service Description Language)
웹서비스를 XML로 이용하여 기술하는데 사용되는 표준 언어
서비스 제공자는 웹 서비스를 외부에 노출하기 위해 WSDL로 정의하여 서비스 브로커에게 전달
UDDI(Universal Description, Discovery, and Integration)
웹 서비스를 저장소(Registry)에서 검색하는데 사용되는 표준 기술
웹 서비스의 컴포넌트
기본적인 연산
등록(PUBLISH) : 서비스 제공자는 서비스 중개자(Broker)에게 서비스를 등록
검색(FIND) : 서비스 사용자는 서비스 중개자를 통해 서비스를 검색
연결(BIND) : 검색할 때 서비스 사용자와 서비스 제공자 사이에서 바인딩을 수행
연산 관계도
웹 서비스 프로토콜 스택(Stack)
웹 서비스 프로토콜 스택은 웹 서비스의 정의, 발견, 실행을 위해 사용되는 프로토콜의 집합
핵심 프로토콜 스택은 가장 하부 계층인 전송 계층(Transport Layer)부터 시작하여 표현 계층(Description Layer), 발견 계층(Discovery Layer), 보안 계층(Security Layer), 그리고 가장 상위 계층인 관리 계층(Management Layer)까지 총 5개의 계층으로 구성
전송 계층
네트워크 프로토콜 계층으로, SOAP 메시지는 내부에 웹 서비스를 패키징하여 HTTP, TCP, SMTP 등의 인터넷 프로토콜을 사용해서 전송
표현 계층
웹 서비스를 정의하고 호출하는 방법을 제공하는 계층으로, WSDL과 웹 서비스 정책에 대한 요구사항을 표현하기 위한 프레임워크인 WS-Policy와 웹 서비스 관점에서 비즈니스 프로세스를 기술하는 명세인 BPEL4W(Business Process Execution Language for Web Service)가 존재
발견 계층
서비스 공개를 위한 계층으로, 서비스 제공자가 제공할 서비스를 UDDI Broker에 등록(Publication)하고, 이러한 서비스를 이용할 사용자는 UDDI Broker를 사용하여 원하는 서비스를 발견하기 위한 프로토콜을 정의
보안 계층
보안 계층에는 WS-Federation, WS-Trust, WS-Secure Conversation, WS-Security Policy, 그리고 WS-Security와 같은 관련 표준 프로토콜이 있음
관리 계층
분산 환경에서 웹 서비스의 관리에 관한 모델을 정의한 계층으로, 관련 표준으로는 WS-Manageability가 있으며, 현재 OASIS에서 WSDM(Web Service Distribute Management)으로 표준화 작업